This commit is contained in:
suyl
2021-06-03 16:37:31 +08:00
parent 384aa5500a
commit f4aab63317

View File

@@ -161,7 +161,6 @@ func RegisterUserWithMobile(ctx *jxcontext.Context, user *model.User, mobileVeri
user.Type = model.UserTypeConsumer | model.UserTypeStoreBoss // 先不区分商户与消息者
createName := ctx.GetRealRemoteIP()
authType := auth2.AuthTypeMobile
mobile := &alipayapi.KeyMobile{}
if manTokenInfo != nil && mobileVerifyCode == "" {
manUser, err2 := dao.GetUserByID(dao.GetDB(), "user_id", manTokenInfo.GetID())
if err = err2; err != nil {
@@ -218,21 +217,6 @@ func RegisterUserWithMobile(ctx *jxcontext.Context, user *model.User, mobileVeri
user.Avatar = inAuthInfo.GetAvatar()
}
}
//支付宝注册电话需要解密
if user.GetMobile() != "" && user.GetName() != "" && user.GetID2() != "" {
if user.LastLoginType != "" && user.LastLoginType == alipay.AuthType {
data, _ := base64.StdEncoding.DecodeString(user.GetMobile())
key, _ := base64.StdEncoding.DecodeString(alipay.AuthKey)
iv := []byte{}
iv = append(iv, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
if result, err := utils.AESCBCDecpryt(data, key, iv); err == nil && result != nil {
json.Unmarshal(result, &mobile)
}
user.Mobile = &mobile.Mobile
user.UserID2 = mobile.Mobile
user.Name = mobile.Mobile
}
}
if err = CreateUser(user, utils.LimitUTF8StringLen(createName, 32)); err == nil {
userProvider.UpdateLastLogin(user.GetID(), authType, ctx.GetRealRemoteIP())
TryAddStoreBossRole4User(ctx, user)
@@ -245,11 +229,16 @@ func RegisterUserWithMobile(ctx *jxcontext.Context, user *model.User, mobileVeri
}
} else if dao.IsDuplicateError(err) {
if user.LastLoginType != "" && user.LastLoginType == alipay.AuthType {
if user2, _ := dao.GetUserByID(dao.GetDB(), "mobile", user.GetMobile()); user2 != nil {
user.UserID = user2.GetID()
outAuthInfo, err = auth2.BindUser(inAuthInfo, user)
err = nil
} else {
err = auth2.ErrUserID2AlreadyExist
}
} else {
err = auth2.ErrUserID2AlreadyExist
}
}
return outAuthInfo, err
}
@@ -422,7 +411,22 @@ func CreateUser(user *model.User, creatorName string) (err error) {
if user.GetEmail() == "" {
user.Email = nil
}
//支付宝注册电话需要解密
if user.GetMobile() != "" && user.GetName() != "" && user.GetID2() != "" {
if user.LastLoginType != "" && user.LastLoginType == alipay.AuthType {
mobile := &alipayapi.KeyMobile{}
data, _ := base64.StdEncoding.DecodeString(user.GetMobile())
key, _ := base64.StdEncoding.DecodeString(alipay.AuthKey)
iv := []byte{}
iv = append(iv, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
if result, err := utils.AESCBCDecpryt(data, key, iv); err == nil && result != nil {
json.Unmarshal(result, &mobile)
}
user.Mobile = &mobile.Mobile
user.UserID2 = mobile.Mobile
user.Name = mobile.Mobile
}
}
dao.WrapAddIDCULDEntity(user, creatorName)
user.UserID = utils.GetUUID()
user.Status = model.UserStatusNormal