Browse Source

如果当前该第三方用户信息的昵称为空串的话,那么需要去查询该用户的第一个绑定信息的数据作为来源做数据修复

Roc 4 years ago
parent
commit
8390c13b23
2 changed files with 19 additions and 0 deletions
  1. 7 0
      models/user_record.go
  2. 12 0
      services/user.go

+ 7 - 0
models/user_record.go

@@ -83,3 +83,10 @@ func GetUserRecordByMobile(platform int, bindAccount string) (item *UserRecord,
 	err = orm.NewOrm().Raw(sql, platform, bindAccount).QueryRow(&item)
 	return
 }
+
+//获取该用户第一个的 三方信息(微信头像信息)
+func GetUserThirdRecordByUserId(userId int)  (item *UserRecord, err error) {
+	sql := `SELECT * FROM user_record WHERE user_id = ? order by user_record_id asc`
+	err = orm.NewOrm().Raw(sql, userId).QueryRow(&item)
+	return
+}

+ 12 - 0
services/user.go

@@ -218,6 +218,18 @@ func BindWxUser(openid, mobile, email string) (wxUser *models.WxUserItem, err er
 		return
 	}
 	userRecord.UserId = userId
+
+	//如果当前该第三方用户信息的昵称为空串的话,那么需要去查询该用户的第一个绑定信息的数据作为来源做数据修复
+	if userRecord.NickName == ""{
+		oldUserRecord, err := models.GetUserThirdRecordByUserId(userId)
+		if err == nil && oldUserRecord != nil{
+			//如果该用户绑定的第一条数据的头像信息不为空串,那么就去做新数据的修复
+			if oldUserRecord.NickName != ""{
+				_ = models.ModifyUserRecordByDetail(userRecord.OpenId, userRecord.UnionId, oldUserRecord.NickName, oldUserRecord.Headimgurl, oldUserRecord.City, oldUserRecord.Province, oldUserRecord.Country, oldUserRecord.Sex, userId)
+			}
+		}
+	}
+
 	//格式化用户数据
 	formatWxUserAndUserRecord(wxUser, userRecord)
 	return