浏览代码

Merge branch 'cygx_need_913' of http://8.136.199.33:3000/hongze/hongze_cygx into debug

xingzai 1 年之前
父节点
当前提交
e3ce5ec469
共有 4 个文件被更改,包括 36 次插入8 次删除
  1. 7 0
      models/article_celue_push.go
  2. 18 0
      services/article.go
  3. 10 8
      services/task.go
  4. 1 0
      utils/constants.go

+ 7 - 0
models/article_celue_push.go

@@ -2,6 +2,7 @@ package models
 
 import (
 	"github.com/beego/beego/v2/client/orm"
+	"time"
 )
 
 type CygxArticleCeluePush struct {
@@ -27,3 +28,9 @@ func UpdateCygxArticleCeluePush(articleId int) (err error) {
 	_, err = o.Raw(sql, articleId).Exec()
 	return
 }
+
+type CygxArticleCeluePushRedis struct {
+	ArticleId  int       `description:"文章ID"`
+	Action     string    `description:"日志类型:add,edit,move"`
+	CreateTime time.Time `description:"创建时间"`
+}

+ 18 - 0
services/article.go

@@ -706,6 +706,24 @@ func GetArticleListByApi(cont context.Context) (err error) {
 	return
 }
 
+// 获取策略平台推送过来的文章并更新
+func UpdateArticleByRedis() (err error) {
+	for {
+		utils.Rc.Brpop(utils.CYGX_ARTICLE_UPDATE_KEY, func(b []byte) {
+			var log models.CygxArticleCeluePushRedis
+			if err := json.Unmarshal(b, &log); err != nil {
+				fmt.Println("json unmarshal wrong!")
+				go utils.SendAlarmMsg("获取策略平台推送过来的文章并更新处理Redis队列消息失败:"+err.Error()+string(b), 2)
+			}
+			// 这里直接go出去会出现并发,导致文章md5ID唯一索引限制报错
+			err = HandleArticleListByApi(log.ArticleId)
+			if err != nil {
+				utils.FileLog.Info("HandleArticleListByApi", err.Error())
+			}
+		})
+	}
+}
+
 //func init() {
 //	// allList, err := models.GetArticleAll()
 //	//

+ 10 - 8
services/task.go

@@ -19,8 +19,8 @@ func Task() {
 		//task.AddTask("syncTacticsListAddreport", syncTacticsListAddreport)
 		//getSummarytoEs := task.NewTask("getSummarytoEs", "0 */30 * * * *", GetSummarytoEs) //同步纪要库内容到Es
 		//task.AddTask("getSummarytoEs", getSummarytoEs)
-		getArticleListByApi := task.NewTask("getArticleListByApi", "0 */5 * * * *", GetArticleListByApi) //通过三方接口获取策略平台上的文章
-		task.AddTask("getArticleListByApi", getArticleListByApi)
+		//getArticleListByApi := task.NewTask("getArticleListByApi", "0 */5 * * * *", GetArticleListByApi) //通过三方接口获取策略平台上的文章
+		//task.AddTask("getArticleListByApi", getArticleListByApi)
 
 		//预约外呼名单,会前1小时自动发送邮件给专家组
 		sendEmailFileToExpert := task.NewTask("sendEmailFileToExpert", "0 */5 6-23 * * *", SendEmailFileToExpert) //预约外呼名单,会前1小时自动发送邮件给专家组
@@ -96,8 +96,8 @@ func Task() {
 		reportBillboardUpdate := task.NewTask("reportBillboardUpdate", "0 10 0 * * *", ReportBillboardUpdate) //报告榜单更新
 		task.AddTask("reportBillboardUpdate", reportBillboardUpdate)
 
-		doActivityOnenIdWxTemplateMsg := task.NewTask("doActivityOnenIdWxTemplateMsg", "0 30 16 * * 0", DoActivityOnenIdWxTemplateMsg) //周日下午四点半推送全部活动
-		task.AddTask("doActivityOnenIdWxTemplateMsg", doActivityOnenIdWxTemplateMsg)
+		//doActivityOnenIdWxTemplateMsg := task.NewTask("doActivityOnenIdWxTemplateMsg", "0 30 16 * * 0", DoActivityOnenIdWxTemplateMsg) //周日下午四点半推送全部活动
+		//task.AddTask("doActivityOnenIdWxTemplateMsg", doActivityOnenIdWxTemplateMsg)
 
 		updateCygxActivitySpecialSignupNum := task.NewTask("updateCygxActivitySpecialSignupNum", "0 25 0 * * *", UpdateCygxActivitySpecialSignupNum) //修改专项调研,用户与公司的参与数量
 		task.AddTask("updateCygxActivitySpecialSignupNum", updateCygxActivitySpecialSignupNum)
@@ -133,13 +133,15 @@ func Task() {
 		task.AddTask("updateCygxUserYanxuanPermissionToClose", updateCygxUserYanxuanPermissionToClose) //关闭到期个人用户研选权限
 
 	}
-	if utils.RunMode != "release" {
-		getArticleListByApi := task.NewTask("getArticleListByApi", "0 */60 * * * *", GetArticleListByApi) //通过三方接口获取策略平台上的文章
-		task.AddTask("getArticleListByApi", getArticleListByApi)
-	}
+	//if utils.RunMode != "release" {
+	//	getArticleListByApi := task.NewTask("getArticleListByApi", "0 */60 * * * *", GetArticleListByApi) //通过三方接口获取策略平台上的文章
+	//	task.AddTask("getArticleListByApi", getArticleListByApi)
+	//}
 
 	go UserLabelLogReduce()              // 处理用户标签的队列消息
 	go YanXuanActivityPointsBillReduce() // 处理研选活动扣点
+	go UpdateArticleByRedis()            // 处理策略平台同步过来的文章
+
 	//GetCygxActivityAttendanceDetail()
 	//CreateIndexNameArticleHistory()
 	//AddAllArticleHistory()

+ 1 - 0
utils/constants.go

@@ -129,6 +129,7 @@ const (
 	YI_DONG_ZHENG_TONG_YUN_TOKEN_KEY = "YI_DONG_ZHENG_TONG_YUN_TOKEN_KEY" //易董证通云的token,存Redis使用
 	CYGX_USER_KEY_LABEL              = "CYGX_USER_KEY_LABEL"              //查研观向用户标签
 	CYGX_YANXUAN_POINTS_KEY          = "CYGX_YANXUAN_POINTS_KEY"          //查研观向研选活动扣点KEY
+	CYGX_ARTICLE_UPDATE_KEY          = "CYGX_ARTICLE_UPDATE_KEY"          //策略平台更新文章key
 )
 
 const (