base_from_ly_data.go 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. // @Author gmy 2024/8/7 9:50:00
  2. package models
  3. import (
  4. "errors"
  5. "eta_gn/eta_index_lib/global"
  6. "github.com/beego/beego/v2/client/orm"
  7. )
  8. //type BaseFromLyData struct {
  9. // BaseFromLyDataId int `orm:"column(base_from_ly_data_id);pk"` // 数据ID
  10. // CreateTime string `orm:"column(create_time)"` // 创建时间
  11. // ModifyTime string `orm:"column(modify_time)"` // 修改时间
  12. // BaseFromLyIndexId int `orm:"column(base_from_ly_index_id)"` // 指标id
  13. // IndexCode string `orm:"column(index_code)"` // 指标编码
  14. // DataTime string `orm:"column(data_time)"` // 数据日期
  15. // Value float64 `orm:"column(value)"` // 数据值
  16. //}
  17. type BaseFromLyData struct {
  18. BaseFromLyDataId int `gorm:"column:base_from_ly_data_id;primaryKey"` // 数据ID
  19. CreateTime string `gorm:"column:create_time"` // 创建时间
  20. ModifyTime string `gorm:"column:modify_time"` // 修改时间
  21. BaseFromLyIndexId int `gorm:"column:base_from_ly_index_id"` // 指标id
  22. IndexCode string `gorm:"column:index_code"` // 指标编码
  23. DataTime string `gorm:"column:data_time"` // 数据日期
  24. Value float64 `gorm:"column:value"` // 数据值
  25. }
  26. func (m *BaseFromLyData) TableName() string {
  27. return "base_from_ly_data"
  28. }
  29. func init() {
  30. orm.RegisterModel(new(BaseFromLyData))
  31. }
  32. // AddLyDataList 批量插入数据记录列表
  33. func AddLyDataList(items []BaseFromLyData) (err error) {
  34. //o := orm.NewOrm()
  35. //_, err = o.InsertMulti(len(items), items)
  36. err = global.DEFAULT_DmSQL.CreateInBatches(items, 500).Error
  37. return
  38. }
  39. // GetLyDataByIndexIdAndDataTime 根据指标id和数据日期查询数据
  40. func GetLyDataByIndexIdAndDataTime(indexId int, dataTime string) (items []BaseFromLyData, err error) {
  41. //o := orm.NewOrm()
  42. sql := `SELECT * FROM base_from_ly_data WHERE base_from_ly_index_id=? AND data_time=?`
  43. //_, err = o.Raw(sql, indexId, dataTime).QueryRows(&items)
  44. err = global.DEFAULT_DmSQL.Raw(sql, indexId, dataTime).Find(&items).Error
  45. if errors.Is(err, orm.ErrNoRows) {
  46. return nil, nil
  47. }
  48. return
  49. }
  50. // GetLyDataByIndexIdAndDataTimeYM 根据指标id和数据日期的年月查询数据
  51. func GetLyDataByIndexIdAndDataTimeYM(indexId int, dataTime string) (items []BaseFromLyData, err error) {
  52. //o := orm.NewOrm()
  53. sql := `SELECT * FROM base_from_ly_data WHERE base_from_ly_index_id=? AND data_time like ?`
  54. //_, err = o.Raw(sql, indexId, dataTime+"%").QueryRows(&items)
  55. err = global.DEFAULT_DmSQL.Raw(sql, indexId, dataTime+"%").Find(&items).Error
  56. if errors.Is(err, orm.ErrNoRows) {
  57. return nil, nil
  58. }
  59. return
  60. }
  61. // UpdateLyDataById 根据主键id更新数据
  62. func UpdateLyDataById(dataId int, value float64) (err error) {
  63. //o := orm.NewOrm()
  64. sql := `UPDATE base_from_ly_data SET value=? WHERE base_from_ly_data_id=?`
  65. //_, err = o.Raw(sql, value, dataId).Exec()
  66. err = global.DEFAULT_DmSQL.Exec(sql, value, dataId).Error
  67. return
  68. }
  69. // GetBaseFromLyDataByIndexCode 根据指标编码查询
  70. func GetBaseFromLyDataByIndexCode(condition string, pars []interface{}) (items []BaseFromLyData, err error) {
  71. sql := `SELECT * FROM base_from_ly_data WHERE 1=1 `
  72. //o := orm.NewOrm()
  73. if condition != "" {
  74. sql += condition
  75. }
  76. //_, err = o.Raw(sql, pars...).QueryRows(&items)
  77. err = global.DEFAULT_DmSQL.Raw(sql, pars...).Find(&items).Error
  78. if errors.Is(err, orm.ErrNoRows) {
  79. return nil, nil
  80. }
  81. return
  82. }