Parcourir la source

edit wx user relation

abiao il y a 5 ans
Parent
commit
8b4729e21b

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

@@ -22,8 +22,8 @@ func threebUserRelation() {
 	wxUserId := int64(1)
 	innerNo := "M"
 	//自公司账号自上而下递归更新
-	inviteList := user_model.GetInviteAllWxUsers(wxUserId, true)
-	UpdateClassThreeInner(inviteList, innerNo, wxUserId)
+	inviteList := user_model.GetDepartWxUsers(wxUserId, true)
+	UpdateClassThreeInner(inviteList, innerNo)
 
 	beego.BeeLogger.Warn("----------------begin callback wx_users ")
 
@@ -43,7 +43,7 @@ func threebUserRelation() {
 	//time.Sleep(time.Duration(300) * time.Second)
 }
 
-func UpdateClassThreeInner(list []*user_model.ThreeWxUser, innerNo string, inviteId int64) {
+func UpdateClassThreeInner(list []*user_model.ThreeWxUser, innerNo string) {
 
 	inviteRank := int64(0)
 	//更新每个会员的 invite_rank
@@ -64,7 +64,7 @@ func UpdateClassThreeInner(list []*user_model.ThreeWxUser, innerNo string, invit
 	//递归更新
 	for _, item := range list {
 		secondList := user_model.GetInviteAllWxUsers(item.Id, false)
-		UpdateClassThreeInner(secondList, item.IntroInnerNo, item.Id)
+		UpdateClassThreeInner(secondList, item.IntroInnerNo)
 	}
 }
 

+ 52 - 13
go/gopath/src/fohow.com/apps/models/user_model/three_wx_user.go

@@ -169,6 +169,28 @@ func GetInviteAllWxUsers(inviteWxId int64, useCache bool) (list []*ThreeWxUser)
 	return list
 }
 
+func GetDepartWxUsers(inviteWxId int64, useCache bool) (list []*ThreeWxUser) {
+	k := fmt.Sprintf("three_wx_model.GetDepartWxUsers(%d)", inviteWxId)
+	if useCache {
+		if ret, ok := cache.Cache.Get(k).([]*ThreeWxUser); ok {
+			return ret
+		}
+	}
+
+	sql := `
+		select id,invite_id,invite_rank, intro_inner_no,intro_area from
+		three_wx_users
+		where id  in (53,13066) order by invite_rank asc ;
+		`
+	_, err := orm.NewOrm().Raw(sql, inviteWxId).QueryRows(&list)
+	if err != nil {
+		beego.BeeLogger.Warn("three_wx_model.GetDepartWxUsers(%d) err=%s", inviteWxId, err)
+		return nil
+	}
+	cache.Cache.Put(k, list, 10*time.Minute)
+	return list
+}
+
 func (self *ThreeWxUser) Save() error {
 	if _, err := orm.NewOrm().Update(self); err != nil {
 		beego.BeeLogger.Error("Save user id=[%d] .err=[%s]", self.Id, err)
@@ -195,14 +217,9 @@ func CopyWxUsers() {
 	`
 	o.Raw(sql).Exec()
 
-	//更新会员depart
+	//丢弃 intro_area ,inner_no
 	sql = `
-		update wx_users set depart=1 where id=53
-	`
-	o.Raw(sql).Exec()
-
-	sql = `
-		update wx_users set depart=2 where id=13066
+		update wx_users set intro_area="",intro_inner_no=""  where id>0 
 	`
 	o.Raw(sql).Exec()
 
@@ -238,9 +255,21 @@ func UpdateIntroInfo(id int64, intreArea, innerNo string) {
 
 //回写wx_users
 func CallBackWxUsers() {
+
 	o := orm.NewOrm()
+	//更新会员depart
 	sql := `
-		update wx_users a , three_wx_users b set a.intro_inner_no=b.intro_inner_no,a.intro_area=b.intro_area where a.id=b.id 
+		update three_wx_users set depart=1 where id=53
+	`
+	o.Raw(sql).Exec()
+
+	sql = `
+		update three_wx_users set depart=2 where id=13066
+	`
+	o.Raw(sql).Exec()
+
+	sql = `
+		update wx_users a,three_wx_users b set a.intro_inner_no=b.intro_inner_no,a.intro_area=b.intro_area where a.id=b.id and a.id in(53,13066)
 	`
 	o.Raw(sql).Exec()
 
@@ -251,28 +280,38 @@ func UpdateRelatedDepart(innerNo1, innerNo2 string, depart1, depart2 int64) {
 	o := orm.NewOrm()
 	//更新1部会员
 
-	sql := fmt.Sprintf("update wx_users set depart=? where intro_inner_no like  %s", "'%"+innerNo1+"%'")
+	sql := fmt.Sprintf("update three_wx_users set depart=? where intro_inner_no like  %s", "'%"+innerNo1+"%'")
 	o.Raw(sql, depart1).Exec()
 
 	//更新2部会员
-	sql1 := fmt.Sprintf("update wx_users set depart=? where intro_inner_no like  %s", "'%"+innerNo2+"%'")
+	sql1 := fmt.Sprintf("update three_wx_users set depart=? where intro_inner_no like  %s", "'%"+innerNo2+"%'")
 	o.Raw(sql1, depart2).Exec()
 
+	sql = `
+		delete three_wx_users where  intro_inner_no is null
+	`
+	o.Raw(sql).Exec()
+
+	sql = `
+		update wx_users a,three_wx_users b set a.depart=b.depart where a.id=b.id
+	`
+	o.Raw(sql).Exec()
+
 	//更新订单表
 	sql_or := `
-		update orders a , wx_users b set a.depart=b.depart where a.wx_user_id=b.id 
+		update orders a , three_wx_users b set a.depart=b.depart where a.wx_user_id=b.id 
 	`
 	o.Raw(sql_or).Exec()
 
 	//更新店长申请表
 	sql_shop := `
-		update shop_applications a , wx_users b set a.depart=b.depart where a.wx_user_id=b.id 
+		update shop_applications a , three_wx_users b set a.depart=b.depart where a.wx_user_id=b.id 
 	`
 	o.Raw(sql_shop).Exec()
 
 	//更新充值提货券
 	sql_balance := `
-		update balance_orders a , wx_users b set a.depart=b.depart where a.wx_user_id=b.id 
+		update balance_orders a , three_wx_users b set a.depart=b.depart where a.wx_user_id=b.id 
 	`
 	o.Raw(sql_balance).Exec()