predict_edb_rule_data.go 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. package models
  2. import (
  3. "eta/eta_index_lib/global"
  4. "eta/eta_index_lib/utils"
  5. "gorm.io/gorm"
  6. "time"
  7. )
  8. // PredictEdbRuleData 预测指标,动态规则的计算数据
  9. type PredictEdbRuleData struct {
  10. PredictEdbRuleDataId int `gorm:"primaryKey;autoIncrement;column:predict_edb_rule_data_id"`
  11. EdbInfoId int
  12. ConfigId int
  13. DataTime string
  14. Value string
  15. CreateTime time.Time
  16. ModifyTime time.Time
  17. DataTimestamp int64
  18. }
  19. // PredictEdbRuleDataItem 预测指标,动态规则的计算数据
  20. type PredictEdbRuleDataItem struct {
  21. PredictEdbRuleDataId int `gorm:"primaryKey;autoIncrement;column:predict_edb_rule_data_id"`
  22. EdbInfoId int
  23. ConfigId int
  24. DataTime string
  25. Value float64
  26. CreateTime time.Time
  27. ModifyTime time.Time
  28. DataTimestamp int64
  29. }
  30. // GetPredictEdbRuleDataItemList 根据基础预测指标id集合 获取 所有的普通指标列表数据
  31. func GetPredictEdbRuleDataItemList(edbInfoId, configId int, startDate, endDate string) (list []*PredictEdbRuleDataItem, err error) {
  32. var pars []interface{}
  33. sql := ` SELECT * FROM predict_edb_rule_data WHERE edb_info_id = ? AND config_id = ? `
  34. pars = append(pars, edbInfoId, configId)
  35. if startDate != "" {
  36. sql += ` AND data_time>=? `
  37. pars = append(pars, startDate)
  38. }
  39. if endDate != "" {
  40. sql += ` AND data_time<=? `
  41. pars = append(pars, endDate)
  42. }
  43. sql += ` ORDER BY data_time ASC `
  44. err = global.DEFAULT_DB.Raw(sql, pars...).Find(&list).Error
  45. if err != nil {
  46. return
  47. }
  48. for _, v := range list {
  49. v.ConvertDate()
  50. }
  51. return
  52. }
  53. // GetPredictEdbRuleDataByTo
  54. // @Description: 根据配置id获取数据
  55. // @author: Roc
  56. // @datetime 2024-10-31 15:17:38
  57. // @param to *gorm.DB
  58. // @param configId int
  59. // @return list []*PredictEdbRuleData
  60. // @return err error
  61. func GetPredictEdbRuleDataByTo(to *gorm.DB, configId int) (list []*PredictEdbRuleData, err error) {
  62. sql := `SELECT * FROM predict_edb_rule_data WHERE config_id = ?`
  63. err = to.Raw(sql, configId).Find(&list).Error
  64. return
  65. }
  66. // ConvertDate
  67. // @Description: 日期转换
  68. // @author: Roc
  69. // @receiver m
  70. // @datetime 2024-10-31 15:26:48
  71. func (m *PredictEdbRuleData) ConvertDate() {
  72. m.DataTime = utils.GormDateStrToDateStr(m.DataTime)
  73. return
  74. }
  75. // ConvertDate
  76. // @Description: 日期转换
  77. // @author: Roc
  78. // @receiver m
  79. // @datetime 2024-10-31 15:26:59
  80. func (m *PredictEdbRuleDataItem) ConvertDate() {
  81. m.DataTime = utils.GormDateStrToDateStr(m.DataTime)
  82. return
  83. }