1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- package data_manage
- import (
- "eta/eta_api/utils"
- "time"
- "github.com/beego/beego/v2/client/orm"
- )
- type BaseFromSciHqData struct {
- SciHqDataId int `orm:"column(sci_hq_data_id);pk;auto"`
- BaseFromSciHqIndexId int `description:"指标id"`
- IndexCode string `description:"指标编码"`
- DataTime time.Time `description:"数据日期"`
- Value float64 `description:"数据值"`
- CreateTime time.Time `description:"创建时间"`
- ModifyTime time.Time `description:"修改时间"`
- DataTimestamp int64 `description:"数据时间戳"`
- }
- type BaseFromSciHqDataItem struct {
- SciHqDataId int `orm:"column(sci_hq_data_id);pk;auto"`
- BaseFromSciHqIndexId int `description:"指标id"`
- IndexCode string `description:"指标编码"`
- DataTime string `description:"数据日期"`
- Value float64 `description:"数据值"`
- CreateTime string `description:"创建时间"`
- ModifyTime string `description:"修改时间"`
- DataTimestamp int64 `description:"数据时间戳"`
- }
- func (m *BaseFromSciHqData) ToItem() (item *BaseFromSciHqDataItem) {
- return &BaseFromSciHqDataItem{
- SciHqDataId: m.SciHqDataId,
- BaseFromSciHqIndexId: m.BaseFromSciHqIndexId,
- IndexCode: m.IndexCode,
- DataTime: m.DataTime.Format(utils.FormatDate),
- Value: m.Value,
- CreateTime: m.CreateTime.Format(utils.FormatDateTime),
- ModifyTime: m.ModifyTime.Format(utils.FormatDateTime),
- DataTimestamp: m.DataTimestamp,
- }
- }
- // GetSciHqDataByIndexId 根据指标id获取指标数据
- func GetSciHqDataByIndexId(indexId int) (items []*BaseFromSciHqDataItem, err error) {
- var ormList []*BaseFromSciHqData
- items = make([]*BaseFromSciHqDataItem, 0)
- o := orm.NewOrmUsingDB("data")
- 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).QueryRows(&ormList)
- if err != nil {
- return
- }
- for _, ormItem := range ormList {
- items = append(items, ormItem.ToItem())
- }
- return
- }
- // GetSciHqDataDataTimeByIndexId 根据指标id获取指标数据的日期列表
- func GetSciHqDataDataTimeByIndexId(indexIdList []int) (items []time.Time, err error) {
- if len(indexIdList) == 0 {
- return
- }
- o := orm.NewOrmUsingDB("data")
- 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).QueryRows(&items)
- return
- }
- func GetSciHqIndexDataByCode(indexCode string) (items []*BaseFromSciHqDataItem, err error) {
- var ormList []*BaseFromSciHqData
- items = make([]*BaseFromSciHqDataItem, 0)
- o := orm.NewOrmUsingDB("data")
- sql := ` SELECT * FROM base_from_sci_hq_data WHERE index_code=? ORDER BY data_time DESC `
- _, err = o.Raw(sql, indexCode).QueryRows(&ormList)
- if err != nil {
- return
- }
- for _, ormItem := range ormList {
- items = append(items, ormItem.ToItem())
- }
- return
- }
- func GetSciHqIndexDataCount(indexCode string) (count int, err error) {
- o := orm.NewOrmUsingDB("data")
- sql := ` SELECT COUNT(1) AS count FROM base_from_sci_hq_data WHERE index_code=? `
- err = o.Raw(sql, indexCode).QueryRow(&count)
- return
- }
|