Browse Source

no message

xingzai 2 years ago
parent
commit
33771db319
2 changed files with 159 additions and 0 deletions
  1. 62 0
      models/industrial_management.go
  2. 97 0
      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( h.create_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()

+ 97 - 0
services/industrial_management.go

@@ -99,6 +99,103 @@ func ChageIndustrialArticleNum(cont context.Context) (err error) {
 	return
 }
 
+func init() {
+	IndustrialHzArticleNumUpdate()
+	IndustrialYxArticleNumUpdate()
+	IndustrialActivityNumUpdate()
+}
+
+// 更改弘则对应的报告关联产业近一个月的阅读量
+func IndustrialHzArticleNumUpdate() (err error) {
+	defer func() {
+		if err != nil {
+			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 {
+		return
+	}
+	for _, v := range list {
+		fmt.Println(v)
+		err = models.UpdateIndustrialManagementArtReadNum(v.Count, v.IndustrialManagementId)
+		if err != nil {
+			return
+		}
+	}
+	return err
+}
+
+// 更改研选对应的报告关联产业近一个月的阅读量
+func IndustrialYxArticleNumUpdate() (err error) {
+	defer func() {
+		if err != nil {
+			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 {
+		fmt.Println(v)
+		err = models.UpdateIndustrialManagementArtYanXuanReadNum(v.Count, v.IndustrialManagementId)
+		if err != nil {
+			return
+		}
+	}
+	return err
+}
+
+// 更改活动关联产业近一个月的到会量
+func IndustrialActivityNumUpdate() (err error) {
+	defer func() {
+		if err != nil {
+			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 {
+		fmt.Println(v)
+		err = models.UpdateIndustrialManagementActivityNum(v.Count, v.IndustrialManagementId)
+		if err != nil {
+			return
+		}
+	}
+	return err
+}
+
 func ReportBillboardUpdate(cont context.Context) (err error) {
 	//修改产业关注数量
 	go IndustryFllowCountUpdate()