package accountlogic import ( "context" "code.30cm.net/digimon/library-go/errs" "code.30cm.net/digimon/app-cloudep-member-server/gen_result/pb/member" "code.30cm.net/digimon/app-cloudep-member-server/internal/svc" "github.com/zeromicro/go-zero/core/logx" ) type BindVerifyEmailLogic struct { ctx context.Context svcCtx *svc.ServiceContext logx.Logger } func NewBindVerifyEmailLogic(ctx context.Context, svcCtx *svc.ServiceContext) *BindVerifyEmailLogic { return &BindVerifyEmailLogic{ ctx: ctx, svcCtx: svcCtx, Logger: logx.WithContext(ctx), } } type bindEmailVerifyReq struct { UID string `validate:"required"` // 唯一辨識碼 Email string `validate:"required"` // 唯一辨識碼 } // BindVerifyEmail 綁定 Email func (l *BindVerifyEmailLogic) BindVerifyEmail(in *member.BindVerifyEmailReq) (*member.OKResp, error) { if err := l.svcCtx.Validate.ValidateAll(&bindEmailVerifyReq{ UID: in.GetUid(), Email: in.GetEmail(), }); err != nil { return nil, errs.InvalidFormat(err.Error()) } err := l.svcCtx.AccountUseCase.BindVerifyEmail(l.ctx, in.GetUid(), in.GetEmail()) if err != nil { return nil, err } return &member.OKResp{}, nil }