123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- package data_manage
- import (
- "eta/eta_api/global"
- "eta/eta_api/utils"
- "gorm.io/gorm"
- "time"
- )
- type BaseFromSciHqData struct {
- SciHqDataId int `orm:"column(sci_hq_data_id);pk" gorm:"primaryKey"`
- BaseFromSciHqIndexId int `description:"指标id"`
- IndexCode string `description:"指标编码"`
- DataTime string `description:"数据日期"`
- Value float64 `description:"数据值"`
- CreateTime time.Time `description:"创建时间"`
- ModifyTime time.Time `description:"修改时间"`
- DataTimestamp int64 `description:"数据时间戳"`
- }
- func (obj *BaseFromSciHqData) AfterFind(tx *gorm.DB) (err error) {
- if utils.NeedDateOrTimeFormat(utils.DbDriverName) {
- if obj.DataTime != "" {
- obj.DataTime = utils.GormDateStrToDateStr(obj.DataTime)
- }
- }
- return
- }
- // GetSciHqDataByIndexId 根据指标id获取指标数据
- func GetSciHqDataByIndexId(indexId int) (items []*BaseFromSciHqData, err error) {
- o := global.DbMap[utils.DbNameIndex]
- sql := ` SELECT * FROM base_from_sci_hq_data WHERE base_from_sci_hq_index_id=? ORDER BY data_time DESC`
- err = o.Raw(sql, indexId).Find(&items).Error
- return
- }
- // GetSciHqDataDataTimeByIndexId 根据指标id获取指标数据的日期列表
- func GetSciHqDataDataTimeByIndexId(indexIdList []int) (items []string, err error) {
- if len(indexIdList) == 0 {
- return
- }
- o := global.DbMap[utils.DbNameIndex]
- sql := ` SELECT DISTINCT data_time FROM base_from_sci_hq_data WHERE base_from_sci_hq_index_id IN (` + utils.GetOrmInReplace(len(indexIdList)) + `) ORDER BY data_time DESC`
- err = o.Raw(sql, indexIdList).Find(&items).Error
- if err != nil {
- return
- }
- if utils.NeedDateOrTimeFormat(utils.DbDriverName) {
- for i := range items {
- items[i] = utils.GormDateStrToDateStr(items[i])
- }
- }
- return
- }
- func GetSciHqIndexDataByCode(indexCode string) (items []*BaseFromSciHqData, err error) {
- o := global.DbMap[utils.DbNameIndex]
- sql := ` SELECT * FROM base_from_sci_hq_data WHERE index_code=? ORDER BY data_time DESC `
- err = o.Raw(sql, indexCode).Find(&items).Error
- return
- }
- func GetSciHqIndexDataCount(indexCode string) (count int, err error) {
- o := global.DbMap[utils.DbNameIndex]
- sql := ` SELECT COUNT(1) AS count FROM base_from_sci_hq_data WHERE index_code=? `
- err = o.Raw(sql, indexCode).Scan(&count).Error
- return
- }
|