Browse Source

Merge branch 'cygx_9.5' of http://8.136.199.33:3000/hongze/hongze_cygx

xingzai 2 years ago
parent
commit
c4548ea713
3 changed files with 157 additions and 14 deletions
  1. 62 0
      models/industrial_management.go
  2. 1 1
      models/report.go
  3. 94 13
      services/industrial_management.go

+ 62 - 0
models/industrial_management.go

@@ -331,6 +331,54 @@ func GetIndustrialManagementArtCount(industrialManagementId int) (count int, err
 	return
 }
 
+type IndustrialManagementArtHistoryCount struct {
+	IndustrialManagementId int `description:"产业id"`
+	Count                  int `description:"数量"`
+}
+
+func GetIndustrialManagementArtHistoryCount(condition string) (items []*IndustrialManagementArtHistoryCount, err error) {
+	sql := `SELECT
+				COUNT( 1 ) AS count,
+				mg.industrial_management_id 
+			FROM
+				cygx_article_history_record_newpv AS h
+				INNER JOIN cygx_industrial_article_group_management AS mg ON mg.article_id = h.article_id
+				INNER JOIN cygx_article AS a ON a.article_id = h.article_id 
+			WHERE
+				1 = 1 
+				AND DATE_SUB( CURDATE(), INTERVAL 30 DAY ) <= date( h.create_time )  ` + condition + `
+			GROUP BY
+				mg.industrial_management_id `
+	o := orm.NewOrm()
+	_, err = o.Raw(sql).QueryRows(&items)
+	return
+}
+
+func GetIndustrialManagementActivityHistoryCount() (items []*IndustrialManagementArtHistoryCount, err error) {
+	sql := `SELECT
+			COUNT( 1 ) AS count,
+			mg.industrial_management_id 
+		FROM
+			cygx_activity_meet_detail_log AS h
+			INNER JOIN cygx_industrial_activity_group_management AS mg ON mg.activity_id = h.activity_id
+			INNER JOIN cygx_activity AS a ON a.activity_id = h.activity_id 
+		WHERE
+			1 = 1 
+			AND DATE_SUB( CURDATE(), INTERVAL 30 DAY ) <= date( a.activity_time ) 
+		GROUP BY
+			mg.industrial_management_id `
+	o := orm.NewOrm()
+	_, err = o.Raw(sql).QueryRows(&items)
+	return
+}
+
+func UpdateIndustrialManagementArtticleReadNum() (err error) {
+	o := orm.NewOrm()
+	sql := `UPDATE cygx_industrial_management SET article_read_num = 0 ,yanxuan_article_read_num = 0 ,activity_num = 0  `
+	_, err = o.Raw(sql).Exec()
+	return
+}
+
 func UpdateIndustrialManagementArtReadNum(num, industrialManagementId int) (err error) {
 	o := orm.NewOrm()
 	sql := `UPDATE cygx_industrial_management SET article_read_num = ? WHERE industrial_management_id = ?`
@@ -338,6 +386,20 @@ func UpdateIndustrialManagementArtReadNum(num, industrialManagementId int) (err
 	return
 }
 
+func UpdateIndustrialManagementArtYanXuanReadNum(num, industrialManagementId int) (err error) {
+	o := orm.NewOrm()
+	sql := `UPDATE cygx_industrial_management SET yanxuan_article_read_num = ? WHERE industrial_management_id = ?`
+	_, err = o.Raw(sql, num, industrialManagementId).Exec()
+	return
+}
+
+func UpdateIndustrialManagementActivityNum(num, industrialManagementId int) (err error) {
+	o := orm.NewOrm()
+	sql := `UPDATE cygx_industrial_management SET activity_num = ? WHERE industrial_management_id = ?`
+	_, err = o.Raw(sql, num, industrialManagementId).Exec()
+	return
+}
+
 // 更新产业布局时间
 func UpdateIndustrialManagementLayoutTime(layoutTime string, industrialManagementId int) (err error) {
 	o := orm.NewOrm()

+ 1 - 1
models/report.go

@@ -548,7 +548,7 @@ func GetThemeHeatList(userId int, condition, conditionOrder string, startSize, p
           	MAX( a.publish_date ) AS publish_date,
 			MIN(a.publish_date) AS min_report_time,
 			( SELECT count( 1 ) FROM cygx_industry_fllow AS f  WHERE f.industrial_management_id = m.industrial_management_id  AND user_id =? AND f.type = 1  ) AS fllow_num,
-			m.article_read_num + ( SELECT count( 1 ) FROM cygx_activity_meet_detail_log AS la  WHERE la.activity_id  IN  (SELECT activity_id FROM cygx_industrial_activity_group_management WHERE industrial_management_id = m.industrial_management_id  ) AND DATE_SUB( CURDATE(), INTERVAL 30 DAY ) <= date( la.activity_time ) ) AS sum_num
+			m.yanxuan_article_read_num + m.activity_num AS sum_num
 		FROM
 			cygx_industrial_management AS m
 			LEFT JOIN cygx_industrial_article_group_management AS mg ON mg.industrial_management_id = m.industrial_management_id

+ 94 - 13
services/industrial_management.go

@@ -77,26 +77,107 @@ func UpdateIndustrialManagementSubjectNnames() (err error) {
 }
 
 func ChageIndustrialArticleNum(cont context.Context) (err error) {
-	allList, err := models.IndustrialManagementAll()
+	IndustrialHzArticleNumUpdate()
+	IndustrialYxArticleNumUpdate()
+	IndustrialActivityNumUpdate()
+	return
+}
+
+//func init() {
+//	IndustrialHzArticleNumUpdate()
+//	IndustrialYxArticleNumUpdate()
+//	IndustrialActivityNumUpdate()
+//}
+
+// 更改弘则对应的报告关联产业近一个月的阅读量
+func IndustrialHzArticleNumUpdate() (err error) {
+	defer func() {
+		if err != nil {
+			//fmt.Println(err)
+			go utils.SendAlarmMsg("更改弘则对应的报告关联产业近一个月的阅读量失败"+err.Error(), 2)
+			go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"更改弘则对应的报告关联产业近一个月的阅读量失败失败提醒", err.Error(), utils.EmailSendToUsers)
+		}
+	}()
+
+	err = models.UpdateIndustrialManagementArtticleReadNum()
+	if err != nil {
+		return
+	}
+	articleTypeIds, err := GetYanXuanArticleTypeIds()
+	if err != nil {
+		return
+	}
+	var condition string
+	if articleTypeIds == "" {
+		return
+	}
+	condition = ` AND a.article_type_id NOT  IN (` + articleTypeIds + `)  `
+	list, err := models.GetIndustrialManagementArtHistoryCount(condition)
 	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())
+	for _, v := range list {
+		err = models.UpdateIndustrialManagementArtReadNum(v.Count, v.IndustrialManagementId)
+		if err != nil {
 			return
 		}
-		if total > 0 {
-			err = models.UpdateIndustrialManagementArtReadNum(total, v.IndustrialManagementId)
-			if err != nil {
-				fmt.Println("Update Err:", err.Error())
-				return
-			}
+	}
+	return err
+}
+
+// 更改研选对应的报告关联产业近一个月的阅读量
+func IndustrialYxArticleNumUpdate() (err error) {
+	defer func() {
+		if err != nil {
+			//fmt.Println(err)
+			go utils.SendAlarmMsg("更改研选对应的报告关联产业近一个月的阅读量失败"+err.Error(), 2)
+			go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"更改研选对应的报告关联产业近一个月的阅读量失败提醒", err.Error(), utils.EmailSendToUsers)
+		}
+	}()
+
+	articleTypeIds, err := GetYanXuanArticleTypeIds()
+	if err != nil {
+		return
+	}
+	var condition string
+	if articleTypeIds == "" {
+		return
+	}
+	condition = ` AND a.article_type_id   IN (` + articleTypeIds + `)  `
+	list, err := models.GetIndustrialManagementArtHistoryCount(condition)
+	if err != nil {
+		return
+	}
+	for _, v := range list {
+		err = models.UpdateIndustrialManagementArtYanXuanReadNum(v.Count, v.IndustrialManagementId)
+		if err != nil {
+			return
 		}
 	}
-	return
+	return err
+}
+
+// 更改活动关联产业近一个月的到会量
+func IndustrialActivityNumUpdate() (err error) {
+	defer func() {
+		if err != nil {
+			//fmt.Println(err)
+			go utils.SendAlarmMsg("更改活动关联产业近一个月的到会量失败"+err.Error(), 2)
+			go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"更改活动关联产业近一个月的到会量失败", err.Error(), utils.EmailSendToUsers)
+		}
+	}()
+
+	list, err := models.GetIndustrialManagementActivityHistoryCount()
+	if err != nil {
+		return
+	}
+	for _, v := range list {
+		err = models.UpdateIndustrialManagementActivityNum(v.Count, v.IndustrialManagementId)
+		if err != nil {
+			return
+		}
+	}
+	return err
 }
 
 func ReportBillboardUpdate(cont context.Context) (err error) {