Procházet zdrojové kódy

数据源-睿咨得

kobe6258 před 5 měsíci
rodič
revize
00f96255b4
1 změnil soubory, kde provedl 22 přidání a 2 odebrání
  1. 22 2
      models/data_manage/edb_info.go

+ 22 - 2
models/data_manage/edb_info.go

@@ -893,6 +893,25 @@ type EdbInfoMaxAndMinInfo struct {
 	LatestValue float64 `description:"最新值"`
 }
 
+// [2025-zsh-时间类型修复-chenhan] 数据库获取
+type EdbInfoMaxAndMinInfoOrm struct {
+	MinDate     time.Time `description:"最小日期"`
+	MaxDate     time.Time `description:"最大日期"`
+	MinValue    float64   `description:"最小值"`
+	MaxValue    float64   `description:"最大值"`
+	LatestValue float64   `description:"最新值"`
+}
+
+func (m *EdbInfoMaxAndMinInfoOrm) toEdbInfoMaxAndMinInfo() *EdbInfoMaxAndMinInfo {
+	return &EdbInfoMaxAndMinInfo{
+		MinDate:     m.MinDate.Format(utils.FormatDate),
+		MaxDate:     m.MaxDate.Format(utils.FormatDate),
+		MinValue:    m.MinValue,
+		MaxValue:    m.MaxValue,
+		LatestValue: m.LatestValue,
+	}
+}
+
 // GetEdbInfoMaxAndMinInfo
 // @Description: 获取指标最大最小值
 // @author: Roc
@@ -930,11 +949,12 @@ func GetEdbInfoMaxAndMinInfoByMysql(source, subSource int, edbCode string) (item
 	tableName := GetEdbDataTableName(source, subSource)
 	sql = ` SELECT MIN(data_time) AS min_date,MAX(data_time) AS max_date,MIN(value) AS min_value,MAX(value) AS max_value FROM %s WHERE edb_code=? `
 	sql = fmt.Sprintf(sql, tableName)
-	err = o.Raw(sql, edbCode).QueryRow(&item)
+	var ormItem *EdbInfoMaxAndMinInfoOrm
+	err = o.Raw(sql, edbCode).QueryRow(&ormItem)
 	if err != nil {
 		return
 	}
-
+	item = ormItem.toEdbInfoMaxAndMinInfo()
 	var latest_value float64
 	sql = ` SELECT value AS latest_value FROM %s WHERE edb_code=? ORDER BY data_time DESC LIMIT 1 `
 	sql = fmt.Sprintf(sql, tableName)