package data_manage import ( "eta/eta_api/global" "eta/eta_api/utils" "fmt" "gorm.io/gorm" ) type HisugarData struct { InputValue string `orm:"column(DATA_VALUE)" description:"日期"` DataTime string `orm:"column(DATA_DATE)" description:"值"` } func GetEdbDataHisugarMaxOrMinDate(edbCode string) (minDate, maxDate string, err error) { //o := orm.NewOrmUsingDB("data") sql := ` SELECT MIN(data_time) AS minDate,MAX(data_time) AS maxDate FROM edb_data_hisugar WHERE edb_code=? ` //err = o.Raw(sql, edbCode).QueryRow(&minDate, &maxDate) var maxAndMinDate MaxAndMinDate err = global.DbMap[utils.DbNameIndex].Raw(sql, edbCode).First(&maxAndMinDate).Error if err != nil { return } minDate = maxAndMinDate.MinDate.Format(utils.FormatDate) maxDate = maxAndMinDate.MaxDate.Format(utils.FormatDate) return } type BaseFromHisugarIndexItem struct { //BaseFromSciIndexId int `orm:"column(base_from_hisugar_index_id);pk"` // 主键,自动递增 BaseFromSciIndexId int `gorm:"column:base_from_hisugar_index_id;primaryKey"` // 主键,自动递增 IndexCode string // 指标编码 IndexName string // 指标名称 ClassifyId int // 分类Id Unit string // 单位 Frequency string // 频度 Describe string // 指标描述 CreateTime string // 创建时间 ModifyTime string // 修改时间 } // AfterFind 在该模型上设置钩子函数,把日期转成正确的string,所以查询函数只能用Find函数,First或者Scan是不会触发该函数的来获取数据 func (m *BaseFromHisugarIndexItem) AfterFind(db *gorm.DB) (err error) { m.CreateTime = utils.GormDateStrToDateTimeStr(m.CreateTime) m.ModifyTime = utils.GormDateStrToDateTimeStr(m.ModifyTime) return } func (m *BaseFromHisugarIndexItem) ConvDateTimeStr() { m.CreateTime = utils.GormDateStrToDateTimeStr(m.CreateTime) m.ModifyTime = utils.GormDateStrToDateTimeStr(m.ModifyTime) return } // GetBaseInfoFromHisugarByIndexCode 获取指标信息 func GetBaseInfoFromHisugarByIndexCode(indexCode string) (item *BaseFromHisugarIndexItem, err error) { //o := orm.NewOrmUsingDB("data") sql := `SELECT * FROM base_from_hisugar_index WHERE index_code=? ` sql = fmt.Sprintf(sql) //err = o.Raw(sql, indexCode).QueryRow(&item) err = global.DbMap[utils.DbNameIndex].Raw(sql, indexCode).First(&item).Error if err != nil { return } item.ConvDateTimeStr() return }