浏览代码

fix: 系列计算状态

hsun 9 月之前
父节点
当前提交
0e3b8d139d
共有 1 个文件被更改,包括 14 次插入8 次删除
  1. 14 8
      controllers/data_manage/factor_edb_series.go

+ 14 - 8
controllers/data_manage/factor_edb_series.go

@@ -338,6 +338,7 @@ func (this *FactorEdbSeriesController) Edit() {
 		br.ErrMsg = "获取因子指标系列失败, Err: " + e.Error()
 		return
 	}
+	originCalculateState := seriesItem.CalculateState
 
 	edbArr, e := data_manage.GetEdbInfoByIdList(req.EdbInfoIds)
 	if e != nil {
@@ -379,6 +380,7 @@ func (this *FactorEdbSeriesController) Edit() {
 	}
 
 	// 更新系列信息和指标关联
+	seriesItem.CalculateState = data_manage.FactorEdbSeriesCalculateNone
 	if calculateLen > 0 {
 		seriesItem.CalculateState = data_manage.FactorEdbSeriesCalculating
 		seriesItem.CalculateStep = calculatesJson
@@ -406,15 +408,19 @@ func (this *FactorEdbSeriesController) Edit() {
 		br.ErrMsg = "计算因子指标失败, Err: " + e.Error()
 		return
 	}
+	if seriesItem.CalculateState == data_manage.FactorEdbSeriesCalculating {
+		seriesItem.CalculateState = data_manage.FactorEdbSeriesCalculated
+	}
 
-	// 更新系列计算状态
-	cols := []string{seriesItem.Cols().CalculateState, seriesItem.Cols().ModifyTime}
-	seriesItem.CalculateState = data_manage.FactorEdbSeriesCalculated
-	seriesItem.ModifyTime = time.Now().Local()
-	if e = seriesItem.Update(cols); e != nil {
-		br.Msg = "操作失败"
-		br.ErrMsg = "更新因子指标系列计算状态失败, Err: " + e.Error()
-		return
+	// 若原状态不一致, 更新状态
+	if originCalculateState != seriesItem.CalculateState {
+		cols := []string{seriesItem.Cols().CalculateState, seriesItem.Cols().ModifyTime}
+		seriesItem.ModifyTime = time.Now().Local()
+		if e = seriesItem.Update(cols); e != nil {
+			br.Msg = "操作失败"
+			br.ErrMsg = "更新因子指标系列计算状态失败, Err: " + e.Error()
+			return
+		}
 	}
 
 	br.Data = calculateResp