Browse Source

通过三方接口获取策略平台上的阅读记录优化

xingzai 3 years ago
parent
commit
108569c4b1
2 changed files with 84 additions and 74 deletions
  1. 27 20
      services/article.go
  2. 57 54
      services/task.go

+ 27 - 20
services/article.go

@@ -11,6 +11,7 @@ import (
 	"html"
 	"html"
 	"io/ioutil"
 	"io/ioutil"
 	nhttp "net/http"
 	nhttp "net/http"
+	"net/url"
 	"strconv"
 	"strconv"
 	"strings"
 	"strings"
 	"time"
 	"time"
@@ -799,37 +800,45 @@ func PushViewRecordNewRedisData(reportViewRecord *ReportViewRecord, companyId in
 	return false
 	return false
 }
 }
 
 
-func GetCeLueArticlePv() {
-	sum := 0
-	for i := 0; i <= 450; i++ {
-		if i >= 102 {
-			GetCeLueArticlePvs(strconv.Itoa(i * 1000))
-		}
-	}
-	fmt.Println(sum)
-}
+//func GetCeLueArticlePv() {
+//	sum := 0
+//	for i := 0; i <= 450; i++ {
+//		if i >= 102 {
+//			//GetCeLueArticlePvs(strconv.Itoa(i * 1000))
+//		}
+//	}
+//	fmt.Println(sum)
+//}
 
 
 //获取策略平台报告阅读数据
 //获取策略平台报告阅读数据
-func GetCeLueArticlePvs(page string) (err error) {
-
+func GetCeLueArticlePv(cont context.Context) (err error) {
 	defer func() {
 	defer func() {
 		if err != nil {
 		if err != nil {
 			go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "GetArticleListByApi ErrMsg:"+err.Error(), utils.EmailSendToUsers)
 			go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "GetArticleListByApi ErrMsg:"+err.Error(), utils.EmailSendToUsers)
 		}
 		}
 	}()
 	}()
-	url := utils.ApiUrl + "backend/statistics_access?take=1000&skip=" + page + "&sort=ASC"
-	fmt.Println(url)
+	startTime := time.Now().Add(-time.Minute * 12).Format("2006-01-02 15:04:05")
+	endTime := time.Now().Format("2006-01-02 15:04:05")
+	requestUrl := utils.ApiUrl + "backend/statistics_access?take=1000&skip=0&sort=ASC&"
+	encodeData := url.Values{}
+	encodeData.Add("start_dt", startTime)
+	encodeData.Add("end_dt", endTime)
+	encodeStr := encodeData.Encode()
+	requestUrl += encodeStr
 	authorization := utils.ApiAuthorization
 	authorization := utils.ApiAuthorization
-	body, err := PublicGetDate(url, authorization)
+	body, err := PublicGetDate(requestUrl, authorization)
 	if err != nil {
 	if err != nil {
 		return
 		return
 	}
 	}
 	var chartResult models.CeLueArticleResultApi
 	var chartResult models.CeLueArticleResultApi
 	err = json.Unmarshal(body, &chartResult)
 	err = json.Unmarshal(body, &chartResult)
 	if err != nil {
 	if err != nil {
+		fmt.Println(err)
 		return err
 		return err
 	}
 	}
+
 	for _, v := range chartResult.Data {
 	for _, v := range chartResult.Data {
+		//fmt.Println(v.ArticleId)
 		item := new(models.CygxCelueArticleHistoryRecord)
 		item := new(models.CygxCelueArticleHistoryRecord)
 		item.CelueHistoryId = v.CelueHistoryId
 		item.CelueHistoryId = v.CelueHistoryId
 		item.Mobile = v.Mobile
 		item.Mobile = v.Mobile
@@ -842,12 +851,10 @@ func GetCeLueArticlePvs(page string) (err error) {
 		}
 		}
 		item.CreateDateApi = time.Now()
 		item.CreateDateApi = time.Now()
 		item.CreateTime = v.CreateDate
 		item.CreateTime = v.CreateDate
-		fmt.Println(item.CelueHistoryId)
-		//count, err := models.GetCeLueArticleCountById(v.CelueHistoryId)
-		//if err != nil && err.Error() != utils.ErrNoRow() {
-		//	return err
-		//}
-		var count int
+		count, err := models.GetCeLueArticleCountById(v.CelueHistoryId)
+		if err != nil && err.Error() != utils.ErrNoRow() {
+			return err
+		}
 		if count == 0 {
 		if count == 0 {
 			_, err := models.AddCeLueArticle(item)
 			_, err := models.AddCeLueArticle(item)
 			if err != nil {
 			if err != nil {

+ 57 - 54
services/task.go

@@ -14,60 +14,63 @@ import (
 
 
 func Task() {
 func Task() {
 	fmt.Println("start")
 	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 30 3 * * *", 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)
-	//
-	//}
-
-	GetCeLueArticlePv()
+	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)
+
+		getCeLueArticlePv := task.NewTask("getCeLueArticlePv", "0 */10 * * * *", GetCeLueArticlePv) //通过三方接口获取策略平台上的阅读记录
+		task.AddTask("getCeLueArticlePv", getCeLueArticlePv)
+
+		//会议提醒模板消息推送
+		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 30 3 * * *", 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)
+
+	}
+
 	//ActivityAttendanceDetail()
 	//ActivityAttendanceDetail()
 	//SynchronizationArthistory()//同步原有的阅读记录
 	//SynchronizationArthistory()//同步原有的阅读记录
 	//GetAddpArticle() //同步日度点评数据
 	//GetAddpArticle() //同步日度点评数据