添加门店管理员获取信息接口、调整微信登录账号生成逻辑
This commit is contained in:
@ -11,7 +11,9 @@ import (
|
||||
"server/internal/model/do"
|
||||
"server/internal/model/entity"
|
||||
"server/internal/service"
|
||||
"server/utility"
|
||||
"server/utility/ecode"
|
||||
"server/utility/encrypt"
|
||||
"server/utility/gamelife"
|
||||
"server/utility/jwt"
|
||||
|
||||
@ -63,10 +65,34 @@ func (s *sUser) Login(ctx context.Context, in *model.UserLoginIn) (out *model.Us
|
||||
var userId int64
|
||||
if !exist {
|
||||
// 用户不存在,创建新用户
|
||||
// 生成 username: qy_ + 8位随机字母数字
|
||||
var username string
|
||||
for {
|
||||
randomStr := grand.Str("abcdefghijklmnopqrstuvwxyz0123456789", 8)
|
||||
username = "qy_" + randomStr
|
||||
// 检查 username 是否唯一
|
||||
count, err := dao.Users.Ctx(ctx).Where(do.Users{Username: username}).Count()
|
||||
if err != nil {
|
||||
return nil, ecode.Fail.Sub("检查用户名失败")
|
||||
}
|
||||
if count == 0 {
|
||||
break // username 唯一,退出循环
|
||||
}
|
||||
}
|
||||
password, err := encrypt.EncryptPassword(consts.DefaultPassword)
|
||||
if err != nil {
|
||||
return nil, ecode.Fail.Sub("加密密码失败")
|
||||
}
|
||||
user := &entity.Users{
|
||||
WxOpenId: in.OpenId,
|
||||
Username: grand.Digits(10),
|
||||
Username: username,
|
||||
Nickname: username,
|
||||
PasswordHash: password,
|
||||
Avatar: "adssssssssssssss", // FIXME 后续替换成默认头像的 oss 链接
|
||||
FirstVisitAt: gtime.Now(),
|
||||
LastLoginAt: gtime.Now(),
|
||||
WxPopenId: utility.GenerateUserID("WX"),
|
||||
QqPopenId: utility.GenerateUserID("QQ"),
|
||||
}
|
||||
result, err := dao.Users.Ctx(ctx).Insert(user)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user