123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- // @Author gmy 2024/8/7 9:50:00
- package models
- import (
- "errors"
- "github.com/beego/beego/v2/client/orm"
- )
- 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)"` // 数据值
- }
- 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 ?`
- _, err = o.Raw(sql, indexId, dataTime+"%").QueryRows(&items)
- if errors.Is(err, orm.ErrNoRows) {
- return nil, nil
- }
- 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
- }
- _, err = o.Raw(sql, pars...).QueryRows(&items)
- if errors.Is(err, orm.ErrNoRows) {
- return nil, nil
- }
- return
- }
|