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

perf:调用用户中台新增用户方法优化

zhangxinlei1996 2 жил өмнө
parent
commit
2ce796129d

+ 19 - 11
common/src/qfw/util/jy/userCenter.go

@@ -8,20 +8,28 @@ import (
 
 //获取base-user相关参数
 func AddUser(mgo mongodb.MongodbSim, userid string, req pb.UserAddReq, middleground middleground.Middleground) bool {
-	if resp := middleground.UserCenter.UserAdd(req); resp != nil {
-		//获取到baseid
+	retry := 3 // 设置重试次数
+	for i := 0; i < retry; i++ {
+		resp := middleground.UserCenter.UserAdd(req)
+		if resp == nil || resp.Data.Status != 1 {
+			continue // 如果调用失败或返回结果不是成功,则进行重试
+		}
+		// 获取到baseid
 		baseId := resp.Data.Id
-		if baseId > 0 {
-			//user表记录映射关系
-			ok := mgo.UpdateById("user", userid, map[string]interface{}{
-				"$set": map[string]interface{}{
-					"base_user_id": baseId,
-				},
-			})
-			return resp.Data.Status == 1 && ok
+		if baseId <= 0 {
+			continue // 如果获取到的baseid不合法,则进行重试
+		}
+		// user表记录映射关系
+		ok := mgo.UpdateById("user", userid, map[string]interface{}{
+			"$set": map[string]interface{}{
+				"base_user_id": baseId,
+			},
+		})
+		if ok {
+			return true // 如果MongoDB更新成功,则返回true
 		}
 	}
-	return false
+	return false // 如果重试多次后仍然失败,则返回false
 }
 
 //修改base-user相关参数