|
@@ -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
|