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 BindVerifyPhoneLogic struct { ctx context.Context svcCtx *svc.ServiceContext logx.Logger } func NewBindVerifyPhoneLogic(ctx context.Context, svcCtx *svc.ServiceContext) *BindVerifyPhoneLogic { return &BindVerifyPhoneLogic{ ctx: ctx, svcCtx: svcCtx, Logger: logx.WithContext(ctx), } } type bindPhoneVerifyReq struct { UID string `validate:"required"` // 唯一辨識碼 Phone string `validate:"required"` // 唯一辨識碼 } // BindVerifyPhone 綁定 Phone func (l *BindVerifyPhoneLogic) BindVerifyPhone(in *member.BindVerifyPhoneReq) (*member.OKResp, error) { if err := l.svcCtx.Validate.ValidateAll(&bindPhoneVerifyReq{ UID: in.GetUid(), Phone: in.GetPhone(), }); err != nil { return nil, errs.InvalidFormat(err.Error()) } err := l.svcCtx.AccountUseCase.BindVerifyPhone(l.ctx, in.GetUid(), in.GetPhone()) if err != nil { return nil, err } return &member.OKResp{}, nil }