edb_monitor.go 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  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 GetEdbMonitorEdbInfoList() (items []*EdbMonitorInfo, err error) {
  47. o := orm.NewOrmUsingDB("data")
  48. sql := `SELECT * FROM edb_monitor_info WHERE state <> 0`
  49. _, err = o.Raw(sql).QueryRows(&items)
  50. return
  51. }
  52. func DeleteEdbMonitorInfoById(id int) (err error) {
  53. o := orm.NewOrmUsingDB("data")
  54. sql := `DELETE FROM edb_monitor_info WHERE edb_monitor_id =?`
  55. _, err = o.Raw(sql, id).Exec()
  56. return
  57. }
  58. func DeleteEdbMonitorInfoByIdList(ids []int) (err error) {
  59. if len(ids) == 0 {
  60. return
  61. }
  62. o := orm.NewOrmUsingDB("data")
  63. sql := `DELETE FROM edb_monitor_info WHERE edb_monitor_id IN(` + utils.GetOrmInReplace(len(ids)) + `)`
  64. _, err = o.Raw(sql, ids).Exec()
  65. return
  66. }
  67. func GetEdbMonitorInfoById(id int) (item *EdbMonitorInfo, err error) {
  68. o := orm.NewOrmUsingDB("data")
  69. sql := `SELECT * FROM edb_monitor_info WHERE edb_monitor_id =?`
  70. err = o.Raw(sql, id).QueryRow(&item)
  71. return
  72. }
  73. func GetEdbMonitorInfoCountByClassifyId(classifyId []int) (count int, err error) {
  74. if len(classifyId) == 0 {
  75. return
  76. }
  77. o := orm.NewOrmUsingDB("data")
  78. sql := `SELECT COUNT(*) AS count FROM edb_monitor_info WHERE edb_monitor_classify_id IN(` + utils.GetOrmInReplace(len(classifyId)) + `)`
  79. err = o.Raw(sql, classifyId).QueryRow(&count)
  80. return
  81. }
  82. func GetEdbMonitorInfoCountByCondition(condition string, pars []interface{}) (count int, err error) {
  83. o := orm.NewOrmUsingDB("data")
  84. sql := `SELECT COUNT(*) AS count FROM edb_monitor_info WHERE 1=1 `
  85. if condition != "" {
  86. sql += condition
  87. }
  88. err = o.Raw(sql, pars).QueryRow(&count)
  89. return
  90. }
  91. func GetEdbMonitorInfoPageByCondition(condition string, pars []interface{}, startSize int, pageSize int) (items []*EdbMonitorInfo, err error) {
  92. o := orm.NewOrmUsingDB("data")
  93. sql := `SELECT * FROM edb_monitor_info WHERE 1=1 `
  94. if condition != "" {
  95. sql += condition
  96. }
  97. sql += ` ORDER BY create_time DESC LIMIT?,?`
  98. _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
  99. return
  100. }
  101. func GetEdbMonitorCreateUserId() (userIds []int, err error) {
  102. o := orm.NewOrmUsingDB("data")
  103. sql := `SELECT DISTINCT create_user_id FROM edb_monitor_info`
  104. _, err = o.Raw(sql).QueryRows(&userIds)
  105. return
  106. }