Browse Source

no message

xingzai 2 years ago
parent
commit
64cea5d642
2 changed files with 129 additions and 133 deletions
  1. 65 71
      services/article.go
  2. 64 62
      services/task.go

+ 65 - 71
services/article.go

@@ -9,8 +9,6 @@ import (
 	"hongze/hongze_cygx/models"
 	"hongze/hongze_cygx/utils"
 	"html"
-	"io/ioutil"
-	nhttp "net/http"
 	"net/url"
 	"strconv"
 	"strings"
@@ -612,7 +610,8 @@ func GetCeLueArticlePv(cont context.Context) (err error) {
 
 }
 
-func GetArticleListByApi(cont context.Context) (err error) {
+//func GetArticleListByApi(cont context.Context) (err error) {
+func GetArticleListByApi() (err error) {
 	defer func() {
 		if err != nil {
 			//fmt.Println("GetArticleListByApi Err:" + err.Error())
@@ -629,29 +628,27 @@ func GetArticleListByApi(cont context.Context) (err error) {
 	if len(listUpdateArticle) == 0 {
 		return err
 	}
-
-	requestUrl := "https://vmp.hzinsights.com/v2api/articles/mp?take=100&skip=0&publish_status=2,4&order=publish_date&sort=DESC"
-	method := "GET"
-	client := &nhttp.Client{}
-	req, err := nhttp.NewRequest(method, requestUrl, nil)
-	if err != nil {
-		fmt.Println("GetListApi Err:", err.Error())
-		return err
-	}
-	req.Header.Add("Authorization", "bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkiLCJwaG9uZV9udW1iZXIiOiIxMjM0NTY3ODkiLCJuYW1lIjoi5YW25LuWIiwiZW50cmFuY2UiOiJwYXNzd3dvcmQiLCJpYXQiOjE2MzQ4NzA1OTQsImV4cCI6MTYzNDg3NDE5NH0.tho2L9jsbDPn8ltEGUVDve_nHsh0Kzf6ZrSz0RcZ0ag")
-	res, err := client.Do(req)
-	if err != nil {
-		fmt.Println(err)
-		return err
+	for _, v := range listUpdateArticle {
+		go HandleArticleListByApi(v.ArticleId)
 	}
-	defer res.Body.Close()
-	body, err := ioutil.ReadAll(res.Body)
+
+	return
+}
+
+//处理同步过来的文章
+func HandleArticleListByApi(artcleId int) (err error) {
+	var clueApiUrl string
+	clueApiUrl = fmt.Sprint(utils.ApiUrl, "articles/", artcleId)
+	fmt.Println(clueApiUrl)
+
+	authorization := utils.ApiAuthorization
+	body, err := PublicGetDate(clueApiUrl, authorization)
 	if err != nil {
-		fmt.Println("Getres.Body Err:", err.Error())
-		return err
+		return
 	}
-	var pdfResult models.ArticleResultApi
-	err = json.Unmarshal(body, &pdfResult)
+
+	var articleResult models.ArticleResultApidate
+	err = json.Unmarshal(body, &articleResult)
 	if err != nil {
 		fmt.Println("Getres.pdfResult Err:", err.Error())
 		return err
@@ -684,56 +681,55 @@ func GetArticleListByApi(cont context.Context) (err error) {
 			summaryMap[v.OldId] = 1
 		}
 	}
-	listData := pdfResult.Data
 	var list []*models.Tactics2
 	var listAuthor []*models.CygxArticleAuthor
-	for _, v := range listData {
-		//状态等于 2 跟 4 的进行同步
-		if exitMap[v.SeriesId] > 0 && (v.PublishStatus == 2 || v.PublishStatus == 4) {
-			v.PublishDate = time.Date(v.PublishDate.Year(), v.PublishDate.Month(), v.PublishDate.Day(), v.PublishDate.Hour(), v.PublishDate.Minute(), v.PublishDate.Second(), v.PublishDate.Nanosecond(), time.Local)
-			item := new(models.Tactics2)
-			itemAuthor := new(models.CygxArticleAuthor)
-			item.ArticleId = v.ArticleId
-			item.Title = v.Title
-			item.TitleEn = v.TitleEn
-			item.File = v.File
-			if v.Frequency == "日度" {
-				item.UpdateFrequency = "daily"
-			} else if v.Frequency == "周度" {
-				item.UpdateFrequency = "weekly"
-			} else if v.Frequency == "月度" {
-				item.UpdateFrequency = "monthly"
-			} else if v.Frequency == "季度" {
-				item.UpdateFrequency = "quarterly"
-			} else if v.Frequency == "年度" {
-				item.UpdateFrequency = "yearly"
-			} else {
-				item.UpdateFrequency = "unknow"
-			}
-			item.CreateDate = v.CreateDate
-			item.PublishDate = v.PublishDate.Add(time.Hour * 8)
-			item.PublishStatus = 1
-			item.Body = v.Content.Body
-			item.Abstract = v.Content.Abstract
-			item.CategoryName = v.Industry.Name
-			item.CategoryId = exitMap[v.SeriesId]
-			item.SubCategoryName = v.Series.Name
-			if len(v.Stock) > 0 {
-				var stock string
-				for _, vS := range v.Stock {
-					stock += vS + "/"
-				}
-				stock = strings.TrimRight(stock, "/")
-				item.Stock = stock
+
+	//状态等于 2 跟 4 的进行同步
+	if exitMap[articleResult.SeriesId] > 0 && (v.PublishStatus == 2 || v.PublishStatus == 4) {
+		v.PublishDate = time.Date(v.PublishDate.Year(), v.PublishDate.Month(), v.PublishDate.Day(), v.PublishDate.Hour(), v.PublishDate.Minute(), v.PublishDate.Second(), v.PublishDate.Nanosecond(), time.Local)
+		item := new(models.Tactics2)
+		itemAuthor := new(models.CygxArticleAuthor)
+		item.ArticleId = v.ArticleId
+		item.Title = v.Title
+		item.TitleEn = v.TitleEn
+		item.File = v.File
+		if v.Frequency == "日度" {
+			item.UpdateFrequency = "daily"
+		} else if v.Frequency == "周度" {
+			item.UpdateFrequency = "weekly"
+		} else if v.Frequency == "月度" {
+			item.UpdateFrequency = "monthly"
+		} else if v.Frequency == "季度" {
+			item.UpdateFrequency = "quarterly"
+		} else if v.Frequency == "年度" {
+			item.UpdateFrequency = "yearly"
+		} else {
+			item.UpdateFrequency = "unknow"
+		}
+		item.CreateDate = v.CreateDate
+		item.PublishDate = v.PublishDate.Add(time.Hour * 8)
+		item.PublishStatus = 1
+		item.Body = v.Content.Body
+		item.Abstract = v.Content.Abstract
+		item.CategoryName = v.Industry.Name
+		item.CategoryId = exitMap[v.SeriesId]
+		item.SubCategoryName = v.Series.Name
+		if len(v.Stock) > 0 {
+			var stock string
+			for _, vS := range v.Stock {
+				stock += vS + "/"
 			}
-			item.FieldName = v.Field.Name
-			list = append(list, item)
-			itemAuthor.ArticleId = v.ArticleId
-			itemAuthor.Name = v.Author.Name
-			itemAuthor.Mobile = v.Author.PhoneNumber
-			listAuthor = append(listAuthor, itemAuthor)
+			stock = strings.TrimRight(stock, "/")
+			item.Stock = stock
 		}
+		item.FieldName = v.Field.Name
+		list = append(list, item)
+		itemAuthor.ArticleId = v.ArticleId
+		itemAuthor.Name = v.Author.Name
+		itemAuthor.Mobile = v.Author.PhoneNumber
+		listAuthor = append(listAuthor, itemAuthor)
 	}
+
 	//同步作者
 	for _, v := range listAuthor {
 		var count int
@@ -1125,7 +1121,5 @@ func GetArticleListByApi(cont context.Context) (err error) {
 			//【公司调研】系列纪要发布/更新后 end
 		}
 	}
-	return
+	return err
 }
-
-//func

+ 64 - 62
services/task.go

@@ -14,68 +14,70 @@ import (
 
 func Task() {
 	fmt.Println("start")
-	if utils.RunMode == "release" && utils.IsTask {
-		//syncTacticsListAddreport := task.NewTask("syncTacticsListAddreport", "0 */5 * * * *", SyncTacticsListAddreport) //同步文章
-		//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)
-
-		//会议提醒模板消息推送
-		sendActivityBeginMsg := task.NewTask("sendActivityBeginMsg", "0 */10 8-22 * * *", SendActivityBeginMsg) //会议前60分钟的提醒
-		task.AddTask("sendActivityBeginMsg", sendActivityBeginMsg)
-		sendActivityBeginMsgMeeting := task.NewTask("sendActivityBeginMsgMeeting", "0 */5 8-22 * * *", SendActivityBeginMsgMeeting) //会议前15分钟的提醒
-		task.AddTask("sendActivityBeginMsgMeeting", sendActivityBeginMsgMeeting)
-
-		//预约外呼名单,会前1小时自动发送邮件给专家组
-		sendEmailFileToExpert := task.NewTask("sendEmailFileToExpert", "0 */5 8-22 * * *", SendEmailFileToExpert) //预约外呼名单,会前1小时自动发送邮件给专家组
-		task.AddTask("sendEmailFileToExpert", sendEmailFileToExpert)
-
-		sendEmailUserWhiteListChange := task.NewTask("sendEmailUserWhiteListChange", "0 00 17 * * *", SendEmailUserWhiteListChange) //新增 和冻结的客户白名单
-		task.AddTask("白名单发送", sendEmailUserWhiteListChange)
-
-		dotongbuShangHai := task.NewTask("dotongbuShangHai", "0 */20 * * * *", DotongbuShangHai) //把信息同步到上海策略品台
-		task.AddTask("同步用户到上海", dotongbuShangHai)
-
-		dotongbuShangHaiSendEmail := task.NewTask("dotongbuShangHaiSendEmail", "0 00 4 * * *", DotongbuShangHaiSendEmail) //发送上海策略品台同步结果名单的邮件附件
-		task.AddTask("发送上海策略品台同步结果名单的邮件附件", dotongbuShangHaiSendEmail)
-
-		getChartListByApi := task.NewTask("getChartListByApi", "0 */30 * * * *", GetChartListByApi) //同步图表
-		task.AddTask("getChartListByApi", getChartListByApi)
-	}
-
-	if utils.IsTask {
-		//修改任务状
-		updateActivitySattus := task.NewTask("syncTacticsListAddreport", "0 */1 8-22 * * *", UpdateActivitySattus)
-		task.AddTask("updateActivitySattus", updateActivitySattus)
-
-		//更新深 和新的标签
-		updateIndustrialManagementLabel := task.NewTask("updateIndustrialManagementLabel", "0 */30 * * * *", UpdateIndustrialManagementLabel)
-		task.AddTask("updateIndustrialManagementLabel", updateIndustrialManagementLabel)
-
-		//更改对应产业的文章阅读数量
-		chageIndustrialArticleNum := task.NewTask("chageIndustrialArticleNum", "0 01 00 * * *", ChageIndustrialArticleNum) //更改对应产业的文章阅读数量
-		task.AddTask("chageIndustrialArticleNum", chageIndustrialArticleNum)
-		activityAttendanceDetail := task.NewTask("activityAttendanceDetail", "0 00 3 * * *", ActivityAttendanceDetail) //同步进门财经的路演信息
-		task.AddTask("sendEmailUserWhiteListChange", activityAttendanceDetail)
-
-		sendEmailFileForAskMsgResearch := task.NewTask("sendEmailFileForAskMsgResearch", "0 */5 8-22 * * *", SendEmailFileForAskMsgResearch) //研选系列专家电话会,会前1小时将问题列表发送给邮箱
-		task.AddTask("sendEmailFileForAskMsgResearch", sendEmailFileForAskMsgResearch)
-
-		sendEmailFileForAskMsg := task.NewTask("sendEmailFileForAskMsg", "0 */5 8-22 * * *", SendEmailFileForAskMsg) //非研选系列专家电话会,根据主持人姓名,会前15分钟将问题列表发送给至该主持人对应邮箱
-		task.AddTask("sendEmailFileForAskMsg", sendEmailFileForAskMsg)
-
-		updateWxUserLabel := task.NewTask("updateWxUserLabel", "0 01 0 * * *", UpdateWxUserLabel) //更新用户的标签
-		task.AddTask("updateWxUserLabel", updateWxUserLabel)
-
-		getCeLueArticlePv := task.NewTask("getCeLueArticlePv", "0 */10 * * * *", GetCeLueArticlePv) //通过三方接口获取策略平台上的阅读记录
-		task.AddTask("getCeLueArticlePv", getCeLueArticlePv)
-	}
-	if utils.RunMode != "release" {
-		getArticleListByApi := task.NewTask("getArticleListByApi", "0 */60 * * * *", GetArticleListByApi) //通过三方接口获取策略平台上的文章
-		task.AddTask("getArticleListByApi", getArticleListByApi)
-	}
+	//if utils.RunMode == "release" && utils.IsTask {
+	//	//syncTacticsListAddreport := task.NewTask("syncTacticsListAddreport", "0 */5 * * * *", SyncTacticsListAddreport) //同步文章
+	//	//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)
+	//
+	//	//会议提醒模板消息推送
+	//	sendActivityBeginMsg := task.NewTask("sendActivityBeginMsg", "0 */10 8-22 * * *", SendActivityBeginMsg) //会议前60分钟的提醒
+	//	task.AddTask("sendActivityBeginMsg", sendActivityBeginMsg)
+	//	sendActivityBeginMsgMeeting := task.NewTask("sendActivityBeginMsgMeeting", "0 */5 8-22 * * *", SendActivityBeginMsgMeeting) //会议前15分钟的提醒
+	//	task.AddTask("sendActivityBeginMsgMeeting", sendActivityBeginMsgMeeting)
+	//
+	//	//预约外呼名单,会前1小时自动发送邮件给专家组
+	//	sendEmailFileToExpert := task.NewTask("sendEmailFileToExpert", "0 */5 8-22 * * *", SendEmailFileToExpert) //预约外呼名单,会前1小时自动发送邮件给专家组
+	//	task.AddTask("sendEmailFileToExpert", sendEmailFileToExpert)
+	//
+	//	sendEmailUserWhiteListChange := task.NewTask("sendEmailUserWhiteListChange", "0 00 17 * * *", SendEmailUserWhiteListChange) //新增 和冻结的客户白名单
+	//	task.AddTask("白名单发送", sendEmailUserWhiteListChange)
+	//
+	//	dotongbuShangHai := task.NewTask("dotongbuShangHai", "0 */20 * * * *", DotongbuShangHai) //把信息同步到上海策略品台
+	//	task.AddTask("同步用户到上海", dotongbuShangHai)
+	//
+	//	dotongbuShangHaiSendEmail := task.NewTask("dotongbuShangHaiSendEmail", "0 00 4 * * *", DotongbuShangHaiSendEmail) //发送上海策略品台同步结果名单的邮件附件
+	//	task.AddTask("发送上海策略品台同步结果名单的邮件附件", dotongbuShangHaiSendEmail)
+	//
+	//	getChartListByApi := task.NewTask("getChartListByApi", "0 */30 * * * *", GetChartListByApi) //同步图表
+	//	task.AddTask("getChartListByApi", getChartListByApi)
+	//}
+	//
+	//if utils.IsTask {
+	//	//修改任务状
+	//	updateActivitySattus := task.NewTask("syncTacticsListAddreport", "0 */1 8-22 * * *", UpdateActivitySattus)
+	//	task.AddTask("updateActivitySattus", updateActivitySattus)
+	//
+	//	//更新深 和新的标签
+	//	updateIndustrialManagementLabel := task.NewTask("updateIndustrialManagementLabel", "0 */30 * * * *", UpdateIndustrialManagementLabel)
+	//	task.AddTask("updateIndustrialManagementLabel", updateIndustrialManagementLabel)
+	//
+	//	//更改对应产业的文章阅读数量
+	//	chageIndustrialArticleNum := task.NewTask("chageIndustrialArticleNum", "0 01 00 * * *", ChageIndustrialArticleNum) //更改对应产业的文章阅读数量
+	//	task.AddTask("chageIndustrialArticleNum", chageIndustrialArticleNum)
+	//	activityAttendanceDetail := task.NewTask("activityAttendanceDetail", "0 00 3 * * *", ActivityAttendanceDetail) //同步进门财经的路演信息
+	//	task.AddTask("sendEmailUserWhiteListChange", activityAttendanceDetail)
+	//
+	//	sendEmailFileForAskMsgResearch := task.NewTask("sendEmailFileForAskMsgResearch", "0 */5 8-22 * * *", SendEmailFileForAskMsgResearch) //研选系列专家电话会,会前1小时将问题列表发送给邮箱
+	//	task.AddTask("sendEmailFileForAskMsgResearch", sendEmailFileForAskMsgResearch)
+	//
+	//	sendEmailFileForAskMsg := task.NewTask("sendEmailFileForAskMsg", "0 */5 8-22 * * *", SendEmailFileForAskMsg) //非研选系列专家电话会,根据主持人姓名,会前15分钟将问题列表发送给至该主持人对应邮箱
+	//	task.AddTask("sendEmailFileForAskMsg", sendEmailFileForAskMsg)
+	//
+	//	updateWxUserLabel := task.NewTask("updateWxUserLabel", "0 01 0 * * *", UpdateWxUserLabel) //更新用户的标签
+	//	task.AddTask("updateWxUserLabel", updateWxUserLabel)
+	//
+	//	getCeLueArticlePv := task.NewTask("getCeLueArticlePv", "0 */10 * * * *", GetCeLueArticlePv) //通过三方接口获取策略平台上的阅读记录
+	//	task.AddTask("getCeLueArticlePv", getCeLueArticlePv)
+	//}
+	//if utils.RunMode != "release" {
+	//	getArticleListByApi := task.NewTask("getArticleListByApi", "0 */60 * * * *", GetArticleListByApi) //通过三方接口获取策略平台上的文章
+	//	task.AddTask("getArticleListByApi", getArticleListByApi)
+	//}
+
+	GetArticleListByApi()
 	//DoCompany()
 	//ActivityAttendanceDetail()
 	//SynchronizationArthistory()//同步原有的阅读记录