Browse Source

Merge branch '11.3' into debug

Roc 2 years ago
parent
commit
a8e4120e50
2 changed files with 38 additions and 17 deletions
  1. 8 2
      controllers/base_from_predict.go
  2. 30 15
      logic/predict_edb.go

+ 8 - 2
controllers/base_from_predict.go

@@ -60,7 +60,10 @@ func addPredict(br *models.BaseResponse, req models.AddPredictEdbInfoReq) {
 	// 添加指标
 	edbInfo, err, errMsg := logic.AddPredictEdbInfo(req.SourceEdbInfoId, req.ClassifyId, req.EdbName, req.RuleList, req.AdminId, req.AdminName)
 	if err != nil {
-		br.Msg = errMsg
+		br.Msg = "保存失败"
+		if errMsg != `` {
+			br.Msg = errMsg
+		}
 		br.ErrMsg = err.Error()
 		return
 	}
@@ -95,7 +98,10 @@ func editPredict(br *models.BaseResponse, req models.AddPredictEdbInfoReq) {
 	// 编辑指标
 	edbInfo, err, errMsg := logic.EditPredictEdbInfo(req.EdbInfoId, req.ClassifyId, req.EdbName, req.RuleList)
 	if err != nil {
-		br.Msg = errMsg
+		br.Msg = "保存失败"
+		if errMsg != `` {
+			br.Msg = errMsg
+		}
 		br.ErrMsg = err.Error()
 		return
 	}

+ 30 - 15
logic/predict_edb.go

@@ -23,16 +23,18 @@ func AddPredictEdbInfo(sourceEdbInfoId, classifyId int, edbName string, ruleList
 		}
 		if sourceEdbInfo == nil {
 			errMsg = "找不到该来源指标"
-			err = nil
+			err = errors.New(errMsg)
 			return
 		}
 		//必须是普通的指标
 		if sourceEdbInfo.EdbInfoType != 0 {
 			errMsg = "来源指标异常,不是普通的指标"
+			err = errors.New(errMsg)
 			return
 		}
 		if !utils.InArrayByStr([]string{"日度", "周度", "月度"}, sourceEdbInfo.Frequency) {
 			errMsg = "预测指标只支持选择日度、周度、月度的指标"
+			err = errors.New(errMsg)
 			return
 		}
 	}
@@ -48,12 +50,13 @@ func AddPredictEdbInfo(sourceEdbInfoId, classifyId int, edbName string, ruleList
 		}
 		if classifyInfo == nil {
 			errMsg = "找不到该预测指标分类"
-			err = nil
+			err = errors.New(errMsg)
 			return
 		}
 		//必须是预测指标分类
 		if classifyInfo.ClassifyType != 1 {
 			errMsg = "预测指标分类异常,不是预测指标分类"
+			err = errors.New(errMsg)
 			return
 		}
 	}
@@ -79,6 +82,7 @@ func AddPredictEdbInfo(sourceEdbInfoId, classifyId int, edbName string, ruleList
 	}
 	if count > 0 {
 		errMsg = "指标名称已存在,请重新填写"
+		err = errors.New(errMsg)
 		return
 	}
 
@@ -147,6 +151,7 @@ func AddPredictEdbInfo(sourceEdbInfoId, classifyId int, edbName string, ruleList
 		ruleEndDate, tmpErr := time.ParseInLocation(utils.FormatDate, v.EndDate, time.Local)
 		if tmpErr != nil {
 			errMsg = "规则配置的截止日期异常,请重新填写"
+			err = errors.New(errMsg)
 			return
 		}
 		switch v.RuleType {
@@ -154,15 +159,18 @@ func AddPredictEdbInfo(sourceEdbInfoId, classifyId int, edbName string, ruleList
 			valInt, tmpErr := strconv.Atoi(v.Value)
 			if tmpErr != nil {
 				errMsg = "N期段线性外推值的N值异常"
+				err = errors.New(errMsg)
 				return
 			}
 			if valInt <= 1 {
 				errMsg = "N期段线性外推值的N值必须大于1"
+				err = errors.New(errMsg)
 				return
 			}
 		case 9: //9:动态环差
 			if v.Value == "" {
 				errMsg = "请填写计算规则"
+				err = errors.New(errMsg)
 				return
 			}
 			formula := v.Value
@@ -184,6 +192,7 @@ func AddPredictEdbInfo(sourceEdbInfoId, classifyId int, edbName string, ruleList
 			for _, formula := range formulaMap {
 				if !strings.Contains(formulaStr, formula) {
 					errMsg = "公式错误,请重新填写"
+					err = errors.New(errMsg)
 					return
 				}
 			}
@@ -199,9 +208,11 @@ func AddPredictEdbInfo(sourceEdbInfoId, classifyId int, edbName string, ruleList
 					err = tmpErr
 					if err.Error() == utils.ErrNoRow() {
 						errMsg = "指标 " + strconv.Itoa(tmpEdbInfoId.EdbInfoId) + " 不存在"
+						err = errors.New(errMsg)
 						return
 					}
 					errMsg = "获取指标失败:Err:" + err.Error()
+					err = errors.New(errMsg)
 					return
 				}
 
@@ -250,6 +261,7 @@ func AddPredictEdbInfo(sourceEdbInfoId, classifyId int, edbName string, ruleList
 			ok, _ := models.CheckFormula2(edbInfoList, formulaMap, formula, edbInfoIdBytes)
 			if !ok {
 				errMsg = "生成计算指标失败,请使用正确的计算公式"
+				err = errors.New(errMsg)
 				return
 			}
 
@@ -280,11 +292,6 @@ func AddPredictEdbInfo(sourceEdbInfoId, classifyId int, edbName string, ruleList
 		predictEdbConfList = append(predictEdbConfList, tmpPredictEdbConf)
 	}
 	err = models.AddPredictEdb(edbInfo, calculateMappingList, predictEdbConfList, calculateRuleList)
-	if err != nil {
-		errMsg = "保存失败"
-		err = errors.New("保存失败,Err:" + err.Error())
-		return
-	}
 
 	return
 }
@@ -301,12 +308,13 @@ func EditPredictEdbInfo(edbInfoId, classifyId int, edbName string, ruleList []mo
 		}
 		if edbInfo == nil {
 			errMsg = "找不到该预测指标"
-			err = nil
+			err = errors.New(errMsg)
 			return
 		}
 		//必须是普通的指标
 		if edbInfo.EdbInfoType != 1 {
 			errMsg = "指标异常,不是预测指标"
+			err = errors.New(errMsg)
 			return
 		}
 	}
@@ -323,7 +331,7 @@ func EditPredictEdbInfo(edbInfoId, classifyId int, edbName string, ruleList []mo
 		}
 		if len(predictEdbConfList) == 0 {
 			errMsg = "找不到该预测指标配置"
-			err = nil
+			err = errors.New(errMsg)
 			return
 		}
 		predictEdbConf = predictEdbConfList[0]
@@ -351,6 +359,7 @@ func EditPredictEdbInfo(edbInfoId, classifyId int, edbName string, ruleList []mo
 
 	if count > 0 {
 		errMsg = "指标名称已存在,请重新填写"
+		err = errors.New(errMsg)
 		return
 	}
 
@@ -371,16 +380,18 @@ func EditPredictEdbInfo(edbInfoId, classifyId int, edbName string, ruleList []mo
 		}
 		if sourceEdbInfo == nil {
 			errMsg = "找不到该来源指标"
-			err = nil
+			err = errors.New(errMsg)
 			return
 		}
 		//必须是普通的指标
 		if sourceEdbInfo.EdbInfoType != 0 {
 			errMsg = "来源指标异常,不是普通的指标"
+			err = errors.New(errMsg)
 			return
 		}
 		if !utils.InArrayByStr([]string{"日度", "周度", "月度"}, sourceEdbInfo.Frequency) {
 			errMsg = "预测指标只支持选择日度、周度、月度的指标"
+			err = errors.New(errMsg)
 			return
 		}
 	}
@@ -420,6 +431,7 @@ func EditPredictEdbInfo(edbInfoId, classifyId int, edbName string, ruleList []mo
 		ruleEndDate, tmpErr := time.ParseInLocation(utils.FormatDate, v.EndDate, time.Local)
 		if tmpErr != nil {
 			errMsg = "规则配置的截止日期异常,请重新填写"
+			err = errors.New(errMsg)
 			return
 		}
 		switch v.RuleType {
@@ -427,15 +439,18 @@ func EditPredictEdbInfo(edbInfoId, classifyId int, edbName string, ruleList []mo
 			valInt, tmpErr := strconv.Atoi(v.Value)
 			if tmpErr != nil {
 				errMsg = "N期段线性外推值的N值异常"
+				err = errors.New(errMsg)
 				return
 			}
 			if valInt <= 1 {
 				errMsg = "N期段线性外推值的N值必须大于1"
+				err = errors.New(errMsg)
 				return
 			}
 		case 9: //9:动态环差
 			if v.Value == "" {
 				errMsg = "请填写计算规则"
+				err = errors.New(errMsg)
 				return
 			}
 			formula := v.Value
@@ -457,6 +472,7 @@ func EditPredictEdbInfo(edbInfoId, classifyId int, edbName string, ruleList []mo
 			for _, formula := range formulaMap {
 				if !strings.Contains(formulaStr, formula) {
 					errMsg = "公式错误,请重新填写"
+					err = errors.New(errMsg)
 					return
 				}
 			}
@@ -472,9 +488,11 @@ func EditPredictEdbInfo(edbInfoId, classifyId int, edbName string, ruleList []mo
 					err = tmpErr
 					if err.Error() == utils.ErrNoRow() {
 						errMsg = "指标 " + strconv.Itoa(tmpEdbInfoId.EdbInfoId) + " 不存在"
+						err = errors.New(errMsg)
 						return
 					}
 					errMsg = "获取指标失败:Err:" + err.Error()
+					err = errors.New(errMsg)
 					return
 				}
 
@@ -523,6 +541,7 @@ func EditPredictEdbInfo(edbInfoId, classifyId int, edbName string, ruleList []mo
 			ok, _ := models.CheckFormula2(edbInfoList, formulaMap, formula, edbInfoIdBytes)
 			if !ok {
 				errMsg = "生成计算指标失败,请使用正确的计算公式"
+				err = errors.New(errMsg)
 				return
 			}
 
@@ -554,11 +573,7 @@ func EditPredictEdbInfo(edbInfoId, classifyId int, edbName string, ruleList []mo
 	}
 
 	err = models.EditPredictEdb(edbInfo, updateEdbInfoCol, calculateMappingList, predictEdbConfList, calculateRuleList)
-	if err != nil {
-		errMsg = "保存失败"
-		err = errors.New("保存失败,Err:" + err.Error())
-		return
-	}
+
 	return
 }