123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- package edbmonitor
- import (
- "eta/eta_api/global"
- "eta/eta_api/utils"
- "fmt"
- "time"
- )
- type EdbMonitorMessage struct {
- EdbMonitorMessageId int `orm:"column(edb_monitor_message_id);pk" gorm:"primaryKey"`
- EdbInfoId int `description:"指标id"`
- EdbInfoType int `description:"指标类型: 0-普通指标;1-预测指标"`
- EdbUniqueCode string `description:"指标唯一标识"`
- EdbClassifyId int `description:"指标id"`
- AdminId int `description:"用户id"`
- IsRead int `description:"是否已读: 0-未读;1-已读"`
- Message string `description:"消息内容"`
- MonitorTriggerTime time.Time `description:"预警触发时间"`
- CreateTime time.Time `description:"创建时间"`
- }
- func (m *EdbMonitorMessage) Insert() (insertId int64, err error) {
- o := global.DbMap[utils.DbNameIndex]
- err = o.Create(m).Error
- if err != nil {
- return
- }
- insertId = int64(m.EdbMonitorMessageId)
- return
- }
- func (m *EdbMonitorMessage) Update(cols []string) (err error) {
- o := global.DbMap[utils.DbNameIndex]
- err = o.Select(cols).Updates(m).Error
- return
- }
- func BatchModifyEdbMonitorMessageIsRead(ids []int, adminId int) (err error) {
- if len(ids) == 0 {
- return
- }
- o := global.DbMap[utils.DbNameIndex]
- sql := `UPDATE edb_monitor_message SET is_read =1 WHERE admin_id =? AND is_read = 0 AND edb_monitor_message_id IN (` + utils.GetOrmInReplace(len(ids)) + `)`
- err = o.Exec(sql, adminId, ids).Error
- return
- }
- func (m *EdbMonitorMessage) GetCountByCondition(condition string, pars []interface{}) (count int, err error) {
- o := global.DbMap[utils.DbNameIndex]
- sql := fmt.Sprintf(`SELECT COUNT(1) FROM edb_monitor_message WHERE 1=1 %s`, condition)
- err = o.Raw(sql, pars...).Scan(&count).Error
- return
- }
- func GetEdbMonitorMessageById(id int) (item *EdbMonitorMessage, err error) {
- o := global.DbMap[utils.DbNameIndex]
- sql := "SELECT * FROM edb_monitor_message WHERE edb_monitor_message_id =?"
- err = o.Raw(sql, id).First(&item).Error
- return
- }
- func GetEdbMonitorMessageByAdminId(adminId int) (items []*EdbMonitorMessage, err error) {
- o := global.DbMap[utils.DbNameIndex]
- sql := "SELECT * FROM edb_monitor_message WHERE admin_id =? AND is_read = 0 ORDER BY create_time DESC"
- err = o.Raw(sql, adminId).Find(&items).Error
- return
- }
- func GetEdbMonitorMessageCountByAdminId(adminId int) (count int, err error) {
- o := global.DbMap[utils.DbNameIndex]
- sql := "SELECT COUNT(*) FROM edb_monitor_message WHERE admin_id =? ORDER BY is_read ASC, create_time DESC"
- err = o.Raw(sql, adminId).Scan(&count).Error
- return
- }
- func GetEdbMonitorMessagePageByAdminId(adminId, startSize, pageSize int) (items []*EdbMonitorMessage, err error) {
- o := global.DbMap[utils.DbNameIndex]
- sql := "SELECT * FROM edb_monitor_message WHERE admin_id =? ORDER BY is_read ASC, create_time DESC LIMIT?,?"
- err = o.Raw(sql, adminId, startSize, pageSize).Find(&items).Error
- return
- }
- func GetEdbMonitorMessageUnreadListByAdminIds(adminIds []int) (items []*EdbMonitorMessage, err error) {
- o := global.DbMap[utils.DbNameIndex]
- sql := "SELECT * FROM edb_monitor_message WHERE is_read = 0 AND admin_id IN (?) ORDER BY create_time DESC, edb_monitor_message_id DESC"
- err = o.Raw(sql, adminIds).Find(&items).Error
- return
- }
- func SetEdbMonitorMessageReadByIds(msgIds []int) (err error) {
- o := global.DbMap[utils.DbNameIndex]
- sql := "UPDATE edb_monitor_message SET is_read = 1 WHERE edb_monitor_message_id IN (?) and is_read=0"
- err = o.Exec(sql, msgIds).Error
- return
- }
- func GetEdbMonitorMessageUnreadByAdminId(adminId int) (items []*EdbMonitorMessage, err error) {
- o := global.DbMap[utils.DbNameIndex]
- sql := "SELECT * FROM edb_monitor_message WHERE admin_id =? AND is_read = 0 ORDER BY create_time DESC, edb_monitor_message_id DESC"
- err = o.Raw(sql, adminId).Find(&items).Error
- return
- }
- func SetEdbMonitorMessageReadByAdminId(adminId int, msgIds []int) (err error) {
- o := global.DbMap[utils.DbNameIndex]
- sql := "UPDATE edb_monitor_message SET is_read = 1 WHERE admin_id =? AND edb_monitor_message_id IN (?) and is_read=0"
- err = o.Exec(sql, adminId, msgIds).Error
- return
- }
|