|
@@ -106,11 +106,18 @@ func addPredictCalculate(br *models.BaseResponse, req models.EdbInfoCalculateSav
|
|
|
formulaStr += v.FromTag + ","
|
|
|
edbInfoIdBytes = append(edbInfoIdBytes, v.FromTag)
|
|
|
}
|
|
|
- formulaMap := utils.CheckFormula(req.CalculateFormula)
|
|
|
- for _, v := range formulaMap {
|
|
|
- if !strings.Contains(formulaStr, v) {
|
|
|
- br.Msg = "公式错误,请重新填写"
|
|
|
- return
|
|
|
+ formulaSlice, err := utils.CheckFormulaJson(req.CalculateFormula)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "公式格式错误,请重新填写"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, formula := range formulaSlice {
|
|
|
+ formulaMap := utils.CheckFormula(formula)
|
|
|
+ for _, v := range formulaMap {
|
|
|
+ if !strings.Contains(formulaStr, v) {
|
|
|
+ br.Msg = "公式错误,请重新填写"
|
|
|
+ return
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -173,11 +180,14 @@ func addPredictCalculate(br *models.BaseResponse, req models.EdbInfoCalculateSav
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- //预先计算,判断公式是否正常
|
|
|
- ok, _ := models.CheckFormula2(edbInfoList, formulaMap, calculateFormula, edbInfoIdBytes)
|
|
|
- if !ok {
|
|
|
- br.Msg = "生成计算指标失败,请使用正确的计算公式"
|
|
|
- return
|
|
|
+ for _, v := range formulaSlice {
|
|
|
+ formulaMap := utils.CheckFormula(v)
|
|
|
+ //预先计算,判断公式是否正常
|
|
|
+ ok, _ := models.CheckFormula2(edbInfoList, formulaMap, v, edbInfoIdBytes)
|
|
|
+ if !ok {
|
|
|
+ br.Msg = "生成计算指标失败,请使用正确的计算公式"
|
|
|
+ return
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// 指标入库
|
|
@@ -309,7 +319,7 @@ func editPredictCalculate(br *models.BaseResponse, req models.EdbInfoCalculateSa
|
|
|
isExist := utils.Rc.IsExist(redisKey)
|
|
|
if isExist {
|
|
|
br.Msg = "指标正在处理,请勿重复提交"
|
|
|
- return
|
|
|
+ // return
|
|
|
} else {
|
|
|
//设置3分钟缓存
|
|
|
utils.Rc.SetNX(redisKey, 1, time.Second*300)
|