Эх сурвалжийг харах

fix:绑定账号时,同步更改所有union_id相关的未绑定用户的user_recode记录

Roc 2 жил өмнө
parent
commit
ee804181fd

+ 8 - 0
models/tables/user_record/update.go

@@ -55,3 +55,11 @@ func UnBindUserRecordByUnionId(unionId string, platform int) (err error) {
 	}).Error
 	return
 }
+
+// ModifyUserIdByUnionId 根据unionId更改user_id
+func ModifyUserIdByUnionId(unionId string, userId int) (err error) {
+	err = global.DEFAULT_MYSQL.Model(UserRecord{}).Select("UserID", "BindAccount").Where("union_id = ? AND user_id = 0", unionId).Updates(UserRecord{
+		UserID: userId,
+	}).Error
+	return
+}

+ 7 - 0
services/user/user_bind.go

@@ -249,6 +249,13 @@ func bindWxUser(openid, mobile, email string, areaNum, registerPlatform int) (us
 		}
 	}
 
+	if userRecord.UnionID != `` {
+		tmpErr := user_record.ModifyUserIdByUnionId(userRecord.UnionID, userRecord.UserID)
+		if tmpErr != nil {
+			global.LOG.Info("通过用户unionId修改所有未绑定用户的id失败,Err:" + err.Error())
+		}
+	}
+
 	//格式化用户数据
 	userInfo = formatWxUserAndUserRecord(wxUser, userRecord)
 	return