edb_monitor_message.go 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package edbmonitor
  2. import (
  3. "fmt"
  4. "time"
  5. "github.com/beego/beego/v2/client/orm"
  6. )
  7. type EdbMonitorMessage struct {
  8. EdbMonitorMessageId int `orm:"column(edb_monitor_message_id);pk"`
  9. EdbInfoId int `description:"指标id"`
  10. EdbInfoType int `description:"指标类型: 0-普通指标;1-预测指标"`
  11. AdminId int `description:"用户id"`
  12. IsRead int `description:"是否已读: 0-未读;1-已读"`
  13. Message string `description:"消息内容"`
  14. MonitorTriggerTime time.Time `description:"预警触发时间"`
  15. CreateTime time.Time `description:"创建时间"`
  16. }
  17. func (m *EdbMonitorMessage) Insert() (insertId int64, err error) {
  18. o := orm.NewOrmUsingDB("data")
  19. insertId, err = o.Insert(m)
  20. return
  21. }
  22. func (m *EdbMonitorMessage) Update(cols []string) (err error) {
  23. o := orm.NewOrmUsingDB("data")
  24. _, err = o.Update(m, cols...)
  25. return
  26. }
  27. func (m *EdbMonitorMessage) GetCountByCondition(condition string, pars []interface{}) (count int, err error) {
  28. o := orm.NewOrmUsingDB("data")
  29. sql := fmt.Sprintf(`SELECT COUNT(1) FROM edb_monitor_message WHERE 1=1 %s`, condition)
  30. err = o.Raw(sql, pars).QueryRow(&count)
  31. return
  32. }
  33. func GetEdbMonitorMessageById(id int) (item *EdbMonitorMessage, err error) {
  34. o := orm.NewOrmUsingDB("data")
  35. sql := "SELECT * FROM edb_monitor_message WHERE edb_monitor_message_id =?"
  36. err = o.Raw(sql, id).QueryRow(&item)
  37. return
  38. }
  39. func GetEdbMonitorMessageByAdminId(adminId int) (items []*EdbMonitorMessage, err error) {
  40. o := orm.NewOrmUsingDB("data")
  41. sql := "SELECT * FROM edb_monitor_message WHERE admin_id =? AND is_read = 0 ORDER BY create_time ASC"
  42. _, err = o.Raw(sql, adminId).QueryRows(&items)
  43. return
  44. }
  45. func GetEdbMonitorMessageCountByAdminId(adminId int) (count int, err error) {
  46. o := orm.NewOrmUsingDB("data")
  47. sql := "SELECT COUNT(*) FROM edb_monitor_message WHERE admin_id =? ORDER BY is_read ASC, create_time DESC"
  48. err = o.Raw(sql, adminId).QueryRow(&count)
  49. return
  50. }
  51. func GetEdbMonitorMessagePageByAdminId(adminId, startSize, pageSize int) (items []*EdbMonitorMessage, err error) {
  52. o := orm.NewOrmUsingDB("data")
  53. sql := "SELECT * FROM edb_monitor_message WHERE admin_id =? ORDER BY is_read ASC, create_time DESC LIMIT?,?"
  54. _, err = o.Raw(sql, adminId, startSize, pageSize).QueryRows(&items)
  55. return
  56. }