xyxie 6 日 前
コミット
8d0ef1b30d
1 ファイル変更48 行追加0 行削除
  1. 48 0
      services/base_from_kpler.go

+ 48 - 0
services/base_from_kpler.go

@@ -5,6 +5,7 @@ import (
 	"eta/eta_index_lib/logic"
 	"eta/eta_index_lib/models"
 	"eta/eta_index_lib/services/alarm_msg"
+	"eta/eta_index_lib/services/elastic"
 	"eta/eta_index_lib/utils"
 	"fmt"
 	"io/ioutil"
@@ -343,6 +344,7 @@ func AddKplerIndexByApi(indexList []*models.KplerIndexItem, req *models.KplerSea
 	
 		go func() {
 			indexObj.ModifyIndexMaxAndMinDate(indexInfo.IndexCode, dateItem)
+			UpdateKplerIndexEs(indexInfo.IndexCode)
 		}()
 	
 		// 同步刷新ETA指标库的指标
@@ -749,6 +751,7 @@ func handleKplerIndex(req *models.HandleKplerExcelData, terminalCode string, cla
 
 	go func() {
 		indexObj.ModifyIndexMaxAndMinDate(indexCode, dateItem)
+		UpdateKplerIndexEs(indexCode)
 	}()
 
 	// 同步刷新ETA指标库的指标
@@ -1038,4 +1041,49 @@ func InitKplerZone() (err error) {
 		}
 	}
 	return
+}
+
+// UpdateKplerIndexEs 更新Kpler指标Es
+func UpdateKplerIndexEs(indexCode string) (err error) {
+	defer func() {
+		if err != nil {
+			tips := fmt.Sprintf("UpdateKplerIndexEs, IndexCode: %s, errMsg: %v", indexCode, err)
+			fmt.Println(tips)
+			utils.FileLog.Info(tips)
+		}
+	}()
+	indexObj := new(models.BaseFromKplerIndex)
+	item, e := indexObj.GetByIndexCode(indexCode)
+	if e != nil {
+		if utils.IsErrNoRow(e) {
+			err = fmt.Errorf("指标不存在, IndexCode: %s", indexCode)
+			return
+		}
+	}
+	if item.BaseFromKplerIndexId <= 0 {
+		err = fmt.Errorf("指标不存在, IndexCode: %s", indexCode)
+		return
+	}
+	indexItem := new(models.SearchDataSource)
+	indexItem.PrimaryId = item.BaseFromKplerIndexId
+	indexItem.IndexCode = item.IndexCode
+	indexItem.IndexName = item.IndexName
+	indexItem.ClassifyId = item.ClassifyId
+	indexItem.Unit = item.Unit
+	indexItem.Frequency = item.Frequency
+	indexItem.StartDate = item.StartDate
+	indexItem.EndDate = item.EndDate
+	indexItem.LatestValue = fmt.Sprint(item.EndValue)
+	indexItem.Source = utils.DATA_SOURCE_KPLER
+	indexItem.SourceName = utils.DATA_SOURCE_NAME_KPLER
+	indexItem.IsDeleted = 0
+	indexItem.CreateTime = item.CreateTime.Format(utils.FormatDateTime)
+	indexItem.ModifyTime = item.ModifyTime.Format(utils.FormatDateTime)
+
+	docId := fmt.Sprintf("%d-%d", utils.DATA_SOURCE_KPLER, item.BaseFromKplerIndexId)
+	if e := elastic.EsAddOrEditDataSourceIndex(utils.EsDataSourceIndexName, docId, indexItem); e != nil {
+		err = fmt.Errorf("指标写入ES失败, %v", e)
+		return
+	}
+	return
 }