abiao 5 роки тому
батько
коміт
ea1f9f402c

+ 3 - 1
go/gopath/src/fohow.com/apps/controllers/cron_controller/init.go

@@ -75,7 +75,9 @@ func exec(name string) {
 		updateSoldCount()
 	case "comb_user_relation": //梳理内部推荐关系
 		combUserRelation()
-	case "comb_three_user": //梳理三位关系
+	case "comb_three_user_rank": //更新排名
+		threebUserRank()
+	case "comb_three_user": //更新内部关系
 		threebUserRelation()
 	case "register_wxuser": //修复数据--注册会员
 		registerWxUser()

+ 42 - 14
go/gopath/src/fohow.com/apps/controllers/cron_controller/three_user_relation.go

@@ -31,21 +31,24 @@ func threebUserRelation() {
 	//time.Sleep(time.Duration(300) * time.Second)
 }
 
+//更新排名
+func threebUserRank() {
+	wxUserId := int64(1)
+	//更改下级群主关系
+	inviteList := user_model.GetThreeWxUsersByInviteIdAll(wxUserId)
+	UpdateClassThreeRank(inviteList)
+}
+
+//三位会员内部关系
+func threebUserInner() {
+	wxUserId := int64(1)
+	innerNo := "M"
+	//更改下级群主关系
+	inviteList := user_model.GetThreeWxUsersByInviteIdAll(wxUserId)
+	UpdateClassThreeInner(inviteList, innerNo, wxUserId)
+}
+
 func UpdateClassThreeInner(list []*user_model.ThreeWxUser, innerNo string, inviteId int64) {
-	inviteRank := int64(0)
-	//更新每个会员的 invite_rank
-	for _, item := range list {
-		threeWxUser := user_model.GetThreeWxUserById(item.Id, false)
-		if threeWxUser != nil {
-			threeWxUser.InviteRank = inviteRank
-			err := threeWxUser.UpdateField("InviteRank")
-			if err != nil {
-				beego.BeeLogger.Error("UpdateClassThreeInner rank err=[%s]", err)
-				return
-			}
-			inviteRank++
-		}
-	}
 
 	//更新会员内部编号
 	inviteList := user_model.GetThreeWxUsersByInviteIdAll(inviteId)
@@ -77,3 +80,28 @@ func UpdateClassThreeInner(list []*user_model.ThreeWxUser, innerNo string, invit
 		}
 	}
 }
+
+func UpdateClassThreeRank(list []*user_model.ThreeWxUser) {
+	inviteRank := int64(0)
+	//更新每个会员的 invite_rank
+	for _, item := range list {
+		threeWxUser := user_model.GetThreeWxUserById(item.Id, false)
+		if threeWxUser != nil {
+			threeWxUser.InviteRank = inviteRank
+			err := threeWxUser.UpdateField("InviteRank")
+			if err != nil {
+				beego.BeeLogger.Error("UpdateClassThreeInner rank err=[%s]", err)
+				return
+			}
+			inviteRank++
+		}
+	}
+
+	//递归更新
+	for _, item := range list {
+		if item != nil {
+			secondList := user_model.GetThreeWxUsersByInviteIdAll(item.Id)
+			UpdateClassThreeRank(secondList)
+		}
+	}
+}