Browse Source

no message

xingzai 1 year ago
parent
commit
6b225afe52
2 changed files with 47 additions and 32 deletions
  1. 34 22
      services/article.go
  2. 13 10
      services/article_history.go

+ 34 - 22
services/article.go

@@ -504,36 +504,48 @@ func StatisticalReport() {
 
 // UserViewRedisData 阅读数据
 type UserViewRedisData struct {
-	Mobile      string `json:"mobile"`
-	Email       string `json:"email"`
-	RealName    string `json:"real_name"`
-	CompanyName string `json:"company_name"`
-	ViewTime    string `json:"view_time" description:"阅读时间,格式:2022-02-17 13:06:13"`
-	ProductId   int    `json:"product_id" description:"报告所属产品,ficc:1,权益:2"`
-	CompanyId   int    `json:"company_id" description:"客户id"`
+	Mobile          string `json:"mobile"`
+	Email           string `json:"email"`
+	RealName        string `json:"real_name"`
+	CompanyName     string `json:"company_name"`
+	ViewTime        string `json:"view_time" description:"阅读时间,格式:2022-02-17 13:06:13"`
+	ProductId       int    `json:"product_id" description:"报告所属产品,ficc:1,权益:2"`
+	CompanyId       int    `json:"company_id" description:"客户id"`
+	UserId          int    `json:"user_id" description:"用户id"`
+	ReportId        int    `json:"report_id" description:"报告id"`
+	StopTime        int    `json:"stop_time" description:"停留时间"`
+	ReportChapterId int    `json:"report_chapter_id" description:"章节ID"`
+	OutId           int    `json:"out_id" description:"记录ID"`
 }
 
 type ReportViewRecord struct {
-	Id          int       `orm:"column(id);pk"`
-	UserId      int       `description:"用户id"`
-	ReportId    int       `description:"报告id"`
-	Mobile      string    `description:"手机号"`
-	Email       string    `description:"邮箱"`
-	RealName    string    `description:"用户实际姓名"`
-	CompanyName string    `description:"公司名称"`
-	CreateTime  time.Time `description:"创建时间"`
+	Id              int       `orm:"column(id);pk"`
+	UserId          int       `description:"用户id"`
+	ReportId        int       `description:"报告id"`
+	Mobile          string    `description:"手机号"`
+	Email           string    `description:"邮箱"`
+	RealName        string    `description:"用户实际姓名"`
+	CompanyName     string    `description:"公司名称"`
+	CreateTime      time.Time `description:"创建时间"`
+	StopTime        int       `json:"stop_time" description:"停留时间"`
+	ReportChapterId int       `json:"report_chapter_id" description:"章节ID"`
+	OutId           int       `json:"out_id" description:"记录ID"`
 }
 
 // PushViewRecordNewRedisData 阅读数据加入到redis
 func PushViewRecordNewRedisData(reportViewRecord *ReportViewRecord, companyId int) bool {
 	data := &UserViewRedisData{
-		Mobile:      reportViewRecord.Mobile,
-		Email:       reportViewRecord.Email,
-		RealName:    reportViewRecord.RealName,
-		CompanyName: reportViewRecord.CompanyName,
-		ViewTime:    reportViewRecord.CreateTime.Format(utils.FormatDateTime),
-		ProductId:   2,
-		CompanyId:   companyId,
+		Mobile:          reportViewRecord.Mobile,
+		Email:           reportViewRecord.Email,
+		RealName:        reportViewRecord.RealName,
+		CompanyName:     reportViewRecord.CompanyName,
+		ViewTime:        reportViewRecord.CreateTime.Format(utils.FormatDateTime),
+		ProductId:       2,
+		CompanyId:       companyId,
+		ReportId:        reportViewRecord.ReportId,
+		StopTime:        reportViewRecord.StopTime,
+		ReportChapterId: reportViewRecord.ReportChapterId,
+		OutId:           reportViewRecord.OutId,
 	}
 	if utils.Re == nil {
 		err := utils.Rc.LPush(utils.CACHE_KEY_USER_VIEW, data)

+ 13 - 10
services/article_history.go

@@ -43,15 +43,7 @@ func ArticleHistory(articleId int, user *models.WxUserItem) (err error) {
 			go utils.SendAlarmMsg("记录用户文章浏览记录,失败"+err.Error(), 2)
 		}
 	}()
-	recordRedis := new(ReportViewRecord)
-	recordRedis.UserId = user.UserId
-	recordRedis.ReportId = articleId
-	recordRedis.Mobile = user.Mobile
-	recordRedis.Email = user.Email
-	recordRedis.RealName = user.RealName
-	recordRedis.CompanyName = user.CompanyName
-	recordRedis.CreateTime = time.Now()
-	go PushViewRecordNewRedisData(recordRedis, user.CompanyId)
+
 	uid := user.UserId
 	key := "CYGX_ARTICLE_" + strconv.Itoa(articleId) + "_" + strconv.Itoa(uid)
 	if !utils.Rc.IsExist(key) {
@@ -107,11 +99,22 @@ func ArticleHistoryStopTime(articleId, stopTime, outType int, user *models.WxUse
 		record.StopTime = stopTime
 		record.OutType = outType
 		record.Source = "MOBILE"
-		_, e := models.AddCygxArticleViewRecordNewpv(record)
+		newId, e := models.AddCygxArticleViewRecordNewpv(record)
 		if e != nil {
 			err = errors.New("AddCygxArticleViewRecordNewpv, Err: " + e.Error())
 			return
 		}
+		recordRedis := new(ReportViewRecord)
+		recordRedis.UserId = user.UserId
+		recordRedis.ReportId = articleId
+		recordRedis.Mobile = user.Mobile
+		recordRedis.Email = user.Email
+		recordRedis.RealName = user.RealName
+		recordRedis.CompanyName = user.CompanyName
+		recordRedis.StopTime = stopTime
+		recordRedis.OutId = int(newId)
+		recordRedis.CreateTime = time.Now()
+		go PushViewRecordNewRedisData(recordRedis, user.CompanyId)
 		utils.Rc.Put(key, 1, 2*time.Second)
 	}
 	go ArticleHistoryUserLabelLogAdd(articleId, uid)