Explorar el Código

fix wx_user inner_no

abiao hace 5 años
padre
commit
0385301ca2

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

@@ -26,7 +26,7 @@ func threebUserRelation() {
 	wxUserId := int64(1)
 	innerNo := "M"
 	//更改下级群主关系
-	inviteList := user_model.GetThreeWxUsersByInviteIdAll(wxUserId, false)
+	inviteList := user_model.GetThreeWxUsersByInviteIdAll(wxUserId)
 	UpdateClassThreeInner(inviteList, innerNo, wxUserId)
 	//time.Sleep(time.Duration(300) * time.Second)
 }
@@ -48,11 +48,11 @@ func UpdateClassThreeInner(list []*user_model.ThreeWxUser, innerNo string, invit
 	}
 
 	//更新会员内部编号
-	/*for _, item := range list {
+	inviteList := user_model.GetThreeWxUsersByInviteIdAll(inviteId)
+	for _, item := range inviteList {
 		threeWxUser := user_model.GetThreeWxUserById(item.Id, true)
-
 		if threeWxUser != nil {
-			newArea, introArea := user_model.NewAvailableIntroArea(inviteId, item.InviteRank)
+			newArea, introArea := user_model.NewAvailableIntroArea(item.InviteRank)
 			introInnerNo := innerNo + newArea
 			threeWxUser.IntroArea = introArea
 			threeWxUser.IntroInnerNo = introInnerNo
@@ -67,12 +67,12 @@ func UpdateClassThreeInner(list []*user_model.ThreeWxUser, innerNo string, invit
 				return
 			}
 		}
-	}*/
+	}
 
 	//递归更新
 	for _, item := range list {
 		if item != nil {
-			secondList := user_model.GetThreeWxUsersByInviteIdAll(item.Id, true)
+			secondList := user_model.GetThreeWxUsersByInviteIdAll(item.Id)
 			UpdateClassThreeInner(secondList, item.IntroInnerNo, item.Id)
 		}
 	}

+ 4 - 43
go/gopath/src/fohow.com/apps/models/user_model/three_wx_user.go

@@ -135,12 +135,12 @@ func GetThreeWxUserById(id int64, useCache bool) *ThreeWxUser {
 	}
 }
 
-func GetThreeWxUsersByInviteIdAll(inviteWxId int64, useCache bool) (list []*ThreeWxUser) {
+func GetThreeWxUsersByInviteIdAll(inviteWxId int64) (list []*ThreeWxUser) {
 
 	user := new(ThreeWxUser)
 	qs := orm.NewOrm().QueryTable(user)
 	qs = qs.Filter("invite_id", inviteWxId)
-	if _, err := qs.OrderBy("-id").All(&list); err != nil {
+	if _, err := qs.OrderBy(" invite_rank").All(&list); err != nil {
 		beego.BeeLogger.Debug("GetThreeWxUsersByInviteIdAll err=[%s]", err)
 		return nil
 	}
@@ -183,52 +183,13 @@ func (self *ThreeWxUser) CopyWxUsers() error {
 }
 
 //获取团队成员内部编号
-func NewAvailableIntroArea(wxUserId, inviteRank int64) (string, string) {
+func NewAvailableIntroArea(inviteRank int64) (string, string) {
 	//确定首字母
 	firstArea := string(rune(int((inviteRank)/100) + int(65)))
 	introArea := ""
 	//确定二级字母
 	if len(firstArea) > 0 {
-		mul := inviteRank / int64(100)
-		minRank := int64(mul * 100)
-		maxRank := int64(mul*100 + 99)
-		var list []*WxUser
-		o := orm.NewOrm()
-		sql := `
-		SELECT
-			intro_area 
-		FROM
-			three_wx_users
-		WHERE
-			invite_id = ?
-		AND
-			invite_rank >= ?
-		AND
-			invite_rank < ?
-		GROUP BY
-			intro_area 
-		ORDER BY
-			intro_area
-	`
-		_, err := o.Raw(sql, wxUserId, minRank, maxRank).QueryRows(&list)
-		if err != nil {
-			beego.BeeLogger.Error("GetAvailableIntroArea err=[%s]", err)
-			return firstArea, ""
-		}
-		temp := int(0)
-
-		for _, item := range list {
-			if len(item.IntroArea) != 2 {
-				continue
-			}
-			areas := fmt.Sprintf("%s%d", string(rune(int((temp)/10)+int(65))), temp%int(10))
-			if item.IntroArea != areas {
-				break
-			}
-			temp++
-		}
-		introArea = fmt.Sprintf("%s%d", string(rune(int((temp)/10)+int(65))), temp%int(10))
-
+		introArea = fmt.Sprintf("%s%d", string(rune(int((inviteRank)/10)+int(65))), int(inviteRank)%int(10))
 	} else {
 		firstArea = "A"
 	}