123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- // @Author gmy 2024/8/7 9:50:00
- package models
- import (
- "errors"
- "eta/eta_index_lib/utils"
- "github.com/beego/beego/v2/client/orm"
- "time"
- )
- type BaseFromLyData struct {
- BaseFromLyDataId int `orm:"column(base_from_ly_data_id);pk"` // 数据ID
- CreateTime string `orm:"column(create_time)"` // 创建时间
- ModifyTime string `orm:"column(modify_time)"` // 修改时间
- BaseFromLyIndexId int `orm:"column(base_from_ly_index_id)"` // 指标id
- IndexCode string `orm:"column(index_code)"` // 指标编码
- DataTime string `orm:"column(data_time)"` // 数据日期
- Value float64 `orm:"column(value)"` // 数据值
- }
- type BaseFromLyDataOrm struct {
- BaseFromLyDataId int `orm:"column(base_from_ly_data_id);pk"` // 数据ID
- CreateTime time.Time `orm:"column(create_time)"` // 创建时间
- ModifyTime time.Time `orm:"column(modify_time)"` // 修改时间
- BaseFromLyIndexId int `orm:"column(base_from_ly_index_id)"` // 指标id
- IndexCode string `orm:"column(index_code)"` // 指标编码
- DataTime time.Time `orm:"column(data_time)"` // 数据日期
- Value float64 `orm:"column(value)"` // 数据值
- }
- func (ormItem *BaseFromLyDataOrm) convertToLyData() BaseFromLyData {
- return BaseFromLyData{
- BaseFromLyDataId: ormItem.BaseFromLyDataId,
- CreateTime: ormItem.CreateTime.Format(utils.FormatDateTime),
- ModifyTime: ormItem.ModifyTime.Format(utils.FormatDateTime),
- BaseFromLyIndexId: ormItem.BaseFromLyIndexId,
- IndexCode: ormItem.IndexCode,
- DataTime: ormItem.DataTime.Format(utils.FormatDate),
- Value: ormItem.Value,
- }
- }
- func convertToLyDataList(ormList []BaseFromLyDataOrm) (list []BaseFromLyData) {
- for _, item := range ormList {
- list = append(list, item.convertToLyData())
- }
- return
- }
- func init() {
- orm.RegisterModel(new(BaseFromLyData))
- }
- // AddLyDataList 批量插入数据记录列表
- func AddLyDataList(items []BaseFromLyData) (err error) {
- o := orm.NewOrm()
- _, err = o.InsertMulti(len(items), items)
- return
- }
- // GetLyDataByIndexIdAndDataTime 根据指标id和数据日期查询数据
- func GetLyDataByIndexIdAndDataTime(indexId int, dataTime string) (items []BaseFromLyData, err error) {
- o := orm.NewOrm()
- sql := `SELECT * FROM base_from_ly_data WHERE base_from_ly_index_id=? AND data_time=?`
- _, err = o.Raw(sql, indexId, dataTime).QueryRows(&items)
- if errors.Is(err, orm.ErrNoRows) {
- return nil, nil
- }
- return
- }
- // GetLyDataByIndexIdAndDataTimeYM 根据指标id和数据日期的年月查询数据
- func GetLyDataByIndexIdAndDataTimeYM(indexId int, dataTime string) (items []BaseFromLyData, err error) {
- o := orm.NewOrm()
- sql := `SELECT * FROM base_from_ly_data WHERE base_from_ly_index_id=? AND data_time like ?`
- var ormList []BaseFromLyDataOrm
- _, err = o.Raw(sql, indexId, dataTime+"%").QueryRows(&ormList)
- if errors.Is(err, orm.ErrNoRows) {
- return nil, nil
- }
- if err != nil {
- return
- }
- items = convertToLyDataList(ormList)
- return
- }
- // UpdateLyDataById 根据主键id更新数据
- func UpdateLyDataById(dataId int, value float64) (err error) {
- o := orm.NewOrm()
- sql := `UPDATE base_from_ly_data SET value=? WHERE base_from_ly_data_id=?`
- _, err = o.Raw(sql, value, dataId).Exec()
- return
- }
- // GetBaseFromLyDataByIndexCode 根据指标编码查询
- func GetBaseFromLyDataByIndexCode(condition string, pars []interface{}) (items []BaseFromLyData, err error) {
- sql := `SELECT * FROM base_from_ly_data WHERE 1=1 `
- o := orm.NewOrm()
- if condition != "" {
- sql += condition
- }
- var ormList []BaseFromLyDataOrm
- _, err = o.Raw(sql, pars...).QueryRows(&ormList)
- if errors.Is(err, orm.ErrNoRows) {
- return nil, nil
- }
- if err != nil {
- return
- }
- items = convertToLyDataList(ormList)
- return
- }
|