edb_data_calculate_stl.go 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package stl
  2. import (
  3. "eta/eta_api/global"
  4. "eta/eta_api/utils"
  5. "time"
  6. )
  7. type EdbDataCalculateStl struct {
  8. EdbDataId int `orm:"pk" gorm:"primaryKey"`
  9. EdbInfoId int `description:"指标id"`
  10. EdbCode string `description:"指标编码"`
  11. DataTime time.Time `description:"数据时间"`
  12. Value float64 `description:"数据值"`
  13. CreateTime time.Time `description:"创建时间"`
  14. ModifyTime time.Time `description:"修改时间"`
  15. DataTimestamp int64 `description:"数据时间戳" gorm:"column:data_timestamp"`
  16. }
  17. func GetEdbDataCalculateStlByEdbCode(edbCode string) (items []*EdbDataCalculateStl, err error) {
  18. o := global.DbMap[utils.DbNameIndex]
  19. sql := `SELECT * FROM edb_data_calculate_stl WHERE edb_code =? ORDER BY data_time`
  20. err = o.Raw(sql, edbCode).Find(&items).Error
  21. return
  22. }
  23. func DeleteAndInsertEdbDataCalculateStl(edbCode string, dataList []*EdbDataCalculateStl) (err error) {
  24. to := global.DbMap[utils.DbNameIndex].Begin()
  25. defer func() {
  26. if err != nil {
  27. _ = to.Rollback()
  28. } else {
  29. _ = to.Commit()
  30. }
  31. }()
  32. sql := `DELETE FROM edb_data_calculate_stl WHERE edb_code =?`
  33. err = to.Exec(sql, edbCode).Error
  34. if err != nil {
  35. return
  36. }
  37. err = to.CreateInBatches(dataList, len(dataList)).Error
  38. return
  39. }
  40. func (m *EdbDataCalculateStl) GetMaxId() (maxId int, err error) {
  41. o := global.DbMap[utils.DbNameIndex]
  42. sql := `SELECT max(edb_data_id) id FROM edb_data_calculate_stl limit 1`
  43. err = o.Raw(sql).Scan(&maxId).Error
  44. return
  45. }
  46. func (m *EdbDataCalculateStl) BatchInsert(dataList []*EdbDataCalculateStl) (err error) {
  47. o := global.DbMap[utils.DbNameIndex]
  48. err = o.CreateInBatches(dataList, utils.MultiAddNum).Error
  49. return
  50. }