Browse Source

Merge branch 'feature/eta_2.0.3' into debug

hsun 6 months ago
parent
commit
0fa2022e17

+ 40 - 18
controllers/trade_analysis/warehouse.go

@@ -8,6 +8,7 @@ import (
 	tradeAnalysisModel "eta/eta_api/models/data_manage/trade_analysis"
 	tradeAnalysisRequest "eta/eta_api/models/data_manage/trade_analysis/request"
 	tradeAnalysisResponse "eta/eta_api/models/data_manage/trade_analysis/response"
+	"eta/eta_api/services/alarm_msg"
 	"eta/eta_api/services/data"
 	tradeAnalysisService "eta/eta_api/services/data/trade_analysis"
 	"eta/eta_api/utils"
@@ -1654,6 +1655,7 @@ func (this *WarehouseController) EdbSave() {
 	// 根据EdbInfoId判断是否需要更新指标
 	var newEdbIds []int
 	edbUpdateCols := []string{"CalculateFormula", "ModifyTime"}
+	newEdbRefresh := make([]*data_manage.EdbInfo, 0)
 	for _, v := range req.EdbInfoList {
 		// 图表配置-即指标计算公式
 		conf := extraConfig
@@ -1692,6 +1694,25 @@ func (this *WarehouseController) EdbSave() {
 				continue
 			}
 			edbInfo = edb
+
+			// 刷新指标数据
+			res, e := data.RefreshEdbData(edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, edbInfo.EdbCode, utils.BASE_START_DATE)
+			if e != nil {
+				resp.Fail = append(resp.Fail, &tradeAnalysisModel.WarehouseEdbSaveRespItem{
+					WarehouseEdbSaveItem: *v,
+					Tips:                 "刷新失败",
+					ErrMsg:               fmt.Sprintf("刷新失败, %v", e),
+				})
+				continue
+			}
+			if res.Ret != 200 {
+				resp.Fail = append(resp.Fail, &tradeAnalysisModel.WarehouseEdbSaveRespItem{
+					WarehouseEdbSaveItem: *v,
+					Tips:                 "刷新失败",
+					ErrMsg:               fmt.Sprintf("刷新失败, Ret: %d, err: %v", res.Ret, e),
+				})
+				continue
+			}
 		}
 
 		// 新增指标
@@ -1724,25 +1745,9 @@ func (this *WarehouseController) EdbSave() {
 			}
 			newEdbIds = append(newEdbIds, edb.EdbInfoId)
 			edbInfo = edb
-		}
 
-		// 刷新指标数据
-		res, e := data.RefreshEdbData(edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, edbInfo.EdbCode, utils.BASE_START_DATE)
-		if e != nil {
-			resp.Fail = append(resp.Fail, &tradeAnalysisModel.WarehouseEdbSaveRespItem{
-				WarehouseEdbSaveItem: *v,
-				Tips:                 "刷新失败",
-				ErrMsg:               fmt.Sprintf("刷新失败, %v", e),
-			})
-			continue
-		}
-		if res.Ret != 200 {
-			resp.Fail = append(resp.Fail, &tradeAnalysisModel.WarehouseEdbSaveRespItem{
-				WarehouseEdbSaveItem: *v,
-				Tips:                 "刷新失败",
-				ErrMsg:               fmt.Sprintf("刷新失败, Ret: %d, err: %v", res.Ret, e),
-			})
-			continue
+			// 新增指标的刷新走异步吧, 指标如果没数据, 用户自己删了就行
+			newEdbRefresh = append(newEdbRefresh, edbInfo)
 		}
 
 		v.EdbInfoId = edbInfo.EdbInfoId
@@ -1782,6 +1787,23 @@ func (this *WarehouseController) EdbSave() {
 		}
 	}
 
+	// 异步刷新新增指标
+	if len(newEdbRefresh) > 0 {
+		go func() {
+			var refreshTips string
+			for _, edb := range newEdbRefresh {
+				_, e = data.RefreshEdbData(edb.EdbInfoId, edb.Source, edb.SubSource, edb.EdbCode, utils.BASE_START_DATE)
+				if e != nil {
+					refreshTips += fmt.Sprintf("刷新指标失败: %s, err: %v\n", edb.EdbCode, e)
+				}
+			}
+			if refreshTips != "" {
+				utils.FileLog.Info(refreshTips)
+				alarm_msg.SendAlarmMsg(refreshTips, 2)
+			}
+		}()
+	}
+
 	br.Data = resp
 	br.Ret = 200
 	br.Success = true

+ 1 - 1
services/data/trade_analysis/trade_analysis.go

@@ -241,7 +241,7 @@ func GetZhengzhouClassifyName(code string) (name string) {
 		return
 	}
 	if strings.HasPrefix(code, "PR") {
-		name = "PR"
+		name = "瓶片"
 		return
 	}
 	if name == "" {