浏览代码

Merge branch 'feature/eta1.9.7_interval_analysis' into debug

xyxie 7 月之前
父节点
当前提交
cefecc4bb8
共有 1 个文件被更改,包括 28 次插入15 次删除
  1. 28 15
      controllers/data_manage/range_analysis/chart_info.go

+ 28 - 15
controllers/data_manage/range_analysis/chart_info.go

@@ -1285,23 +1285,23 @@ func (this *RangeChartChartInfoController) MultipleGraphConfigSaveEdb() {
 	defer func() {
 		_ = utils.Rc.Delete(cacheKey)
 	}()
-	edbInfoIds := make([]int, 0)
+	fromEdbInfoIds := make([]int, 0)
 	for _, v := range req.EdbInfoList {
-		edbInfoIds = append(edbInfoIds, v.FromEdbInfoId)
+		fromEdbInfoIds = append(fromEdbInfoIds, v.FromEdbInfoId)
 	}
-	mappingList, err := data_manage.GetChartEdbMappingListByEdbInfoIdList(edbInfoIds)
+	fromEdbInfoMappingList, err := data_manage.GetChartEdbMappingListByEdbInfoIdList(fromEdbInfoIds)
 	if err != nil {
 		br.Msg = "获取失败"
 		br.ErrMsg = "获取图表,指标信息失败,Err:" + err.Error()
 		return
 	}
-	edbInfoMap := make(map[int]*data_manage.ChartEdbInfoMapping, 0)
-	for _, v := range mappingList {
-		edbInfoMap[v.EdbInfoId] = v
+	fromEdbInfoMap := make(map[int]*data_manage.ChartEdbInfoMapping, 0)
+	for _, v := range fromEdbInfoMappingList {
+		fromEdbInfoMap[v.EdbInfoId] = v
 	}
 
 	for _, v := range req.EdbInfoList {
-		if _, ok := edbInfoMap[v.FromEdbInfoId]; !ok {
+		if _, ok := fromEdbInfoMap[v.FromEdbInfoId]; !ok {
 			br.Msg = "指标信息不存在"
 			br.ErrMsg = "指标信息不存在,EdbInfoId:" + strconv.Itoa(v.FromEdbInfoId)
 			br.IsSendEmail = false
@@ -1309,15 +1309,28 @@ func (this *RangeChartChartInfoController) MultipleGraphConfigSaveEdb() {
 		}
 	}
 	// 区间计算图表配置校验
-	/*var extraConfig string
-	extraConfigByte, err := json.Marshal(req.ExtraConfig)
+	extraConfig := req.ExtraConfig
+	// 区间计算图表配置校验
+	var config data_manage.ChartRangeAnalysisExtraConf
+	if req.ExtraConfig == `` {
+		br.Msg = "请输入配置信息"
+		return
+	}
+	err = json.Unmarshal([]byte(req.ExtraConfig), &config)
 	if err != nil {
-		br.Msg = "配置信息错误"
-		br.ErrMsg = "配置信息错误, Err: " + err.Error()
+		br.Msg = "配置信息格式错误"
+		br.ErrMsg = "配置信息格式错误,Err:" + err.Error()
 		return
-	}*/
-	extraConfig := req.ExtraConfig
-	// todo 校验配置合法性
+	}
+
+	err, errMsg, isSendEmail := rangeServ.CheckChartRangeExtraConfig(config)
+	if err != nil {
+		br.Msg = "配置信息校验失败"
+		br.ErrMsg = errMsg
+		br.IsSendEmail = isSendEmail
+		return
+	}
+
 	multipleGraphConfigEdbMappingList, err := data_manage.GetMultipleGraphConfigEdbMappingListByIdAndSource(req.MultipleGraphConfigId, utils.CHART_SOURCE_RANGE_ANALYSIS)
 	if err != nil {
 		br.Msg = `保存失败`
@@ -1348,7 +1361,7 @@ func (this *RangeChartChartInfoController) MultipleGraphConfigSaveEdb() {
 		// 说明指标还在,没有被删除
 		for _, v := range oldEdbCalculateMappingList {
 			fromEdbMap[v.FromEdbInfoId] = v.EdbInfoId
-			if !utils.InArrayByInt(edbInfoIds, v.FromEdbInfoId) {
+			if !utils.InArrayByInt(fromEdbInfoIds, v.FromEdbInfoId) && (config.EdbInfoMode == 1 || req.EdbInfoType != v.FromEdbInfoType) {
 				deleteEdbInfoIds = append(deleteEdbInfoIds, v.EdbInfoId)
 			}
 		}