64 lines
1.7 KiB
Go
64 lines
1.7 KiB
Go
package user
|
|
|
|
import (
|
|
"context"
|
|
"mingyang-admin-app-rpc/types/app"
|
|
|
|
"mingyang-admin-app-api/internal/svc"
|
|
"mingyang-admin-app-api/internal/types"
|
|
|
|
"github.com/zeromicro/go-zero/core/logx"
|
|
)
|
|
|
|
type RegisterLogic struct {
|
|
logx.Logger
|
|
ctx context.Context
|
|
svcCtx *svc.ServiceContext
|
|
}
|
|
|
|
func NewRegisterLogic(ctx context.Context, svcCtx *svc.ServiceContext) *RegisterLogic {
|
|
return &RegisterLogic{
|
|
Logger: logx.WithContext(ctx),
|
|
ctx: ctx,
|
|
svcCtx: svcCtx,
|
|
}
|
|
}
|
|
|
|
func (l *RegisterLogic) Register(req *types.RegisterReq) (resp *types.RegisterResp, err error) {
|
|
user, err := l.svcCtx.AppRpc.RegisterUser(l.ctx, &app.RegisterUserRequest{
|
|
Email: &req.Value,
|
|
Password: req.PasswordHash,
|
|
Username: &req.Value,
|
|
NickName: &req.NickName,
|
|
Mobile: &req.Value,
|
|
Captcha: &req.Captcha,
|
|
VerificationType: req.VerificationType,
|
|
Gender: req.Gender,
|
|
RegistrationSource: req.RegisterSource,
|
|
})
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
getUser := user.GetUser()
|
|
token := user.GetAuthToken()
|
|
return &types.RegisterResp{
|
|
User: &types.UserInfo{
|
|
Id: getUser.GetId(),
|
|
Username: getUser.GetUsername(),
|
|
Mobile: getUser.Mobile,
|
|
NickName: getUser.GetNickname(),
|
|
Gender: getUser.Gender,
|
|
Avatar: getUser.GetAvatar(),
|
|
Birthday: getUser.GetBirthdayAt(),
|
|
Email: getUser.Email,
|
|
},
|
|
AuthToken: &types.AuthToken{
|
|
AccessToken: token.GetAccessToken(),
|
|
RefreshToken: token.GetRefreshToken(),
|
|
TokenType: token.GetTokenType(),
|
|
AccessTokenExpires: token.AccessTokenExpires.Seconds,
|
|
RefreshTokenExpires: token.RefreshTokenExpires.Seconds,
|
|
},
|
|
}, nil
|
|
}
|