Files
likedream/internal/controller/cpdaily/cpuser_ctrlV1.go
T
2026-03-24 22:13:02 +08:00

114 lines
4.1 KiB
Go

package cpdaily
import (
"context"
v1 "likedream-goframe/internal/api/v1"
"likedream-goframe/internal/ent"
"likedream-goframe/internal/framework/captcha"
"likedream-goframe/internal/framework/redis"
"likedream-goframe/internal/service"
"likedream-goframe/internal/utils"
"github.com/bytedance/sonic"
)
type CpUserCtrlV1 struct {
}
func NewCpUserCtrlV1() ICpUserCtrlV1 {
return &CpUserCtrlV1{}
}
func (c CpUserCtrlV1) LoginUrl(ctx context.Context, req *v1.CpUserLoginUrlReq) (res *utils.Response[any], err error) {
defer utils.Pass(&err)
return service.Global.CpUser.LoginUrl(ctx, req), nil
}
func (c CpUserCtrlV1) Add(ctx context.Context, req *v1.CpUserAddReq) (res *utils.Response[any], err error) {
defer utils.Pass(&err)
return service.Global.CpUser.Add(ctx, req), nil
}
func (c CpUserCtrlV1) ConfirmAdd(ctx context.Context, req *v1.CpUserConfirmAddReq) (res *utils.Response[any], err error) {
defer utils.Pass(&err)
return service.Global.CpUser.ConfirmAdd(ctx, req), nil
}
func (c CpUserCtrlV1) List(ctx context.Context, req *v1.CpUserListReq) (res *utils.Response[[]*ent.CpUser], err error) {
defer utils.Pass(&err)
return service.Global.CpUser.List(ctx, req), nil
}
func (c CpUserCtrlV1) Delete(ctx context.Context, req *v1.CpUserDeleteReq) (res *utils.Response[any], err error) {
defer utils.Pass(&err)
return service.Global.CpUser.Delete(ctx, req), nil
}
func (c CpUserCtrlV1) UpdatePassword(ctx context.Context, req *v1.CpUserUpdatePasswordReq) (res *utils.Response[any], err error) {
defer utils.Pass(&err)
return service.Global.CpUser.UpdatePassword(ctx, req), nil
}
func (c CpUserCtrlV1) SchoolList(ctx context.Context, req *v1.CpSchoolListReq) (res *utils.Response[[]*ent.CpSchool], err error) {
defer utils.Pass(&err)
return service.Global.CpUser.SchoolList(ctx, req), nil
}
func (c CpUserCtrlV1) AuthorizeDevice(ctx context.Context, req *v1.CpUserAuthorizeDeviceReq) (res *utils.Response[any], err error) {
defer utils.Pass(&err)
return service.Global.CpUser.AuthorizeDevice(ctx, req), nil
}
func (c CpUserCtrlV1) AuthorizeDeviceSuccess(ctx context.Context, req *v1.CpUserAuthorizeSuccessReq) (res *utils.Response[any], err error) {
defer utils.Pass(&err)
return service.Global.CpUser.AuthorizeDeviceSuccess(ctx, req), nil
}
func (c CpUserCtrlV1) AuthorizeConfirm(ctx context.Context, req *v1.CpUserAuthorizeConfirmReq) (res *utils.Response[any], err error) {
defer utils.Pass(&err)
return service.Global.CpUser.AuthorizeConfirm(ctx, req), nil
}
func (c CpUserCtrlV1) CustomDevice(ctx context.Context, req *v1.CpUserCustomDeviceReq) (res *utils.Response[any], err error) {
defer utils.Pass(&err)
return service.Global.CpUser.CustomDevice(ctx, req), nil
}
func (c CpUserCtrlV1) LoginGetCode(ctx context.Context, req *v1.LoginGetCode) (res *utils.Response[any], err error) {
defer utils.Pass(&err)
client := redis.GetClient()
dotsStr := client.GetDel(ctx, req.CaptchaKey).Val()
if dotsStr == "" {
return utils.Fail(10003, "验证码错误"), nil
}
var dots captcha.ConfirmData
err = sonic.Unmarshal([]byte(dotsStr), &dots)
utils.OkOrPanic(err)
if !captcha.VerifyCaptcha(dots, req.Dots) {
return utils.Fail(10003, "验证码错误"), nil
}
return service.Global.CpUser.LoginGetCode(ctx, req), nil
}
func (c CpUserCtrlV1) AddByCode(ctx context.Context, req *v1.AddByCode) (res *utils.Response[any], err error) {
defer utils.Pass(&err)
client := redis.GetClient()
dotsStr := client.GetDel(ctx, req.CaptchaKey).Val()
if dotsStr == "" {
return utils.Fail(10003, "验证码错误"), nil
}
var dots captcha.ConfirmData
err = sonic.Unmarshal([]byte(dotsStr), &dots)
utils.OkOrPanic(err)
if !captcha.VerifyCaptcha(dots, req.Dots) {
return utils.Fail(10003, "验证码错误"), nil
}
return service.Global.CpUser.AddByCode(ctx, req), nil
}
func (c CpUserCtrlV1) GenerateQr(ctx context.Context, req *v1.CpUserGenerateQrReq) (res *utils.Response[any], err error) {
defer utils.Pass(&err)
return service.Global.CpUser.GenerateQr(ctx, req), nil
}
func (c CpUserCtrlV1) CheckQr(ctx context.Context, req *v1.CpUserCheckQrReq) (res *utils.Response[any], err error) {
defer utils.Pass(&err)
return service.Global.CpUser.CheckQr(ctx, req), nil
}