Ver Fonte

no message

xingzai há 1 ano atrás
pai
commit
e976cfd9a1
3 ficheiros alterados com 58 adições e 27 exclusões
  1. 17 7
      services/init_10.5.1.go
  2. 41 17
      services/user_label.go
  3. 0 3
      services/wx_user.go

+ 17 - 7
services/init_10.5.1.go

@@ -60,7 +60,7 @@ func init1111() {
 	}
 }
 
-func init5222() {
+func init123() {
 	var condition string
 	var pars []interface{}
 	var err error
@@ -86,6 +86,9 @@ func init5222() {
 	}
 	var items []*models.CygxUserLabel
 	for _, user := range list {
+		if user.IdCygx == 0 {
+			continue
+		}
 		item := new(models.CygxUserLabel)
 		item.UserId = user.UserId
 		item.CompanyId = user.CompanyId
@@ -98,6 +101,7 @@ func init5222() {
 		item.IsFollow = 1
 		item.CreateTime = time.Now()
 		item.ModifyTime = time.Now()
+		fmt.Println(item.SourceId)
 		items = append(items, item)
 		if len(items)%5000 == 0 {
 			err = models.CygxUserLabelMulti(items)
@@ -260,7 +264,7 @@ func init5444() {
 	}
 }
 
-func init555() {
+func init5555() {
 	var condition string
 	var pars []interface{}
 	var err error
@@ -289,6 +293,7 @@ func init555() {
 
 	itemsMap := make(map[int][]*models.CygxUserLabel)
 	for _, v := range listArtGroup {
+
 		fmt.Println(v.ArticleId)
 		var items []*models.CygxUserLabel
 		articleId := v.ArticleId
@@ -299,7 +304,8 @@ func init555() {
 		industrialList, e := models.GetIndustrialArticleGroupManagementList(condition, pars)
 		if e != nil && e.Error() != utils.ErrNoRow() {
 			fmt.Println(e)
-			return
+			continue
+			//return
 		}
 		if len(industrialList) == 0 {
 			//如果没有行产业归类就按照行业报告处理
@@ -307,13 +313,15 @@ func init555() {
 			detailArticle, e := models.GetArticleDetailById(articleId)
 			if e != nil {
 				fmt.Println(e)
-				return
+				continue
+				//return
 			}
 
 			labelDetail, e := models.GetdetailByCategoryIdLabel(detailArticle.CategoryId)
 			if e != nil {
 				fmt.Println(e)
-				return
+				continue
+				//return
 			}
 			label := labelDetail.MatchTypeName
 			industrialManagementId := labelDetail.Id
@@ -340,12 +348,12 @@ func init555() {
 				topCond = ` AND industrial_management_id IN (` + utils.GetOrmInReplace(idsLen) + `)`
 				topPars = append(topPars, industrialManagementIds)
 			} else {
-				return
+				continue
 			}
 			industrNamelist, e := models.GetTopOneMonthArtReadNumIndustryAll(topCond, topPars)
 			if e != nil {
 				fmt.Println(e)
-				return
+				continue
 			}
 			source = 1
 			for _, v := range industrNamelist {
@@ -395,6 +403,8 @@ func init555() {
 	}
 	var items []*models.CygxUserLabelArticle
 
+	fmt.Println(len(listArt))
+
 	for _, user := range listArt {
 		if len(itemsMap[user.ArticleId]) > 0 {
 			for k2, vlsit := range itemsMap {

+ 41 - 17
services/user_label.go

@@ -710,14 +710,29 @@ func ActivitySpecialUserLabelLogReduce(log models.CygxUserLabelLogRedis) (err er
 	return
 }
 
+//func init() {
+//	var condition string
+//	var pars []interface{}
+//	pars = make([]interface{}, 0)
+//	condition = ` GROUP BY user_id`
+//	listUser, _ := models.GetCygxUserLabelList(condition, pars)
+//	for k, v := range listUser {
+//		fmt.Println(k)
+//		updateUserLabelByUserId(v.UserId)
+//	}
+//	//updateUserLabelByUserId(13269)
+//}
+
 // 更新用户标签
 func updateUserLabelByUserId(userId int) (err error) {
 	defer func() {
 		if err != nil {
 			fmt.Println(err)
+			utils.FileLog.Info("更新用户标签,Err:%s", err.Error(), userId)
 			go utils.SendAlarmMsg("更新用户标签失败:"+err.Error()+"userId:"+strconv.Itoa(userId), 2)
 		}
 	}()
+	time.Sleep(1 * time.Second)
 	var condition string
 	var pars []interface{}
 	condition = ` AND is_follow=1  AND  user_id = ?  `
@@ -740,23 +755,22 @@ func updateUserLabelByUserId(userId int) (err error) {
 		condition += `  	AND ( is_follow > 0 OR weight > 0 )  ORDER BY is_follow DESC, weight DESC  `
 		list, e = models.GetCygxUserLabelList(condition, pars)
 		if e != nil {
-			err = errors.New("GetCygxUserLabelList" + e.Error())
+			err = errors.New("GetCygxUserLabelList当产业关注数量不超过10 ,系列关注数量不超过5" + e.Error())
 			return
 		}
 	}
 
 	//当产业关注数量超过10 ,系列关注数量超过5
-	if totalSource1 > 10 && totalSource2 > 1 {
+	if totalSource1 > 10 && totalSource2 > 5 {
 		condition += `  AND  weight > 0 ORDER BY  weight DESC  `
 		list, e = models.GetCygxUserLabelList(condition, pars)
 		if e != nil {
-			err = errors.New("GetCygxUserLabelList" + e.Error())
+			err = errors.New("GetCygxUserLabelList 当产业关注数量超过10 ,系列关注数量超过5" + e.Error())
 			return
 		}
 	}
 	//当产业关注数量不超过10 ,系列关注数量超过5
 	if totalSource1 <= 10 && totalSource2 > 5 {
-		fmt.Println("当产业关注数量不超过10 ,系列关注数量超过5")
 		condition += `  AND  source = 1  AND is_follow = 1 ORDER BY  weight DESC  `
 		listfollow, e := models.GetCygxUserLabelList(condition, pars)
 		if e != nil {
@@ -774,7 +788,7 @@ func updateUserLabelByUserId(userId int) (err error) {
 		condition += ` 	AND  weight > 0   ORDER BY  weight DESC  `
 		listother, e := models.GetCygxUserLabelList(condition, pars)
 		if e != nil {
-			err = errors.New("GetCygxUserLabelList" + e.Error())
+			err = errors.New("GetCygxUserLabelList 当产业关注数量不超过10 ,系列关注数量超过5" + e.Error())
 			return
 		}
 		for _, v := range listother {
@@ -790,7 +804,7 @@ func updateUserLabelByUserId(userId int) (err error) {
 		condition += `  AND  source = 2  AND is_follow = 1 ORDER BY  weight DESC  `
 		listfollow, e := models.GetCygxUserLabelList(condition, pars)
 		if e != nil {
-			err = errors.New("GetCygxUserLabelList" + e.Error())
+			err = errors.New("GetCygxUserLabelList 当产业关注数量超过10 ,系列关注数量不超过5" + e.Error())
 			return
 		}
 		idMap := make(map[int]bool)
@@ -804,7 +818,7 @@ func updateUserLabelByUserId(userId int) (err error) {
 		condition += ` 	AND  weight > 0   ORDER BY  weight DESC  `
 		listother, e := models.GetCygxUserLabelList(condition, pars)
 		if e != nil {
-			err = errors.New("GetCygxUserLabelList" + e.Error())
+			err = errors.New("GetCygxUserLabelList 当产业关注数量超过10 ,系列关注数量不超过5" + e.Error())
 			return
 		}
 		for _, v := range listother {
@@ -873,6 +887,7 @@ func UpdateUserLabelWeight() (err error) {
 	for _, v := range list {
 		userLabel[fmt.Sprint("user_id{|}", v.UserId, "{|}source_id{|}", v.SourceId, "{|}source{|}", v.Source)] = true
 	}
+	fmt.Println(userLabel)
 	//处理文章标签
 	var items []*models.CygxUserLabel
 	for _, user := range listArticle {
@@ -933,14 +948,22 @@ func UpdateUserLabelWeight() (err error) {
 		}
 		userLabelWeight[fmt.Sprint("user_id{|}", user.UserId, "{|}label{|}", user.Label)]++
 	}
-
+	var itemLimt []*models.CygxUserLabel
+	fmt.Println(len(items))
 	if len(items) > 0 {
-		e = models.CygxUserLabelMulti(items)
-		if e != nil {
-			err = errors.New("CygxUserLabelMulti" + e.Error())
-			return
+		for _, v := range items {
+			itemLimt = append(itemLimt, v)
+			if len(itemLimt)%5000 == 0 {
+				err = models.CygxUserLabelMulti(itemLimt)
+				fmt.Println(err)
+				itemLimt = make([]*models.CygxUserLabel, 0)
+			}
 		}
 	}
+	if len(itemLimt) > 0 {
+		err = models.CygxUserLabelMulti(itemLimt)
+		fmt.Println(err)
+	}
 	var itemsUpdate []*models.CygxUserLabel
 	for k, v := range userLabelWeight {
 		sliceUser := strings.Split(k, "{|}")
@@ -952,17 +975,18 @@ func UpdateUserLabelWeight() (err error) {
 		item.Weight = v
 		itemsUpdate = append(itemsUpdate, item)
 	}
-	e = models.UpdateCygxUserLabelMulti(itemsUpdate)
-	if e != nil {
-		err = errors.New("UpdateCygxUserLabelMulti" + e.Error())
-		return
-	}
 
 	e = models.UpdateCygxUserLabelWeightAll()
 	if e != nil {
 		err = errors.New("UpdateCygxUserLabelWeightAll" + e.Error())
 		return
 	}
+	fmt.Println(len(itemsUpdate))
+	e = models.UpdateCygxUserLabelMulti(itemsUpdate)
+	if e != nil {
+		err = errors.New("UpdateCygxUserLabelMulti" + e.Error())
+		return
+	}
 
 	pars = make([]interface{}, 0)
 	condition = ` GROUP BY user_id`

+ 0 - 3
services/wx_user.go

@@ -14,8 +14,6 @@ func UpdateWxUserLabel(cont context.Context) (err error) {
 	defer func() {
 		if err != nil {
 			go utils.SendAlarmMsg("更新用户标签失败;Err:"+err.Error(), 2)
-			go utils.SendEmail("更新用户标签失败"+"【"+utils.APPNAME+"】"+time.Now().Format(utils.FormatDateTime), ";Err:"+err.Error(), utils.EmailSendToUsers)
-			utils.FileLog.Info("更新用户标签失败,Err:%s", err.Error())
 		}
 	}()
 	//获取需要处理的权益客户
@@ -24,7 +22,6 @@ func UpdateWxUserLabel(cont context.Context) (err error) {
 		fmt.Println("GetUserRegisterList Err", err)
 		return err
 	}
-
 	mapChartCollect := make(map[string]int)
 	//获取已经处理记录的用户并记录切片
 	listChartCollectL, err := models.GetCygxChartCollectList()