소스 검색

更改对应产业的文章阅读数量

xingzai 3 년 전
부모
커밋
13f54fbf14
5개의 변경된 파일75개의 추가작업 그리고 4개의 파일을 삭제
  1. 10 1
      controllers/report.go
  2. 34 3
      models/industrial_management.go
  3. 1 0
      models/report.go
  4. 24 0
      services/industrial_management.go
  5. 6 0
      services/task.go

+ 10 - 1
controllers/report.go

@@ -223,8 +223,14 @@ func (this *ReportController) IndustryList() {
 	//	}
 	//	list = append(listTop, listNoTop...)
 	//}
+	detailHot3, err := models.GetIndustrialManagementHot3()
+	if err != nil {
+		br.Msg = "获取信息失败"
+		br.ErrMsg = "获取信息失败,Err:" + err.Error()
+		return
+	}
 
-	list, err := models.GetIndustrialManagementAll(uid, condition, orderSrt, startSize, pageSize)
+	list, err = models.GetIndustrialManagementAll(uid, condition, orderSrt, startSize, pageSize)
 	if err != nil {
 		br.Msg = "获取信息失败"
 		br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
@@ -269,6 +275,9 @@ func (this *ReportController) IndustryList() {
 		if recordCount == 0 && user.CreatedTime.Before(utils.StrTimeToTime(newArtinfo.PublishDate)) && utils.StrTimeToTime(utils.OnlineTime).Before(utils.StrTimeToTime(newArtinfo.PublishDate)) {
 			list[k].IsRed = true
 		}
+		if v.ArticleReadNum >= detailHot3.ArticleReadNum {
+			list[k].IsHot = true
+		}
 	}
 	resp.List = list
 	resp.Paging = page

+ 34 - 3
models/industrial_management.go

@@ -12,6 +12,7 @@ type IndustrialManagementRep struct {
 	ChartPermissionId int    `description:"权限id"`
 	RecommendedIndex  int    `description:"推荐指数"`
 	LayoutTime        string `description:"布局时间"`
+	ArticleReadNum    int    `description:"文章阅读数量"`
 }
 
 type IndustrialManagementCount struct {
@@ -71,9 +72,6 @@ func GetIndustrialManagementAll(uid int, condition, orderSrt string, startSize,
 			GROUP BY
 			man.industry_name 
 			ORDER BY ` + orderSrt + ` LIMIT ?,?`
-	//fmt.Println(sql)
-	//fmt.Println(startSize)
-	//fmt.Println(pageSize)
 	_, err = o.Raw(sql, startSize, pageSize).QueryRows(&items)
 	return
 }
@@ -230,3 +228,36 @@ func UpdateIndustrialManagementSubjectNames(nameStr string, industrialManagement
 	_, err = o.Raw(sql, nameStr, industrialManagementId).Exec()
 	return
 }
+
+// 处理每个产业下所关联的文章的阅读量  start
+func IndustrialManagementAll() (items []*IndustrialManagement, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM cygx_industrial_management `
+	_, err = o.Raw(sql).QueryRows(&items)
+	return
+}
+
+func GetIndustrialManagementArtCount(industrialManagementId int) (count int, err error) {
+	sqlCount := ` SELECT COUNT(1) AS count  
+	 			FROM  cygx_article_history_record AS h
+				INNER JOIN cygx_industrial_article_group_management as mg ON  mg.article_id = h.article_id
+				WHERE mg.industrial_management_id = ?`
+	o := orm.NewOrm()
+	err = o.Raw(sqlCount, industrialManagementId).QueryRow(&count)
+	return
+}
+
+func UpdateIndustrialManagementArtReadNum(num, industrialManagementId int) (err error) {
+	o := orm.NewOrm()
+	sql := `UPDATE cygx_industrial_management SET article_read_num = ? WHERE industrial_management_id = ?`
+	_, err = o.Raw(sql, num, industrialManagementId).Exec()
+	return
+}
+
+//获取产业下阅读数量第三的产业详情
+func GetIndustrialManagementHot3() (item *IndustrialManagementRep, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM cygx_industrial_management ORDER BY article_read_num DESC LIMIT 2,1`
+	err = o.Raw(sql).QueryRow(&item)
+	return
+}

+ 1 - 0
models/report.go

@@ -24,6 +24,7 @@ type IndustrialManagement struct {
 	IsHot                  bool                 `description:"是否是热门"`
 	IsFollow               int                  `description:"是否关注"`
 	Analyst                string               `description:"分析师"`
+	ArticleReadNum         int                  `description:"文章阅读数量"`
 	AnalystList            []*IndustrialAnalyst `description:"分析师列表"`
 	IndustrialSubjectList  []*IndustrialSubject `description:"标的列表"`
 }

+ 24 - 0
services/industrial_management.go

@@ -71,3 +71,27 @@ func UpdateIndustrialManagementSubjectNnames() (err error) {
 	fmt.Println("修改状态完成")
 	return
 }
+
+func ChageIndustrialArticleNum(cont context.Context) (err error) {
+	fmt.Println("666")
+	allList, err := models.IndustrialManagementAll()
+	if err != nil {
+		fmt.Println("GetArticleAll Err:", err.Error())
+		return
+	}
+	for _, v := range allList {
+		total, errTop := models.GetIndustrialManagementArtCount(v.IndustrialManagementId)
+		if errTop != nil {
+			fmt.Println("Top Err:", errTop.Error())
+			return
+		}
+		if total > 0 {
+			err = models.UpdateIndustrialManagementArtReadNum(total, v.IndustrialManagementId)
+			if err != nil {
+				fmt.Println("Update Err:", err.Error())
+				return
+			}
+		}
+	}
+	return
+}

+ 6 - 0
services/task.go

@@ -51,10 +51,16 @@ func Task() {
 	sendEmailUserWhiteListChange := task.NewTask("sendEmailUserWhiteListChange", "0 00 17 * * *", SendEmailUserWhiteListChange) //新增 和冻结的客户白名单
 	task.AddTask("sendEmailUserWhiteListChange", sendEmailUserWhiteListChange)
 
+	//更改对应产业的文章阅读数量
+	chageIndustrialArticleNum := task.NewTask("chageIndustrialArticleNum", "0 01 00 * * *", ChageIndustrialArticleNum) //更改对应产业的文章阅读数量
+	task.AddTask("chageIndustrialArticleNum", chageIndustrialArticleNum)
+
 	//editOutboundMobile := task.NewTask("editOutboundMobile", "0 */1 8-22 * * *", EditOutboundMobile) //同步外呼号码与手机号
 	//task.AddTask("sendEmailFileToExpert", editOutboundMobile)
 	//editUserOutboundMobile := task.NewTask("editUserOutboundMobile", "0 27 14 * * *   ", EditUserOutboundMobile) //同步外呼号码与手机号
 	//task.AddTask("editUserOutboundMobile", editUserOutboundMobile)
+
+	//IndustrialArticleNum()
 	task.StartTask()
 	fmt.Println("end")
 }