|
@@ -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`
|