Browse Source

策略文章定时任务同步,Es模块的拆分

xingzai 3 years ago
parent
commit
764e39ed0e
5 changed files with 92 additions and 38 deletions
  1. 14 15
      controllers/report.go
  2. 1 1
      controllers/search.go
  3. 3 3
      services/elastic.go
  4. 68 18
      services/tactics.go
  5. 6 1
      services/task.go

+ 14 - 15
controllers/report.go

@@ -8,7 +8,6 @@ import (
 	"hongze/hongze_cygx/utils"
 	"rdluck_tools/paging"
 	"strconv"
-	"strings"
 	"time"
 )
 
@@ -169,13 +168,13 @@ func (this *ReportController) IndustryList() {
 		list = append(listTop, listNoTop...)
 	}
 	for k, v := range list {
-		var analystStr string
-		analystList, err := models.GetIndustrialAnalystAll(v.IndustrialManagementId)
-		if err != nil {
-			br.Msg = "获取信息失败"
-			br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
-			return
-		}
+		//var analystStr string
+		//analystList, err := models.GetIndustrialAnalystAll(v.IndustrialManagementId)
+		//if err != nil {
+		//	br.Msg = "获取信息失败"
+		//	br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
+		//	return
+		//}
 		industrialSubjectList, err := models.GetIndustrialSubjectAll(v.IndustrialManagementId)
 		if err != nil {
 			br.Msg = "获取信息失败"
@@ -183,13 +182,13 @@ func (this *ReportController) IndustryList() {
 			return
 		}
 		list[k].IndustrialSubjectList = industrialSubjectList
-		if len(analystList) > 0 {
-			for _, v2 := range analystList {
-				analystStr += v2.AnalystName + "/"
-			}
-			analystStr = strings.TrimRight(analystStr, "/")
-		}
-		list[k].Analyst = analystStr
+		//if len(analystList) > 0 {
+		//	for _, v2 := range analystList {
+		//		analystStr += v2.AnalystName + "/"
+		//	}
+		//	analystStr = strings.TrimRight(analystStr, "/")
+		//}
+		//list[k].Analyst = analystStr
 		list[k].LayoutTime = utils.TimeRemoveHms(v.LayoutTime)
 		newArtinfo, err := models.GetIndustrialNewArticleDetail(v.IndustrialManagementId)
 		if err != nil {

+ 1 - 1
controllers/search.go

@@ -77,7 +77,7 @@ func (this *SearchController) SearchList() {
 	var total int64
 	var err error
 	if orderColumn == "PublishDate" {
-		tmpResult, tmpTotal, tmpErr := services.EsMultiMatchFunctionScoreQueryTimeSort(indexName, keyWord, startSize, pageSize, user.UserId)
+		tmpResult, tmpTotal, tmpErr := services.EsMultiMatchFunctionScoreQueryTimeSort(indexName, keyWord, startSize, 100, user.UserId)
 		result = tmpResult
 		total = tmpTotal
 		err = tmpErr

+ 3 - 3
services/elastic.go

@@ -679,9 +679,9 @@ func EsMultiMatchFunctionScoreQuerySort(indexName, keyWord string, startSize, pa
 			highlight := elastic.NewHighlight()
 			highlight = highlight.PreTags("<font color='red'>").PostTags("</font>")
 			highlight = highlight.Fields(elastic.NewHighlighterField("Title"), elastic.NewHighlighterField("BodyText"))
-			request := client.Search(indexName).Highlight(highlight).Sort("PublishDate", false).From(startSize).Size(pageSize).Query(boolquery)
+			request := client.Search(indexName).Highlight(highlight).Sort("PublishDate", false).From(0).Size(pageSize).Query(boolquery)
 			if orderColumn == "Matching" {
-				request = client.Search(indexName).Highlight(highlight).From(startSize).Size(pageSize).Query(boolquery)
+				request = client.Search(indexName).Highlight(highlight).From(0).Size(pageSize).Query(boolquery)
 			}
 			searchByMatch, err := request.Do(context.Background())
 			if err != nil {
@@ -769,7 +769,7 @@ func EsMultiMatchFunctionScoreQueryTimeSort(indexName, keyWord string, startSize
 	highlight := elastic.NewHighlight()
 	highlight = highlight.Fields(elastic.NewHighlighterField("Title"), elastic.NewHighlighterField("BodyText"))
 	highlight = highlight.PreTags("<font color='red'>").PostTags("</font>")
-	request := client.Search(indexName).Highlight(highlight).Sort("PublishDate", false).Query(boolquery)
+	request := client.Search(indexName).Highlight(highlight).Sort("PublishDate", false).Size(pageSize).Query(boolquery)
 	searchByMatch, err := request.Do(context.Background())
 
 	if searchByMatch != nil {

+ 68 - 18
services/tactics.go

@@ -290,7 +290,7 @@ func SyncTacticsListAddreport() (err error) {
 		}
 	}()
 	fmt.Println("同步数据")
-	indexName := utils.IndexName
+	//indexName := utils.IndexName
 	endDate := time.Now().AddDate(0, 0, -30).Format(utils.FormatDate)
 	list, err := models.GetTacticsList2(endDate)
 	//list, err := models.GetTacticsListAll2()
@@ -439,25 +439,75 @@ func SyncTacticsListAddreport() (err error) {
 				return err
 			}
 		}
+		////纪要库的数据同步到Es
+		//if v.IsSummary == 1 {
+		//	content := html.UnescapeString(v.Body)
+		//	doc, err := goquery.NewDocumentFromReader(strings.NewReader(content))
+		//	if err != nil {
+		//		fmt.Println("AddCygxArticle Err:", err.Error())
+		//		return err
+		//	}
+		//	doc.Find("a").Each(func(i int, a *goquery.Selection) {
+		//		a.Remove()
+		//	})
+		//	bodyText := doc.Text()
+		//	item := new(ElasticTestArticleDetail)
+		//	item.ArticleId = v.ArticleId
+		//	item.Title = v.Title
+		//	item.BodyText = bodyText
+		//	item.PublishDate = v.PublishDate.Format(utils.FormatDateTime)
+		//	EsAddOrEditData(indexName, strconv.Itoa(v.ArticleId), item)
+		//}
+	}
+	return
+}
+
+//同步策略到Es
+func SyncTacticsListToEs() (err error) {
+	defer func() {
+		if err != nil {
+			fmt.Println("同步失败,Err:", err.Error())
+		}
+	}()
+	fmt.Println("同步数据到Es")
+	indexName := utils.IndexName
+	endDate := time.Now().AddDate(0, 0, -30).Format(utils.FormatDate)
+	list, err := models.GetTacticsList(endDate)
+	//list, err := models.GetTacticsListAll()
+	if err != nil {
+		fmt.Println("GetTacticsList Err:", err.Error())
+		return
+	}
+	fmt.Println("list len:", len(list))
+	for k, v := range list {
+		//是否属于纪要库的数据
+		v.Department = "弘则权益研究"
+		fmt.Println(k, v.ArticleId)
+		hh, _ := time.ParseDuration("8h")
+		//pDate := publishDate.Add(hh)
+		v.PublishDate = v.PublishDate.Add(hh)
+		//判断是否已经存在
+		if v.ArticleId < 0 {
+			fmt.Println("AddCygxArticle Err:")
+			return err
+		}
 		//纪要库的数据同步到Es
-		if v.IsSummary == 1 {
-			content := html.UnescapeString(v.Body)
-			doc, err := goquery.NewDocumentFromReader(strings.NewReader(content))
-			if err != nil {
-				fmt.Println("AddCygxArticle Err:", err.Error())
-				return err
-			}
-			doc.Find("a").Each(func(i int, a *goquery.Selection) {
-				a.Remove()
-			})
-			bodyText := doc.Text()
-			item := new(ElasticTestArticleDetail)
-			item.ArticleId = v.ArticleId
-			item.Title = v.Title
-			item.BodyText = bodyText
-			item.PublishDate = v.PublishDate.Format(utils.FormatDateTime)
-			EsAddOrEditData(indexName, strconv.Itoa(v.ArticleId), item)
+		content := html.UnescapeString(v.Body)
+		doc, err := goquery.NewDocumentFromReader(strings.NewReader(content))
+		if err != nil {
+			fmt.Println("AddCygxArticle Err:", err.Error())
+			return err
 		}
+		doc.Find("a").Each(func(i int, a *goquery.Selection) {
+			a.Remove()
+		})
+		bodyText := doc.Text()
+		item := new(ElasticTestArticleDetail)
+		item.ArticleId = v.ArticleId
+		item.Title = v.Title
+		item.BodyText = bodyText
+		item.PublishDate = v.PublishDate.Format(utils.FormatDateTime)
+		EsAddOrEditData(indexName, strconv.Itoa(v.ArticleId), item)
 	}
 	return
 }

+ 6 - 1
services/task.go

@@ -14,10 +14,15 @@ func Task() {
 		//syncTacticsList := toolbox.NewTask("syncTacticsList", "0 */5 * * * *", SyncTacticsList)
 		//toolbox.AddTask("syncTacticsList", syncTacticsList)
 		//toolbox.StartTask()
-		syncTacticsListAddreport := toolbox.NewTask("syncTacticsListAddreport", "0 */5 * * * *", SyncTacticsListAddreport)
+		syncTacticsListAddreport := toolbox.NewTask("syncTacticsListAddreport", "0 */2 * * * *", SyncTacticsListAddreport)
 		toolbox.AddTask("syncTacticsListAddreport", syncTacticsListAddreport)
+
+		//同步纪要库中的Es
+		syncTacticsListToEs := toolbox.NewTask("syncTacticsListToEs", "0 */3 * * * *", SyncTacticsListToEs)
+		toolbox.AddTask("syncTacticsListToEs", syncTacticsListToEs)
 		toolbox.StartTask()
 	}
+
 	fmt.Println("end")
 }