base_from_ly_data.go 2.8 KB

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