浏览代码

fix:刷新数据时,同步更新最大最小值

Roc 2 年之前
父节点
当前提交
bffc76cdf6
共有 2 个文件被更改,包括 37 次插入49 次删除
  1. 25 34
      controllers/base_from_calculate.go
  2. 12 15
      controllers/base_from_python.go

+ 25 - 34
controllers/base_from_calculate.go

@@ -150,6 +150,7 @@ func (this *CalculateController) Add() {
 		br.Msg = "生成计算指标失败,AddEdbInfo Err:" + err.Error()
 		return
 	}
+	edbInfo.EdbInfoId = int(edbInfoId)
 	//处理同名指标
 	{
 		edbNameList, err := models.GetEdbInfoByName(req.EdbName)
@@ -221,15 +222,13 @@ func (this *CalculateController) Add() {
 		br.Msg = "生成计算指标失败,Calculate Err:" + err.Error()
 		return
 	}
-	maxAndMinItem, err := models.GetEdbInfoMaxAndMinInfo(utils.DATA_SOURCE_CALCULATE, edbCode)
-	if err != nil && err.Error() != utils.ErrNoRow() {
-		br.Msg = "生成计算指标失败"
-		br.Msg = "生成计算指标失败,GetEdbInfoMaxAndMinInfo Err:" + err.Error()
-		return
-	}
 
-	if maxAndMinItem != nil {
-		err = models.ModifyEdbInfoMaxAndMinInfo(int(edbInfoId), maxAndMinItem)
+	// 更新指标最大最小值
+	err, errMsg := services.ModifyEdbInfoMaxAndMinInfo(edbInfo)
+	if err != nil {
+		br.Msg = errMsg
+		br.ErrMsg = err.Error()
+		return
 	}
 	resp := models.AddEdbInfoResp{
 		EdbInfoId:  int(edbInfoId),
@@ -314,6 +313,14 @@ func (this *CalculateController) CalculateBatchSave() {
 		}
 	}
 
+	// 获取指标详情
+	edbInfo, err := models.GetEdbInfoById(req.EdbInfoId)
+	if err != nil {
+		br.Msg = "指标不存在!"
+		br.ErrMsg = "指标不存在"
+		return
+	}
+
 	//加入缓存机制,避免创建同一个名称的指标 start
 	redisKey := fmt.Sprint("edb_info:calculate:batch:save:", req.Source, ":", req.EdbName)
 	isExist := utils.Rc.IsExist(redisKey)
@@ -510,15 +517,14 @@ func (this *CalculateController) CalculateBatchSave() {
 			}
 		}
 	}
-	maxAndMinItem, err := models.GetEdbInfoMaxAndMinInfo(req.Source, edbCode)
-	if err != nil && err.Error() != utils.ErrNoRow() {
-		br.Msg = "生成" + sourName + "失败"
-		br.Msg = "生成" + sourName + "失败,GetEdbInfoMaxAndMinInfo Err:" + err.Error()
+
+	// 更新指标最大最小值
+	err, errMsg := services.ModifyEdbInfoMaxAndMinInfo(edbInfo)
+	if err != nil {
+		br.Msg = errMsg
+		br.ErrMsg = err.Error()
 		return
 	}
-	if maxAndMinItem != nil {
-		err = models.ModifyEdbInfoMaxAndMinInfo(edbInfoId, maxAndMinItem)
-	}
 	resp := models.AddEdbInfoResp{
 		EdbInfoId:  edbInfoId,
 		UniqueCode: uniqueCode,
@@ -796,28 +802,13 @@ func (this *CalculateController) Refresh() {
 			return
 		}
 
-		maxAndMinItem, err := models.GetEdbInfoMaxAndMinInfo(source, edbInfo.EdbCode)
+		// 更新指标最大最小值
+		err, errMsg := services.ModifyEdbInfoMaxAndMinInfo(edbInfo)
 		if err != nil {
-			if err.Error() == utils.ErrNoRow() {
-				br.Ret = 200
-				br.Success = true
-				br.Msg = "获取成功"
-				return
-			}
-
-			br.Msg = "刷新指标失败!"
-			br.ErrMsg = "获取指标最大最小值失败,err:" + err.Error()
+			br.Msg = errMsg
+			br.ErrMsg = err.Error()
 			return
 		}
-
-		if maxAndMinItem != nil {
-			err = models.ModifyEdbInfoMaxAndMinInfo(edbInfoId, maxAndMinItem)
-			if err != nil {
-				br.Msg = "刷新指标失败!"
-				br.ErrMsg = "修改指标最大最小值失败,err:" + errMsg
-				return
-			}
-		}
 		br.Ret = 200
 		br.Success = true
 		br.Msg = "获取成功"

+ 12 - 15
controllers/base_from_python.go

@@ -229,15 +229,13 @@ func (this *PythonController) Add() {
 		br.Msg = "生成python指标失败,AddPythonEdb Err:" + err.Error()
 		return
 	}
-	maxAndMinItem, err := models.GetEdbInfoMaxAndMinInfo(utils.DATA_SOURCE_PYTHON, edbCode)
-	if err != nil && err.Error() != utils.ErrNoRow() {
-		br.Msg = "生成python指标失败"
-		br.Msg = "生成python指标失败,GetEdbInfoMaxAndMinInfo Err:" + err.Error()
-		return
-	}
 
-	if maxAndMinItem != nil {
-		err = models.ModifyEdbInfoMaxAndMinInfo(int(edbInfoId), maxAndMinItem)
+	// 更新指标最大最小值
+	err, errMsg = services.ModifyEdbInfoMaxAndMinInfo(edbInfo)
+	if err != nil {
+		br.Msg = errMsg
+		br.ErrMsg = err.Error()
+		return
 	}
 	resp := models.AddEdbInfoResp{
 		EdbInfoId:  int(edbInfoId),
@@ -397,16 +395,15 @@ func (this *PythonController) Edit() {
 		br.Msg = "刷新python指标失败,EditPythonEdb Err:" + err.Error()
 		return
 	}
-	maxAndMinItem, err := models.GetEdbInfoMaxAndMinInfo(utils.DATA_SOURCE_PYTHON, edbInfo.EdbCode)
-	if err != nil && err.Error() != utils.ErrNoRow() {
-		br.Msg = "生成python指标失败"
-		br.Msg = "生成python指标失败,GetEdbInfoMaxAndMinInfo Err:" + err.Error()
+
+	// 更新指标最大最小值
+	err, errMsg = services.ModifyEdbInfoMaxAndMinInfo(edbInfo)
+	if err != nil {
+		br.Msg = errMsg
+		br.ErrMsg = err.Error()
 		return
 	}
 
-	if maxAndMinItem != nil {
-		err = models.ModifyEdbInfoMaxAndMinInfo(edbInfo.EdbInfoId, maxAndMinItem)
-	}
 	resp := models.AddEdbInfoResp{
 		EdbInfoId:  edbInfo.EdbInfoId,
 		UniqueCode: edbInfo.UniqueCode,