edb_monitor.go 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. package edbmonitor
  2. import (
  3. "eta/eta_api/utils"
  4. "time"
  5. "github.com/beego/beego/v2/client/orm"
  6. )
  7. type EdbMonitorInfo struct {
  8. EdbMonitorId int `orm:"column(edb_monitor_id);pk"`
  9. EdbMonitorClassifyId int `description:"预警分类id"`
  10. EdbMonitorName string `description:"预警名称"`
  11. EdbInfoId int `description:"指标id"`
  12. EdbInfoType int `description:"指标类型"`
  13. EdbCode string `description:"指标编码"`
  14. Source int `description:"指标来源"`
  15. SubSource int `description:"指标子来源: 0-经济数据库;1-日期序列;2-高频数据"`
  16. EdbLatestDate string `description:"最新日期"`
  17. EdbLatestValue float64 `description:"指标最新值"`
  18. MonitorType int `description:"突破方式: 0-向上突破;1-向下突破"`
  19. MonitorData float64 `description:"预警值"`
  20. MonitorLevel string `description:"预警等级"`
  21. State int `description:"预警状态: 0-已关闭;1-未触发;2-已触发"`
  22. EdbTriggerDate time.Time `description:"触发日期"`
  23. MonitorTriggerTime time.Time `description:"预警触发时间"`
  24. CreateUserId int `description:"创建人id"`
  25. CreateTime time.Time `description:"创建时间"`
  26. ModifyTime time.Time `description:"修改时间"`
  27. }
  28. func (m *EdbMonitorInfo) Insert() (int64, error) {
  29. o := orm.NewOrmUsingDB("data")
  30. return o.Insert(m)
  31. }
  32. func (m *EdbMonitorInfo) Update(cols []string) (err error) {
  33. if len(cols) == 0 {
  34. return
  35. }
  36. o := orm.NewOrmUsingDB("data")
  37. _, err = o.Update(m, cols...)
  38. return
  39. }
  40. func GetEdbMonitorLevelList() (list []string, err error) {
  41. o := orm.NewOrmUsingDB("data")
  42. sql := `SELECT DISTINCT monitor_level FROM edb_monitor_info`
  43. _, err = o.Raw(sql).QueryRows(&list)
  44. return
  45. }
  46. func DeleteEdbMonitorInfoById(id int) (err error) {
  47. o := orm.NewOrmUsingDB("data")
  48. sql := `DELETE FROM edb_monitor_info WHERE edb_monitor_id =?`
  49. _, err = o.Raw(sql, id).Exec()
  50. return
  51. }
  52. func DeleteEdbMonitorInfoByIdList(ids []int) (err error) {
  53. if len(ids) == 0 {
  54. return
  55. }
  56. o := orm.NewOrmUsingDB("data")
  57. sql := `DELETE FROM edb_monitor_info WHERE edb_monitor_id IN(` + utils.GetOrmInReplace(len(ids)) + `)`
  58. _, err = o.Raw(sql, ids).Exec()
  59. return
  60. }
  61. func GetEdbMonitorInfoById(id int) (item *EdbMonitorInfo, err error) {
  62. o := orm.NewOrmUsingDB("data")
  63. sql := `SELECT * FROM edb_monitor_info WHERE edb_monitor_id =?`
  64. err = o.Raw(sql, id).QueryRow(&item)
  65. return
  66. }
  67. func GetEdbMonitorInfoCountByClassifyId(classifyId []int) (count int, err error) {
  68. if len(classifyId) == 0 {
  69. return
  70. }
  71. o := orm.NewOrmUsingDB("data")
  72. sql := `SELECT COUNT(*) AS count FROM edb_monitor_info WHERE edb_monitor_classify_id IN(` + utils.GetOrmInReplace(len(classifyId)) + `)`
  73. err = o.Raw(sql, classifyId).QueryRow(&count)
  74. return
  75. }
  76. func GetEdbMonitorInfoCountByCondition(condition string, pars []interface{}) (count int, err error) {
  77. o := orm.NewOrmUsingDB("data")
  78. sql := `SELECT COUNT(*) AS count FROM edb_monitor_info WHERE 1=1 `
  79. if condition != "" {
  80. sql += condition
  81. }
  82. err = o.Raw(sql, pars).QueryRow(&count)
  83. return
  84. }
  85. func GetEdbMonitorInfoPageByCondition(condition string, pars []interface{}, startSize int, pageSize int) (items []*EdbMonitorInfo, err error) {
  86. o := orm.NewOrmUsingDB("data")
  87. sql := `SELECT * FROM edb_monitor_info WHERE 1=1 `
  88. if condition != "" {
  89. sql += condition
  90. }
  91. sql += ` ORDER BY create_time DESC LIMIT?,?`
  92. _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
  93. return
  94. }
  95. func GetEdbMonitorCreateUserId() (userIds []int, err error) {
  96. o := orm.NewOrmUsingDB("data")
  97. sql := `SELECT DISTINCT create_user_id FROM edb_monitor_info`
  98. _, err = o.Raw(sql).QueryRows(&userIds)
  99. return
  100. }