edb_data_calculate_stl.go 1.6 KB

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