This commit is contained in:
shaoyongjun 2024-10-08 00:08:51 +08:00
parent 20faef5bd4
commit 1341dad9b4
2 changed files with 44 additions and 23 deletions

View File

@ -2,11 +2,10 @@ package convert
import ( import (
"mylomen_server/common/dto" "mylomen_server/common/dto"
"mylomen_server/common/utils"
"mylomen_server/infrastructure/repository" "mylomen_server/infrastructure/repository"
) )
func UserReq2DO(req dto.RegisterReq) repository.UserDO { func UserReq2DO(req dto.LoginReq) repository.UserDO {
data := repository.UserDO{} data := repository.UserDO{}
data.Account = req.Account data.Account = req.Account
data.GoogleId = req.GoogleId data.GoogleId = req.GoogleId
@ -16,16 +15,6 @@ func UserReq2DO(req dto.RegisterReq) repository.UserDO {
data.Phone = req.Phone data.Phone = req.Phone
data.Email = req.Email data.Email = req.Email
data.NickName = req.NickName
if data.NickName == nil {
data.NickName = utils.ToPtr("default")
}
//todo 默认头像
data.Avatar = req.Avatar
if data.Avatar == nil {
data.Avatar = utils.ToPtr("default")
}
return data return data
} }

View File

@ -37,12 +37,20 @@ func (l user) Register(ctx context.Context, req dto.RegisterReq) error {
} }
//fill data //fill data
userDO := convert.UserReq2DO(req) userDO := convert.UserReq2DO(req.LoginReq)
userDO.Sn = utils.GetTrueRandomCode(8) userDO.Sn = utils.GetTrueRandomCode(8)
userDO.Deleted = false userDO.Deleted = false
userDO.UpdateTime = time.Now() userDO.UpdateTime = time.Now()
userDO.NickName = req.NickName userDO.NickName = req.NickName
if userDO.NickName == nil {
userDO.NickName = utils.ToPtr("default")
}
//todo 默认头像
userDO.Avatar = req.Avatar userDO.Avatar = req.Avatar
if userDO.Avatar == nil {
userDO.Avatar = utils.ToPtr("default")
}
//密码加密 //密码加密
h := sha256.Sum256([]byte(req.Password)) h := sha256.Sum256([]byte(req.Password))
@ -58,9 +66,32 @@ func (l user) Login(ctx context.Context, req dto.LoginReq) (*dto.UserVO, error)
//1. 查询用户 //1. 查询用户
acUser := repository.GUser.FindByReq(ctx, req) acUser := repository.GUser.FindByReq(ctx, req)
if acUser == nil || acUser.Deleted == true { if acUser == nil || acUser.Deleted == true {
return nil, errors.New("user not exist") //fill data
userDO := convert.UserReq2DO(req)
userDO.Sn = utils.GetTrueRandomCode(8)
userDO.Deleted = false
userDO.UpdateTime = time.Now()
userDO.NickName = utils.ToPtr("default")
//todo 默认头像
userDO.Avatar = utils.ToPtr("default")
//密码加密
h := sha256.Sum256([]byte(req.Password))
passHash := hex.EncodeToString(h[:])
userDO.Pwd = &passHash
err := repository.GUser.Create(ctx, &userDO)
if err != nil {
return nil, errors.New("user Register err")
} }
//再次查询
acUser = repository.GUser.FindByReq(ctx, req)
if acUser == nil || acUser.Deleted == true {
return nil, errors.New("user Register err2")
}
} else {
//2. email 和 手机号登录 和account 需要验证密码。其他情况不需要验证密码 //2. email 和 手机号登录 和account 需要验证密码。其他情况不需要验证密码
if req.Account != nil || req.Email != nil || req.Phone != nil { if req.Account != nil || req.Email != nil || req.Phone != nil {
if acUser.Pwd == nil { if acUser.Pwd == nil {
@ -73,6 +104,7 @@ func (l user) Login(ctx context.Context, req dto.LoginReq) (*dto.UserVO, error)
return nil, errors.New("password is error") return nil, errors.New("password is error")
} }
} }
}
//3. 组装数据 //3. 组装数据
result := convert.UserDO2VO(*acUser) result := convert.UserDO2VO(*acUser)