Browse Source

文档对比改成普通sql查询

xyxie 1 year ago
parent
commit
32c0407166

+ 27 - 48
controllers/semantic_analysis/sa_compare.go

@@ -6,7 +6,6 @@ import (
 	"github.com/rdlucklib/rdluck_tools/paging"
 	"hongze/hz_eta_api/controllers"
 	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
 	saModel "hongze/hz_eta_api/models/semantic_analysis"
 	"hongze/hz_eta_api/services"
 	"hongze/hz_eta_api/utils"
@@ -178,11 +177,6 @@ func (this *SaCompareController) Save() {
 		}
 	}
 
-	// 新增ES对比文档
-	go func() {
-		_ = services.HandleElasticSaCompare(compareItem.SaCompareId)
-	}()
-
 	// 获取表格数据
 	compLabCond := fmt.Sprintf(` AND a.%s = ?`, saModel.SaCompareLabelColumns.CompareId)
 	compLabPars := make([]interface{}, 0)
@@ -325,11 +319,6 @@ func (this *SaCompareController) UpdateResultImg() {
 		return
 	}
 
-	// 新增ES对比文档
-	go func() {
-		_ = services.HandleElasticSaCompare(compareItem.SaCompareId)
-	}()
-
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "操作成功"
@@ -502,9 +491,6 @@ func (this *SaCompareController) Del() {
 		br.ErrMsg = "删除语义分析比对失败, Err: " + e.Error()
 		return
 	}
-	go func() {
-		_ = services.DeleteElasticSaCompare(item.SaCompareId)
-	}()
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "操作成功"
@@ -668,13 +654,13 @@ func (this *SaCompareController) Move() {
 	br.Msg = "操作成功"
 }
 
-// SearchByEs
+// Search
 // @Title 文档对比搜索(从es获取)
 // @Description  图表模糊搜索(从es获取)
 // @Param   Keyword   query   string  true       "文档对比标题"
 // @Success 200 {object} saModel.CompareListByEsResp
 // @router /compare/search [get]
-func (this *SaCompareController) SearchByEs() {
+func (this *SaCompareController) Search() {
 	br := new(models.BaseResponse).Init()
 	defer func() {
 		this.Data["json"] = br
@@ -706,40 +692,33 @@ func (this *SaCompareController) SearchByEs() {
 	var total int
 	var err error
 
+	var list []*saModel.SaCompare
+	saCompare := new(saModel.SaCompare)
+	existCond := fmt.Sprintf(` AND result_img != ""`)
+	existPars := make([]interface{}, 0)
 	if keyword != "" {
-		total, searchList, err = services.EsSearchSaCompareData(keyword, startSize, pageSize)
-	} else {
-		var list []*saModel.SaCompare
-		saCompare := new(saModel.SaCompare)
-		existCond := fmt.Sprintf(` AND result_img != ""`)
-		existPars := make([]interface{}, 0)
-		total, list, err = saCompare.GetPageItemsByCondition(startSize, pageSize, existCond, existPars, []string{}, "")
-		if err != nil && err.Error() != utils.ErrNoRow() {
-			br.Msg = "获取失败"
-			br.ErrMsg = "获取图表信息失败,Err:" + err.Error()
-			return
-		}
-
-		for _, v := range list {
-			tmp := new(saModel.SaCompareElastic)
-			tmp.SaCompareId = v.SaCompareId
-			tmp.ResultImg = v.ResultImg
-			tmp.CreateTime = v.CreateTime.Format(utils.FormatDateTime)
-			tmp.ModifyTime = v.ModifyTime.Format(utils.FormatDateTime)
-			tmp.SysAdminId = v.SysAdminId
-			tmp.SysAdminName = v.SysAdminName
-			tmp.ClassifyId = v.ClassifyId
-			tmp.ClassifyName = v.ClassifyName
-			tmp.Title = v.Title
-			searchList = append(searchList, tmp)
-		}
+		existCond += ` AND  ( title LIKE ? )`
+		existPars = append(existPars, `%`+keyword+`%`)
 	}
-	//新增搜索词记录
-	{
-		searchKeyword := new(data_manage.SearchKeyword)
-		searchKeyword.KeyWord = keyword
-		searchKeyword.CreateTime = time.Now()
-		go data_manage.AddSearchKeyword(searchKeyword)
+	total, list, err = saCompare.GetPageItemsByCondition(startSize, pageSize, existCond, existPars, []string{}, "")
+	if err != nil && err.Error() != utils.ErrNoRow() {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取图表信息失败,Err:" + err.Error()
+		return
+	}
+
+	for _, v := range list {
+		tmp := new(saModel.SaCompareElastic)
+		tmp.SaCompareId = v.SaCompareId
+		tmp.ResultImg = v.ResultImg
+		tmp.CreateTime = v.CreateTime.Format(utils.FormatDateTime)
+		tmp.ModifyTime = v.ModifyTime.Format(utils.FormatDateTime)
+		tmp.SysAdminId = v.SysAdminId
+		tmp.SysAdminName = v.SysAdminName
+		tmp.ClassifyId = v.ClassifyId
+		tmp.ClassifyName = v.ClassifyName
+		tmp.Title = v.Title
+		searchList = append(searchList, tmp)
 	}
 
 	page := paging.GetPaging(currentIndex, pageSize, total)

+ 1 - 1
routers/commentsRouter.go

@@ -4203,7 +4203,7 @@ func init() {
 
     beego.GlobalControllerRouter["hongze/hz_eta_api/controllers/semantic_analysis:SaCompareController"] = append(beego.GlobalControllerRouter["hongze/hz_eta_api/controllers/semantic_analysis:SaCompareController"],
         beego.ControllerComments{
-            Method: "SearchByEs",
+            Method: "Search",
             Router: `/compare/search`,
             AllowHTTPMethods: []string{"get"},
             MethodParams: param.Make(),

+ 0 - 105
services/elastic.go

@@ -2,7 +2,6 @@ package services
 
 import (
 	"context"
-	"encoding/json"
 	"fmt"
 	"github.com/olivere/elastic/v7"
 	"hongze/hz_eta_api/models"
@@ -327,107 +326,3 @@ func EsAddOrEditSaDoc(indexName, docId string, item *saModel.ElasticSaDoc) (err
 	fmt.Println("AddData", resp.Status, resp.Result)
 	return
 }
-
-// EsSearchSaCompareData 查询es中的文档对比信息
-func EsSearchSaCompareData(keywordStr string, from, size int) (total int, list []*saModel.SaCompareElastic, err error) {
-	list = make([]*saModel.SaCompareElastic, 0)
-	indexName := utils.EsSemanticAnalysisCompareIndexName
-	var tmpTotal int64
-	defer func() {
-		if err != nil {
-			fmt.Println("EsSearchSaCompareData Err:", err.Error())
-		}
-	}()
-	client := utils.EsClient
-
-	mustMap := make([]interface{}, 0)
-	mustNotMap := make([]interface{}, 0)
-
-	//关键字匹配
-	shouldMap := map[string]interface{}{
-		"should": []interface{}{
-			map[string]interface{}{
-				"match_phrase": map[string]interface{}{
-					"Title": keywordStr,
-					//"Frequency.keyword": "月度",
-				},
-			},
-		},
-	}
-	mustMap = append(mustMap, map[string]interface{}{
-		"bool": shouldMap,
-	})
-
-	queryMap := map[string]interface{}{
-		"query": map[string]interface{}{
-			"bool": map[string]interface{}{
-				"must":     mustMap,
-				"must_not": mustNotMap,
-				//"should":   shouldMap,
-			},
-		},
-	}
-
-	//根据条件数量统计
-	requestTotalHits := client.Count(indexName).BodyJson(queryMap)
-	tmpTotal, err = requestTotalHits.Do(context.Background())
-	if err != nil {
-		return
-	}
-	total = int(tmpTotal)
-	// 分页查询
-	queryMap["from"] = from
-	queryMap["size"] = size
-	queryMap["sort"] = []map[string]interface{}{
-		map[string]interface{}{
-			"CreateTime.keyword": map[string]interface{}{
-				"order": "desc",
-			},
-		},
-		map[string]interface{}{
-			"_score": map[string]interface{}{
-				"order": "desc",
-			},
-		},
-	}
-	jsonBytes, _ := json.Marshal(queryMap)
-	fmt.Println(string(jsonBytes))
-
-	request := client.Search(indexName).Source(queryMap) // sets the JSON request
-
-	searchMap := make(map[string]string)
-
-	searchResp, err := request.Do(context.Background())
-	if err != nil {
-		return
-	}
-	fmt.Println(searchResp)
-	fmt.Println(searchResp.Status)
-	if searchResp.Status != 0 {
-		return
-	}
-
-	if searchResp.Hits != nil {
-		for _, v := range searchResp.Hits.Hits {
-			if _, ok := searchMap[v.Id]; !ok {
-				itemJson, tmpErr := v.Source.MarshalJSON()
-				if tmpErr != nil {
-					err = tmpErr
-					fmt.Println("movieJson err:", err)
-					return
-				}
-				compareItem := new(saModel.SaCompareElastic)
-				tmpErr = json.Unmarshal(itemJson, &compareItem)
-				if err != nil {
-					fmt.Println("json.Unmarshal itemJson err:", err)
-					err = tmpErr
-					return
-				}
-
-				list = append(list, compareItem)
-				searchMap[v.Id] = v.Id
-			}
-		}
-	}
-	return
-}

+ 0 - 50
services/semantic_analysis.go

@@ -513,53 +513,3 @@ func FormatCompareLabels2TableData(compareLabels []*saModel.SaCompareLabelItem)
 	}
 	return
 }
-
-// HandleElasticSaCompare 更新语义分析文档Es
-func HandleElasticSaCompare(saCompareId int) (err error) {
-	if saCompareId <= 0 {
-		return
-	}
-	saCompare := new(saModel.SaCompare)
-	err = saCompare.GetItemById(saCompareId)
-	if err != nil {
-		return
-	}
-	// 没有预览图,则不加入es
-	if saCompare.ResultImg == "" {
-		return
-	}
-	// 新增报告ES
-	saItem := &saModel.SaCompareElastic{
-		SaCompareId:  saCompare.SaCompareId,
-		ClassifyId:   saCompare.ClassifyId,
-		ClassifyName: saCompare.ClassifyName,
-		Title:        saCompare.Title,
-		ResultImg:    saCompare.ResultImg,
-		CreateTime:   saCompare.CreateTime.Format(utils.FormatDateTime),
-		ModifyTime:   saCompare.ModifyTime.Format(utils.FormatDateTime),
-		SysAdminId:   saCompare.SysAdminId,
-		SysAdminName: saCompare.SysAdminName,
-	}
-	docId := fmt.Sprintf("%d", saCompare.SaCompareId)
-	if err = EsAddOrEditSaCompare(utils.EsSemanticAnalysisCompareIndexName, docId, saItem); err != nil {
-		return
-	}
-	return
-}
-
-// DeleteElasticSaCompare Elastic-删除语义分析文档对比图
-func DeleteElasticSaCompare(saCompareId int) (err error) {
-	defer func() {
-		if err != nil {
-			alarm_msg.SendAlarmMsg(fmt.Sprintf("Elastic-删除语义分析文档对比图, Err: %s", err.Error()), 2)
-		}
-	}()
-	indexName := utils.EsSemanticAnalysisCompareIndexName
-
-	docId := fmt.Sprintf("%d", saCompareId)
-	if e := EsDeleteData(indexName, docId); e != nil && !strings.Contains(e.Error(), "404") {
-		err = fmt.Errorf("删除ES语义分析文档对比失败, Err: %s", e.Error())
-		return
-	}
-	return
-}

+ 0 - 87
services/task.go

@@ -1,11 +1,8 @@
 package services
 
 import (
-	"context"
 	"fmt"
-	"github.com/beego/beego/v2/adapter/logs"
 	"hongze/hz_eta_api/models"
-	saModel "hongze/hz_eta_api/models/semantic_analysis"
 	"hongze/hz_eta_api/services/alarm_msg"
 	"hongze/hz_eta_api/services/data"
 	"hongze/hz_eta_api/utils"
@@ -474,87 +471,3 @@ func FixEnCompanyPermission() {
 	}
 	fmt.Println("修复完成")
 }
-
-func ElasticSaCompareInit() {
-	// 标题去重
-	CreateSaCompareES()
-	var err error
-	defer func() {
-		if err != nil {
-			logs.Info("批量新增文档对比es出错" + err.Error())
-		}
-	}()
-	existItem := new(saModel.SaCompare)
-	existCond := fmt.Sprintf(` AND result_img != ""`)
-	existPars := make([]interface{}, 0)
-	list, e := existItem.GetItemsByCondition(existCond, existPars, []string{}, "")
-	if e != nil {
-		err = e
-		return
-	}
-	client := utils.EsClient
-	for _, saCompare := range list {
-		// 新增报告ES
-		item := &saModel.SaCompareElastic{
-			SaCompareId:  saCompare.SaCompareId,
-			ClassifyId:   saCompare.ClassifyId,
-			ClassifyName: saCompare.ClassifyName,
-			Title:        saCompare.Title,
-			ResultImg:    saCompare.ResultImg,
-			CreateTime:   saCompare.CreateTime.Format(utils.FormatDateTime),
-			ModifyTime:   saCompare.ModifyTime.Format(utils.FormatDateTime),
-			SysAdminId:   saCompare.SysAdminId,
-			SysAdminName: saCompare.SysAdminName,
-		}
-		docId := fmt.Sprintf("%d", saCompare.SaCompareId)
-		indexName := utils.EsSemanticAnalysisCompareIndexName
-
-		// docId为报告ID
-		searchById, err := client.Get().Index(indexName).Id(docId).Do(context.Background())
-		if err != nil {
-			if strings.Contains(err.Error(), "404") {
-				err = nil
-			} else {
-				fmt.Println("Get Err" + err.Error())
-				return
-			}
-		}
-		if searchById != nil && searchById.Found {
-			resp, e := client.Update().Index(indexName).Id(docId).Doc(map[string]interface{}{
-				"SaCompareId":  item.SaCompareId,
-				"ClassifyName": item.ClassifyName,
-				"ClassifyId":   item.ClassifyId,
-				"Title":        item.Title,
-				"ResultImg":    item.ResultImg,
-				"CreateTime":   item.CreateTime,
-				"ModifyTime":   item.ModifyTime,
-				"SysAdminId":   item.SysAdminId,
-				"SysAdminName": item.SysAdminName,
-			}).Do(context.Background())
-			if e != nil {
-				err = e
-				return
-			}
-			//fmt.Println(resp.Status, resp.Result)
-			if resp.Status == 0 {
-				fmt.Println("修改成功" + docId)
-				err = nil
-			} else {
-				fmt.Println("EditData", resp.Status, resp.Result)
-			}
-		} else {
-			resp, e := client.Index().Index(indexName).Id(docId).BodyJson(item).Do(context.Background())
-			if e != nil {
-				err = e
-				fmt.Println("新增失败:", err.Error())
-				return
-			}
-			if resp.Status == 0 && resp.Result == "created" {
-				fmt.Println("新增成功" + docId)
-			} else {
-				fmt.Println("AddData", resp.Status, resp.Result)
-			}
-		}
-
-	}
-}

+ 6 - 8
utils/config.go

@@ -100,13 +100,12 @@ var (
 
 // ES索引配置
 var (
-	DATA_INDEX_NAME                    string //数据指标库索引
-	CHART_INDEX_NAME                   string //研究图库索引
-	EsReportIndexName                  string //研报ES索引
-	EsEnglishReportIndexName           string //英文研报ES索引
-	MY_CHART_INDEX_NAME                string //研究图库(MY ETA)索引
-	EsSemanticAnalysisDocIndexName     string //ES语义分析文档索引名
-	EsSemanticAnalysisCompareIndexName string //ES语义分析文档对比索引名
+	DATA_INDEX_NAME                string //数据指标库索引
+	CHART_INDEX_NAME               string //研究图库索引
+	EsReportIndexName              string //研报ES索引
+	EsEnglishReportIndexName       string //英文研报ES索引
+	MY_CHART_INDEX_NAME            string //研究图库(MY ETA)索引
+	EsSemanticAnalysisDocIndexName string //ES语义分析文档索引名
 )
 
 // 科大讯飞--语音合成
@@ -384,7 +383,6 @@ func init() {
 		EsReportIndexName = config["es_report_index_name"]
 		EsEnglishReportIndexName = config["es_english_report_index_name"]
 		EsSemanticAnalysisDocIndexName = config["es_semantic_analysis_doc_index_name"]
-		EsSemanticAnalysisCompareIndexName = config["es_semantic_analysis_compare_doc_index_name"]
 	}
 
 	CrmEtaServerUrl = config["crm_eta_server_url"]