Browse Source

fix:更改钢联指标刷新

zqbao 8 months ago
parent
commit
ce690a92d6
2 changed files with 40 additions and 27 deletions
  1. 30 24
      controllers/base_from_mysteel_chemical.go
  2. 10 3
      services/base_from_mysteel_chemical.go

+ 30 - 24
controllers/base_from_mysteel_chemical.go

@@ -92,14 +92,6 @@ func (this *MySteelChemicalController) Refresh() {
 		br.ErrMsg = "请输入指标ID"
 		return
 	}
-
-	// 获取指标详情
-	edbInfo, err := models.GetEdbInfoByEdbCode(source, req.EdbCode)
-	if err != nil {
-		br.Msg = "指标不存在!"
-		br.ErrMsg = "指标不存在"
-		return
-	}
 	cacheKey = utils.CACHE_EDB_DATA_REFRESH + strconv.Itoa(source) + "_" + req.EdbCode
 	if utils.Rc.IsExist(cacheKey) {
 		br.Ret = 501
@@ -109,9 +101,8 @@ func (this *MySteelChemicalController) Refresh() {
 	}
 	dataUpdateTime := time.Now().Format(utils.FormatDateTime)
 	utils.Rc.SetNX(cacheKey, 1, 1*time.Minute)
-
 	// 将数据刷新到BaseFromMysteelChemicalData
-	err = services.RefreshDataFromMysteelChemical(req.EdbCode, utils.GetEdbRefreshStartDate(req.StartDate), utils.BASE_END_DATE, edbInfo.TerminalCode)
+	err = services.RefreshDataFromMysteelChemical(req.EdbCode, utils.GetEdbRefreshStartDate(req.StartDate), utils.BASE_END_DATE)
 	if err != nil {
 		br.Msg = "获取指标信息失败!"
 		br.ErrMsg = "获取指标信息失败 RefreshDataFromMysteelChemical,Err:" + err.Error()
@@ -123,23 +114,38 @@ func (this *MySteelChemicalController) Refresh() {
 		br.ErrMsg = "刷新指标信息失败 RefreshEdbDataFromMysteel,Err:" + err.Error()
 		return
 	}
+	if req.EdbInfoId != 0 {
+		// 获取指标详情
+		edbInfo, err := models.GetEdbInfoByEdbCode(source, req.EdbCode)
+		if err != nil {
+			br.Msg = "指标不存在!"
+			br.ErrMsg = "指标不存在"
+			return
+		}
 
-	// 更新指标最大最小值
-	erDataUpdateDate, err, errMsg := models.UnifiedModifyEdbInfoMaxAndMinInfoDataUpdate(edbInfo, dataUpdateTime)
-	if err != nil {
-		br.Msg = errMsg
-		br.ErrMsg = err.Error()
-		return
-	}
-	// 添加指标刷新成功日志
-	if erDataUpdateDate != "" {
-		_ = services.AddEdbInfoUpdateLog(edbInfo.EdbInfoId, 1, "", 1, "", 0, 0)
-	} else {
-		_ = services.AddEdbInfoUpdateLog(edbInfo.EdbInfoId, 1, "", 2, "未刷新到数据", 0, 0)
+		// 更新指标最大最小值
+		erDataUpdateDate, err, errMsg := models.UnifiedModifyEdbInfoMaxAndMinInfoDataUpdate(edbInfo, dataUpdateTime)
+		if err != nil {
+			br.Msg = errMsg
+			br.ErrMsg = err.Error()
+			return
+		}
+		// 添加指标刷新成功日志
+		if erDataUpdateDate != "" {
+			_ = services.AddEdbInfoUpdateLog(edbInfo.EdbInfoId, 1, "", 1, "", 0, 0)
+		} else {
+			_ = services.AddEdbInfoUpdateLog(edbInfo.EdbInfoId, 1, "", 2, "未刷新到数据", 0, 0)
+		}
+
+		// 更新ES
+		go logic.UpdateEs(edbInfo.EdbInfoId)
 	}
 
-	// 更新ES
-	go logic.UpdateEs(edbInfo.EdbInfoId)
+	if utils.MysteelChemicalApiToken != "" {
+		// 钢联走api接口,那就更新数据源明细表
+		_ = services.SetMysteelChemicalEdbInfoUpdateStat(false)
+		_ = services.SetEdbSourceStat(false)
+	}
 
 	br.Ret = 200
 	br.Success = true

+ 10 - 3
services/base_from_mysteel_chemical.go

@@ -612,14 +612,21 @@ func MySteelChemicalPost(postUrl, hType string, postData []byte) (body []byte, e
 	return
 }
 
-func RefreshDataFromMysteelChemical(edbCode, startDate, endDate, edbTerminalCode string) (err error) {
-	terminal, err := GetTerminal(utils.DATA_SOURCE_MYSTEEL_CHEMICAL, edbTerminalCode)
+func RefreshDataFromMysteelChemical(edbCode, startDate, endDate string) (err error) {
+
+	indexObj := &models.BaseFromMysteelChemicalIndex{}
+	tmpIndex, err := indexObj.GetIndexItem(edbCode)
+	if err != nil {
+		return
+	}
+
+	terminal, err := GetTerminal(utils.DATA_SOURCE_MYSTEEL_CHEMICAL, tmpIndex.TerminalCode)
 	if err != nil {
 		err = fmt.Errorf("获取钢联化工接口配置出错 Err: %s", err)
 		return
 	}
 
-	if edbTerminalCode == "" {
+	if tmpIndex.TerminalCode == "" {
 		// 设置指标与终端关系的缓存
 		terminalCodeCacheKey := utils.CACHE_EDB_TERMINAL_CODE_URL + edbCode
 		_ = utils.Rc.Put(terminalCodeCacheKey, terminal.TerminalCode, utils.GetTodayLastSecond())