Browse Source

no message

xingzai 1 year ago
parent
commit
88f211f64a
3 changed files with 92 additions and 26 deletions
  1. 1 0
      models/db.go
  2. 28 0
      models/user_label_article.go
  3. 63 26
      services/user_label.go

+ 1 - 0
models/db.go

@@ -147,6 +147,7 @@ func init() {
 		new(CygxActivitySignupBreak),
 		new(CygxActivitySignupBreak),
 		new(CygxUserLabel),
 		new(CygxUserLabel),
 		new(CygxUserLabelActivity),
 		new(CygxUserLabelActivity),
+		new(CygxUserLabelArticle),
 	)
 	)
 	// 记录ORM查询日志
 	// 记录ORM查询日志
 	orm.Debug = true
 	orm.Debug = true

+ 28 - 0
models/user_label_article.go

@@ -0,0 +1,28 @@
+package models
+
+import (
+	"github.com/beego/beego/v2/client/orm"
+	"time"
+)
+
+type CygxUserLabelArticle struct {
+	Id         int       `orm:"column(id);pk"`
+	UserId     int       `description:"用户ID"`
+	CompanyId  int       `description:"公司id"`
+	RealName   string    `description:"用户实际名称"`
+	Mobile     string    `description:"手机号"`
+	Email      string    `description:"邮箱"`
+	Label      string    `description:"标签内容"`
+	ArticleId  int       `description:"文章ID"`
+	SourceId   int       `description:"来源ID(产业ID,系列ID)"`
+	Source     int       `description:"来源1:产业、2:系列"`
+	CreateTime time.Time `description:"创建时间"`
+	ModifyTime time.Time `description:"更新时间"`
+}
+
+// 添加
+func AddCygxUserLabelArticle(item *CygxUserLabelArticle) (lastId int64, err error) {
+	o := orm.NewOrm()
+	lastId, err = o.Insert(item)
+	return
+}

+ 63 - 26
services/user_label.go

@@ -19,7 +19,7 @@ func init() {
 	//mobileArr = append(mobileArr, "15557270714")
 	//mobileArr = append(mobileArr, "15557270714")
 	//ActivityUserLabelLogAdd(2239, mobileArr)
 	//ActivityUserLabelLogAdd(2239, mobileArr)
 
 
-	//UserLabelLogReduce()
+	UserLabelLogReduce()
 }
 }
 
 
 // 添加用户阅读标签到Redis
 // 添加用户阅读标签到Redis
@@ -198,6 +198,7 @@ func ArticleHistoryUserLabelLogReduce(log models.CygxUserLabelLogRedis) (err err
 		err = errors.New("GetIndustrialArticleGroupManagementList, Err: " + e.Error())
 		err = errors.New("GetIndustrialArticleGroupManagementList, Err: " + e.Error())
 		return
 		return
 	}
 	}
+	var items []*models.CygxUserLabel
 	if len(industrialList) == 0 {
 	if len(industrialList) == 0 {
 		//如果没有行产业归类就按照行业报告处理
 		//如果没有行产业归类就按照行业报告处理
 		source = 2
 		source = 2
@@ -223,19 +224,20 @@ func ArticleHistoryUserLabelLogReduce(log models.CygxUserLabelLogRedis) (err err
 			err = errors.New("GetCygxProductInteriorCount" + e.Error())
 			err = errors.New("GetCygxProductInteriorCount" + e.Error())
 			return
 			return
 		}
 		}
+		item := new(models.CygxUserLabel)
+		item.UserId = user.UserId
+		item.CompanyId = user.CompanyId
+		item.RealName = user.RealName
+		item.Mobile = user.Mobile
+		item.Email = user.Email
+		item.Label = label
+		item.SourceId = industrialManagementId
+		item.Source = source
+		item.Weight = 1
+		item.CreateTime = time.Now()
+		item.ModifyTime = time.Now()
+		items = append(items, item)
 		if total == 0 {
 		if total == 0 {
-			item := new(models.CygxUserLabel)
-			item.UserId = user.UserId
-			item.CompanyId = user.CompanyId
-			item.RealName = user.RealName
-			item.Mobile = user.Mobile
-			item.Email = user.Email
-			item.Label = label
-			item.SourceId = industrialManagementId
-			item.Source = source
-			item.Weight = 1
-			item.CreateTime = time.Now()
-			item.ModifyTime = time.Now()
 			_, e = models.AddCygxUserLabel(item)
 			_, e = models.AddCygxUserLabel(item)
 			if e != nil {
 			if e != nil {
 				err = errors.New("AddCygxUserLabel" + e.Error())
 				err = errors.New("AddCygxUserLabel" + e.Error())
@@ -249,7 +251,6 @@ func ArticleHistoryUserLabelLogReduce(log models.CygxUserLabelLogRedis) (err err
 				return
 				return
 			}
 			}
 		}
 		}
-
 	} else {
 	} else {
 		//如果有行产业归类就按照产业报告处理
 		//如果有行产业归类就按照产业报告处理
 		var topCond string
 		var topCond string
@@ -284,19 +285,20 @@ func ArticleHistoryUserLabelLogReduce(log models.CygxUserLabelLogRedis) (err err
 				err = errors.New("GetCygxProductInteriorCount" + e.Error())
 				err = errors.New("GetCygxProductInteriorCount" + e.Error())
 				return
 				return
 			}
 			}
+			item := new(models.CygxUserLabel)
+			item.UserId = user.UserId
+			item.CompanyId = user.CompanyId
+			item.RealName = user.RealName
+			item.Mobile = user.Mobile
+			item.Email = user.Email
+			item.Label = label
+			item.SourceId = industrialManagementId
+			item.Source = source
+			item.Weight = 1
+			item.CreateTime = time.Now()
+			item.ModifyTime = time.Now()
+			items = append(items, item)
 			if total == 0 {
 			if total == 0 {
-				item := new(models.CygxUserLabel)
-				item.UserId = user.UserId
-				item.CompanyId = user.CompanyId
-				item.RealName = user.RealName
-				item.Mobile = user.Mobile
-				item.Email = user.Email
-				item.Label = label
-				item.SourceId = industrialManagementId
-				item.Source = source
-				item.Weight = 1
-				item.CreateTime = time.Now()
-				item.ModifyTime = time.Now()
 				_, e = models.AddCygxUserLabel(item)
 				_, e = models.AddCygxUserLabel(item)
 				if e != nil {
 				if e != nil {
 					err = errors.New("AddCygxUserLabel" + e.Error())
 					err = errors.New("AddCygxUserLabel" + e.Error())
@@ -312,7 +314,42 @@ func ArticleHistoryUserLabelLogReduce(log models.CygxUserLabelLogRedis) (err err
 			}
 			}
 		}
 		}
 	}
 	}
+	if len(items) > 0 {
+		go AddArticleHistoryUserLabelLog(items, articleId)
+	}
+	return
+}
 
 
+// 添加文章阅读记录日志,处理文章阅读三个月之内标签权重有效逻辑
+func AddArticleHistoryUserLabelLog(items []*models.CygxUserLabel, articleId int) (err error) {
+	defer func() {
+		if err != nil {
+			fmt.Println(err)
+			go utils.SendAlarmMsg("添加文章阅读记录日志,处理文章阅读三个月之内标签权重有效逻辑失败:"+err.Error(), 2)
+		}
+	}()
+	if len(items) == 0 {
+		return
+	}
+	for _, v := range items {
+		item := new(models.CygxUserLabelArticle)
+		item.UserId = v.UserId
+		item.CompanyId = v.CompanyId
+		item.RealName = v.RealName
+		item.Mobile = v.Mobile
+		item.Email = v.Email
+		item.Label = v.Label
+		item.SourceId = v.SourceId
+		item.Source = v.Source
+		item.ArticleId = articleId
+		item.CreateTime = time.Now()
+		item.ModifyTime = time.Now()
+		_, e := models.AddCygxUserLabelArticle(item)
+		if e != nil {
+			err = errors.New("AddCygxUserLabelArticle" + e.Error())
+			return
+		}
+	}
 	return
 	return
 }
 }