|
@@ -23,10 +23,10 @@ func BindUser(unionId, openId, phone, email, areaCode string) (userItem *models.
|
|
|
if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
return
|
|
|
}
|
|
|
- var userId int64
|
|
|
+ var userId int
|
|
|
curTime := time.Now()
|
|
|
if userItem != nil {
|
|
|
- userId = int64(userItem.UserId)
|
|
|
+ userId = userItem.UserId
|
|
|
if userItem.Phone != "" && userItem.Phone != phone {
|
|
|
errMsg = "该手机号已绑定其他微信号"
|
|
|
return
|
|
@@ -40,7 +40,6 @@ func BindUser(unionId, openId, phone, email, areaCode string) (userItem *models.
|
|
|
UserId: userItem.UserId,
|
|
|
Phone: phone,
|
|
|
AreaCode: areaCode,
|
|
|
- Status: utils.UserStatusPotential,
|
|
|
RegisterTime: curTime,
|
|
|
ModifyTime: curTime,
|
|
|
}
|
|
@@ -78,7 +77,7 @@ func BindUser(unionId, openId, phone, email, areaCode string) (userItem *models.
|
|
|
emailUser = tmpUser
|
|
|
}
|
|
|
// 理论上来说不会同时出现手机号和邮箱同时存在的情况
|
|
|
- if phoneUser.UserId != emailUser.UserId {
|
|
|
+ if phoneUser != nil && emailUser != nil && phoneUser.UserId != emailUser.UserId {
|
|
|
errMsg = "该手机号和邮箱已绑定其他微信号"
|
|
|
err = errors.New("该手机号和邮箱已绑定其他微信号")
|
|
|
return
|
|
@@ -89,7 +88,6 @@ func BindUser(unionId, openId, phone, email, areaCode string) (userItem *models.
|
|
|
if emailUser != nil {
|
|
|
userItem = emailUser
|
|
|
}
|
|
|
- var userId int
|
|
|
//如果查询出来的用户是nil,那么需要新增用户
|
|
|
if userItem == nil {
|
|
|
key := utils.CACHE_ACCESS_WX_BIND + phone + ":" + email
|
|
@@ -103,6 +101,7 @@ func BindUser(unionId, openId, phone, email, areaCode string) (userItem *models.
|
|
|
Phone: phone,
|
|
|
AreaCode: areaCode,
|
|
|
Email: email,
|
|
|
+ Status: utils.UserStatusPotential,
|
|
|
OpenId: openId,
|
|
|
UnionId: unionId,
|
|
|
}
|
|
@@ -117,13 +116,20 @@ func BindUser(unionId, openId, phone, email, areaCode string) (userItem *models.
|
|
|
userId = int(tmpUserId)
|
|
|
userItem, err = models.GetUserById(userId)
|
|
|
} else {
|
|
|
+ userItem.OpenId = openId
|
|
|
+ userItem.UnionId = unionId
|
|
|
+ err = userItem.Update([]string{"open_id", "union_id"})
|
|
|
+ if err != nil {
|
|
|
+ errMsg = "用户绑定失败"
|
|
|
+ return
|
|
|
+ }
|
|
|
userId = userItem.UserId
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//如果该用户 绑定注册状态 字段处于 未注册 的情况下,那么去修改该数据
|
|
|
if !userItem.IsRegistered {
|
|
|
- err = models.ModifyUserRegisterStatus(int(userId), true, curTime, curTime)
|
|
|
+ err = models.ModifyUserRegisterStatus(userId, true, curTime, curTime)
|
|
|
if err != nil {
|
|
|
return
|
|
|
}
|