rdluck 4 years ago
parent
commit
f98eba0214
6 changed files with 74 additions and 40 deletions
  1. 0 5
      controllers/home.go
  2. 3 0
      controllers/user.go
  3. 23 3
      models/tactics.go
  4. 27 28
      services/elastic.go
  5. 20 3
      services/tactics.go
  6. 1 1
      services/task.go

+ 0 - 5
controllers/home.go

@@ -5,7 +5,6 @@ import (
 	"hongze/hongze_cygx/services"
 	"hongze/hongze_cygx/utils"
 	"rdluck_tools/paging"
-	"time"
 )
 
 type HomeController struct {
@@ -81,10 +80,6 @@ func (this *HomeController) ListHome() {
 	lenList := len(list)
 	for i := 0; i < lenList; i++ {
 		item := list[i]
-		publishDate, _ := time.Parse(utils.FormatDateTime, item.PublishDate)
-		hh, _ := time.ParseDuration("8h")
-		publishDate = publishDate.Add(hh)
-		list[i].PublishDate = publishDate.Format(utils.FormatDateTime)
 		list[i].Body, _ = services.GetReportContentTextSub(item.Body)
 	}
 	resp.List = list

+ 3 - 0
controllers/user.go

@@ -2,6 +2,7 @@ package controllers
 
 import (
 	"encoding/json"
+	"fmt"
 	"hongze/hongze_cygx/models"
 	"hongze/hongze_cygx/services"
 	"hongze/hongze_cygx/utils"
@@ -876,6 +877,8 @@ func (this *UserController) ApplyTryOut() {
 	if cnf != nil {
 		openIpItem, _ := models.GetUserRecordByUserId(user.UserId, 1)
 		if openIpItem != nil && openIpItem.OpenId != "" {
+			fmt.Println("推送消息", req.RealName, req.CompanyName, mobile, openIpItem.OpenId, applyMethod)
+			utils.FileLog.Info("推送消息 %s %s,%s,%s,%s", req.RealName, req.CompanyName, mobile, openIpItem.OpenId, applyMethod)
 			go services.SendPermissionApplyTemplateMsg(req.RealName, req.CompanyName, mobile, openIpItem.OpenId, applyMethod)
 		}
 	}

+ 23 - 3
models/tactics.go

@@ -20,14 +20,34 @@ type Tactics struct {
 }
 
 func GetTacticsList(endDate string) (list []*Tactics, err error) {
+	o := orm.NewOrm()
+	o.Using("tactics")
+	//sql := `SELECT a.*,b.body,b.abstract,b.annotation,b.article_id,d.category_name,d.sub_category_name,c.category_id
+	//		FROM article_articleinfo AS a
+	//		INNER JOIN article_content AS b ON a.id=b.article_id
+	//		INNER JOIN article_category AS c ON a.id=c.article_id
+	//		INNER JOIN article_categoryinfo AS d ON c.category_id=d.id
+	//		WHERE a.publish_status=1 AND d.id IN (79, 28, 32, 84) `
+
+	sql := `SELECT a.*,b.body,b.abstract,b.annotation,b.article_id,d.category_name,d.sub_category_name,c.category_id
+				FROM article_articleinfo AS a
+				INNER JOIN article_content AS b ON a.id=b.article_id
+				INNER JOIN article_category AS c ON a.id=c.article_id
+				INNER JOIN article_categoryinfo AS d ON c.category_id=d.id
+				WHERE a.publish_status=1 AND a.publish_date>=? AND d.id IN (79, 28, 32, 84) `
+	_, err = o.Raw(sql, endDate).QueryRows(&list)
+	return
+}
+
+func GetTacticsListAll() (list []*Tactics, err error) {
 	o := orm.NewOrm()
 	o.Using("tactics")
 	sql := `SELECT a.*,b.body,b.abstract,b.annotation,b.article_id,d.category_name,d.sub_category_name,c.category_id
 			FROM article_articleinfo AS a
 			INNER JOIN article_content AS b ON a.id=b.article_id
 			INNER JOIN article_category AS c ON a.id=c.article_id
-			INNER JOIN article_categoryinfo AS d ON c.category_id=d.id 
-			WHERE a.publish_status=1 AND a.publish_date>=? AND d.id IN (79, 28, 32, 84) `
-	_, err = o.Raw(sql, endDate).QueryRows(&list)
+			INNER JOIN article_categoryinfo AS d ON c.category_id=d.id
+			WHERE a.publish_status=1 AND d.id IN (79, 28, 32, 84) `
+	_, err = o.Raw(sql).QueryRows(&list)
 	return
 }

+ 27 - 28
services/elastic.go

@@ -70,8 +70,11 @@ func EsAddOrEditData(indexName, docId string, item *ElasticArticleDetail) (err e
 	}
 	if searchById != nil && searchById.Found {
 		resp, err := client.Update().Index(indexName).Id(docId).Doc(map[string]interface{}{
-			"BodyText": item.BodyText,
-			"Title":    item.Title,
+			"BodyText":    item.BodyText,
+			"Title":       item.Title,
+			"PublishDate": item.PublishDate,
+			"TitleEn":     item.TitleEn,
+			"CreateDate":  item.CreateDate,
 		}).Do(context.Background())
 		if err != nil {
 			return err
@@ -85,7 +88,7 @@ func EsAddOrEditData(indexName, docId string, item *ElasticArticleDetail) (err e
 	} else {
 		resp, err := client.Index().Index(indexName).Id(docId).BodyJson(item).Do(context.Background())
 		if err != nil {
-			fmt.Println("新增失败:",err.Error())
+			fmt.Println("新增失败:", err.Error())
 			return err
 		}
 		if resp.Status == 0 && resp.Result == "created" {
@@ -382,7 +385,6 @@ func EsMultiMatchFunctionScoreQuery(indexName, keyWord string, startSize, pageSi
 	keyWordArr, err := GetIndustryMapNameSliceV2(keyWord)
 
 	keyWordArr = RemoveDuplicatesAndEmpty(keyWordArr)
-	searchMap := make(map[int]int)
 	boolquery := elastic.NewBoolQuery()
 	matchArr := make([]elastic.Query, 0)
 
@@ -424,32 +426,29 @@ func EsMultiMatchFunctionScoreQuery(indexName, keyWord string, startSize, pageSi
 				if err != nil {
 					return nil, 0, err
 				}
-				if _, ok := searchMap[article.ArticleId]; !ok {
-					searchItem := new(models.SearchItem)
-					searchItem.ArticleId, _ = strconv.Atoi(v.Id)
-					if len(v.Highlight["BodyText"]) > 0 {
-						searchItem.Body = v.Highlight["BodyText"]
-					} else {
-						bodyRune := []rune(article.BodyText)
-						bodyRuneLen := len(bodyRune)
-						if bodyRuneLen > 100 {
-							bodyRuneLen = 100
-						}
-						body := string(bodyRune[:bodyRuneLen])
-						fmt.Println(body)
-						searchItem.Body = []string{body}
-					}
-					var title string
-					if len(v.Highlight["Title"]) > 0 {
-						title = v.Highlight["Title"][0]
-					} else {
-						title = article.Title
+				searchItem := new(models.SearchItem)
+				searchItem.ArticleId, _ = strconv.Atoi(v.Id)
+				if len(v.Highlight["BodyText"]) > 0 {
+					searchItem.Body = v.Highlight["BodyText"]
+				} else {
+					bodyRune := []rune(article.BodyText)
+					bodyRuneLen := len(bodyRune)
+					if bodyRuneLen > 100 {
+						bodyRuneLen = 100
 					}
-					searchItem.Title = title
-					searchItem.PublishDate = article.PublishDate
-					result = append(result, searchItem)
-					searchMap[article.ArticleId] = article.ArticleId
+					body := string(bodyRune[:bodyRuneLen])
+					fmt.Println(body)
+					searchItem.Body = []string{body}
 				}
+				var title string
+				if len(v.Highlight["Title"]) > 0 {
+					title = v.Highlight["Title"][0]
+				} else {
+					title = article.Title
+				}
+				searchItem.Title = title
+				searchItem.PublishDate = article.PublishDate
+				result = append(result, searchItem)
 			}
 		}
 	}

+ 20 - 3
services/tactics.go

@@ -23,6 +23,7 @@ func SyncTacticsList() (err error) {
 
 	endDate := time.Now().AddDate(0, 0, -5).Format(utils.FormatDate)
 	list, err := models.GetTacticsList(endDate)
+	//list, err := models.GetTacticsListAll()
 	if err != nil {
 		fmt.Println("GetTacticsList Err:", err.Error())
 		return
@@ -30,11 +31,23 @@ func SyncTacticsList() (err error) {
 	fmt.Println("list len:", len(list))
 
 	for k, v := range list {
-		fmt.Println(k,v.ArticleId)
+		fmt.Println(k, v.ArticleId)
+
+		publishDate, err := time.Parse(utils.FormatDateTime, v.PublishDate)
+		if err != nil {
+			fmt.Println("time.Parse:", err.Error())
+			return err
+		}
+		fmt.Println(publishDate)
+
+		hh, _ := time.ParseDuration("8h")
+		pDate := publishDate.Add(hh)
+		v.PublishDate = pDate.Format(utils.FormatDateTime)
+
 		//判断是否已经存在
 		if v.ArticleId < 0 {
 			fmt.Println("参数错误")
-			return
+			return err
 		}
 		count, err := models.GetArticleCountById(v.ArticleId)
 		if err != nil && err.Error() != utils.ErrNoRow() {
@@ -62,7 +75,10 @@ func SyncTacticsList() (err error) {
 			updateParams["InterviewDate"] = interviewDateStr
 			updateParams["Department"] = v.Department
 			whereParam := map[string]interface{}{"article_id": v.ArticleId}
-			go models.UpdateByExpr(models.CygxArticle{}, whereParam, updateParams)
+			err = models.UpdateByExpr(models.CygxArticle{}, whereParam, updateParams)
+			if err != nil {
+				fmt.Println("UpdateByExpr Err:" + err.Error())
+			}
 		} else {
 			fmt.Println(k, v.ArticleId, "add")
 			item := new(models.CygxArticle)
@@ -97,6 +113,7 @@ func SyncTacticsList() (err error) {
 			fmt.Println("create doc err:", err.Error())
 			return err
 		}
+
 		bodyText := doc.Text()
 		item := new(ElasticArticleDetail)
 		item.ArticleId = v.ArticleId

+ 1 - 1
services/task.go

@@ -11,7 +11,7 @@ func Task() {
 	//同步数据
 	syncTacticsList := toolbox.NewTask("syncTacticsList", "0 */5 * * * *", SyncTacticsList)
 	toolbox.AddTask("syncTacticsList", syncTacticsList)
-
+	//SyncTacticsList()
 	//toolbox.StartTask()
 	//keyWord := "专家"
 	//pageSize := 20