// Code scaffolded by goctl. Safe to edit. // goctl 1.9.2 package user import ( "context" "errors" "juwan-backend/app/users/api/internal/contextx" "juwan-backend/app/users/rpc/usercenter" "juwan-backend/common/utils" "juwan-backend/app/users/api/internal/svc" "juwan-backend/app/users/api/internal/types" "github.com/zeromicro/go-zero/core/logx" ) type UpdatePasswordByVcodeLogic struct { logx.Logger ctx context.Context svcCtx *svc.ServiceContext } // 修改密码-使用验证码 func NewUpdatePasswordByVcodeLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UpdatePasswordByVcodeLogic { return &UpdatePasswordByVcodeLogic{ Logger: logx.WithContext(ctx), ctx: ctx, svcCtx: svcCtx, } } func (l *UpdatePasswordByVcodeLogic) UpdatePasswordByVcode(req *types.ResetPasswordByVcode) (resp *types.EmptyResp, err error) { // todo: add your logic here and delete this line requestId, err := contextx.RequestIdFrom(l.ctx) if err != nil { logx.Errorf("get request id from context failed, err:%v.", err) return nil, errors.New("bad request") } hashedPassword, err := utils.HashPassword(req.Password) if err != nil { logx.Errorf("hash password failed, err:%v.", err) return nil, errors.New("bad password") } _, err = l.svcCtx.UserRpc.ResetPassword(l.ctx, &usercenter.ResetPasswordReq{ NewPassword: hashedPassword, Email: req.Email, RequestId: requestId, Vcode: req.Vcode, }) if err != nil { logx.Errorf("reset password failed, err:%v.", err) return nil, errors.New("reset password failed") } return }