Explorar o código

确保各处数据转换和处理的一致性

- 在多个文件中添加了 ConvertToResp 方法调用,以确保数据在返回前被正确转换和处理
- 优化了 SQL 查询参数的处理,防止潜在的 SQL 错误
- 为 EdbDataInsertConfig表的 EdbInfoId 字段添加了 autoIncrement:false 标记,以明确其主键性质- 新增 chart_info_resp.go 文件,定义了数据转换为响应格式的通用方法
Roc hai 6 meses
pai
achega
433f8e253f

+ 3 - 0
controllers/data_manage/chart_info.go

@@ -1025,6 +1025,9 @@ func (this *ChartInfoController) ChartInfoDetail() {
 			}
 		}
 	}
+	for _, v := range mappingList {
+		v.ConvertToResp()
+	}
 
 	// 图表额外数据参数
 	extraConfigStr := chartInfo.ExtraConfig

+ 4 - 0
controllers/data_manage/correlation/correlation_chart_info.go

@@ -584,6 +584,7 @@ func (this *CorrelationChartInfoController) List() {
 				return
 			}
 			for _, v := range edbList {
+				v.ConvertToResp()
 				chartEdbMap[v.ChartInfoId] = append(chartEdbMap[v.ChartInfoId], v)
 			}
 		}
@@ -699,6 +700,8 @@ func (this *CorrelationChartInfoController) Detail() {
 		br.ErrMsg = "获取相关性图表, A指标mapping信息失败, Err:" + e.Error()
 		return
 	}
+	edbInfoMappingA.ConvertToResp()
+
 	edbInfoMappingB := new(data_manage.ChartEdbInfoMapping)
 	// 非多因子
 	if correlationChart.AnalysisMode != 1 {
@@ -708,6 +711,7 @@ func (this *CorrelationChartInfoController) Detail() {
 			br.ErrMsg = "获取相关性图表, B指标mapping信息失败, Err:" + e.Error()
 			return
 		}
+		edbInfoMappingB.ConvertToResp()
 	}
 
 	var dataResp interface{} // 绘图数据返回(目前是滚动相关性的图)

+ 1 - 2
models/data_manage/chart_info.go

@@ -928,7 +928,6 @@ func ModifyChartInfoAndMapping(edbInfoIdStr string, req *SaveChartInfoReq, chart
 			_ = to.Commit()
 		}
 	}()
-
 	//非季节图
 	if chartType != 2 {
 		updateStr := `edb_info_ids=?,
@@ -952,7 +951,7 @@ func ModifyChartInfoAndMapping(edbInfoIdStr string, req *SaveChartInfoReq, chart
 		pars = append(pars, req.ChartInfoId)
 
 		sql := ` UPDATE  chart_info SET ` + updateStr + ` WHERE chart_info_id = ?`
-		err = to.Exec(sql, pars).Error
+		err = to.Exec(sql, pars...).Error
 		if err != nil {
 			fmt.Println("UPDATE  chart_info Err:", err.Error())
 			return err

+ 16 - 0
models/data_manage/chart_info_resp.go

@@ -0,0 +1,16 @@
+package data_manage
+
+import "eta_gn/eta_api/utils"
+
+// ConvertToResp
+// @Description: 转成需要输出的格式
+// @receiver m
+func (m *ChartEdbInfoMapping) ConvertToResp() {
+	m.ModifyTime = utils.GormDateStrToDateTimeStr(m.ModifyTime)
+	m.StartDate = utils.GormDateStrToDateStr(m.StartDate)
+	m.EndDate = utils.GormDateStrToDateStr(m.EndDate)
+	m.LatestDate = utils.GormDateStrToDateStr(m.LatestDate)
+	m.MoveLatestDate = utils.GormDateStrToDateStr(m.MoveLatestDate)
+
+	return
+}

+ 4 - 4
models/data_manage/edb_data_insert_config.go

@@ -15,7 +15,7 @@ import (
 
 // EdbDataInsertConfig 指标数据插入配置表
 type EdbDataInsertConfig struct {
-	EdbInfoId  int       `orm:"column(edb_info_id);pk" gorm:"primaryKey"  description:"指标id"`
+	EdbInfoId  int       `orm:"column(edb_info_id);pk" gorm:"primaryKey;autoIncrement:false"  description:"指标id"`
 	Date       time.Time `description:"插入的日期"`
 	Value      string    `description:"插入的值"`
 	RealDate   time.Time `description:"实际数据的值日期"`
@@ -89,7 +89,7 @@ func CreateEdbDataInsertConfigAndData(edbInfo *EdbInfo, date time.Time, value st
 		err = nil
 
 		// 如果是没有配置,那么就需要添加配置
-		if item == nil {
+		if item == nil || item.EdbInfoId <= 0 {
 			var currLatestDate time.Time
 			currLatestDateStr := edbInfo.LatestDate // 实际日期
 			if currLatestDateStr != `` && currLatestDateStr != `0000-00-00` {
@@ -205,7 +205,7 @@ func updateInsertConfigValueByMysql(to *gorm.DB, edbInfo *EdbInfo, oldConfigDate
 
 		// 如果是没有历史数据,那么就需要增加数据
 		if edbDateData == nil {
-			addSql := ` INSERT INTO %s (edb_info_id,edb_code,data_time,value,create_time,modify_time,data_timestamp) VALUES ( %d, "%s", "%s", "%s", now(), now(), %s) `
+			addSql := ` INSERT INTO %s (edb_info_id,edb_code,data_time,value,create_time,modify_time,data_timestamp) VALUES ( %d, '%s', '%s', '%s', now(), now(), %s) `
 			addSql = fmt.Sprintf(addSql, tableName, edbInfo.EdbInfoId, edbInfo.EdbCode, dateStr, saveValue, timeStr)
 			err = to.Exec(addSql).Error
 		} else if value == "" {
@@ -223,7 +223,7 @@ func updateInsertConfigValueByMysql(to *gorm.DB, edbInfo *EdbInfo, oldConfigDate
 			deleteSql = fmt.Sprintf(deleteSql, tableName, edbDateData.EdbDataId)
 			err = to.Exec(deleteSql).Error
 		} else {
-			updateSql := `UPDATE %s SET data_time = "%s", value = "%s", modify_time= now(), data_timestamp= %s WHERE edb_data_id = %d;`
+			updateSql := `UPDATE %s SET data_time = '%s', value = '%s', modify_time= now(), data_timestamp= %s WHERE edb_data_id = %d;`
 			updateSql = fmt.Sprintf(updateSql, tableName, dateStr, saveValue, timeStr, edbDateData.EdbDataId)
 			err = to.Exec(updateSql).Error
 		}

+ 6 - 0
services/data/chart_info.go

@@ -302,6 +302,12 @@ func GetChartEdbData(chartInfoId, chartType int, calendar, startDate, endDate st
 	xEdbIdValue = make([]int, 0)
 	yDataList = make([]data_manage.YData, 0)
 
+	defer func() {
+		for _, v := range edbList {
+			v.ConvertToResp()
+		}
+	}()
+
 	var extraConfig interface{}
 	switch chartType {
 	case 6:

+ 5 - 0
services/data/chart_info_excel_balance.go

@@ -574,6 +574,11 @@ func editBalanceExcelChart(req request.AddBalanceTableChartReq) (chartInfo *data
 }
 
 func GetBalanceExcelChartDetail(chartInfo *data_manage.ChartInfoView, mappingListTmp []*excelModel.ExcelChartEdb, sysUser *system.Admin, dataListMap map[int][]*data_manage.EdbDataList) (resp *data_manage.ChartInfoDetailResp, err error, errMsg string) {
+	defer func() {
+		for _, v := range resp.EdbInfoList {
+			v.ConvertToResp()
+		}
+	}()
 	// 图表数据权限
 	{
 		// 已授权分类id