// Package data_manage @Author gmy 2024/8/7 9:50:00 package data_manage import ( "eta/eta_api/utils" "github.com/beego/beego/v2/client/orm" ) type BaseFromRzdData struct { BaseFromRzdDataId int `orm:"column(base_from_rzd_data_id);pk"` BaseFromRzdIndexId int `orm:"column(base_from_rzd_index_id)"` CreateTime string `orm:"column(create_time)"` DataTime string `orm:"column(data_time)"` IndexCode string `orm:"column(index_code)"` ModifyTime string `orm:"column(modify_time)"` Value float64 `orm:"column(value)"` } // RzdIndexAddReq 指标添加vo type RzdIndexAddReq struct { EdbCode string `description:"指标编码"` EdbName string `description:"指标名称"` Frequency string `description:"频度"` Unit string `description:"单位"` ClassifyId int `description:"分类ID"` AdminId int `description:"管理员ID"` AdminRealName string `description:"管理员名称"` } type RzdIndexDataCountGroup struct { IndexCode string Count int } func init() { orm.RegisterModel(new(BaseFromRzdData)) } func GetRzdIndexDataCountGroup(indexCodes []string) (items []*RzdIndexDataCountGroup, err error) { if len(indexCodes) <= 0 { return } o := orm.NewOrmUsingDB("data") sql := ` SELECT COUNT(1) AS count, index_code FROM base_from_rzd_data WHERE index_code IN (` + utils.GetOrmInReplace(len(indexCodes)) + `) GROUP BY index_code` _, err = o.Raw(sql, indexCodes).QueryRows(&items) return } func GetRzdIndexData(indexCode string, startSize, pageSize int) (items []*BaseFromRzdData, err error) { o := orm.NewOrmUsingDB("data") sql := ` SELECT * FROM base_from_rzd_data WHERE index_code=? ORDER BY data_time DESC LIMIT ?,? ` _, err = o.Raw(sql, indexCode, startSize, pageSize).QueryRows(&items) return } // GetBaseFormRzdDataByIndexCode 根据指标编码查询 func GetBaseFormRzdDataByIndexCode(indexCode string) (items []*BaseFromRzdData, err error) { sql := `SELECT * FROM base_from_rzd_data WHERE index_code=? ORDER BY data_time desc` o := orm.NewOrmUsingDB("data") _, err = o.Raw(sql, indexCode).QueryRows(&items) return } // GetRzdDataListByIndexCodes 根据指标编码查询 func GetRzdDataListByIndexCodes(IndexCodes string) (items []string, err error) { sql := ` SELECT data_time FROM base_from_rzd_data WHERE index_code IN(` + IndexCodes + `) GROUP BY data_time DESC ` o := orm.NewOrmUsingDB("data") _, err = o.Raw(sql).QueryRows(&items) return }