Explorar o código

fix:消息记录和未读数

zqbao hai 4 meses
pai
achega
4ce540e260

+ 19 - 2
controllers/message.go

@@ -3,6 +3,7 @@ package controllers
 import (
 	"eta/eta_api/models"
 	"eta/eta_api/models/data_manage/data_manage_permission"
+	edbmonitor "eta/eta_api/models/edb_monitor"
 	"eta/eta_api/models/report_approve"
 	"fmt"
 )
@@ -35,7 +36,7 @@ func (c *MessageController) UnReadMessageNum() {
 		return
 	}
 
-	var unReadReportNum, unReadDataPermissionNum int
+	var unReadReportNum, unReadDataPermissionNum, unReadEdbMonitorNum int
 
 	// 获取报告审批消息
 	{
@@ -75,9 +76,25 @@ func (c *MessageController) UnReadMessageNum() {
 		}
 		unReadDataPermissionNum = unreadTotal
 	}
+	// 获取预警消息
+	{
+		pars := make([]interface{}, 0)
+		cond := ` AND admin_id = ? AND is_read = ?`
+		pars = append(pars, sysUser.AdminId, 0)
+
+		// 未读消息数
+		messageOb := new(edbmonitor.EdbMonitorMessage)
+		unreadTotal, e := messageOb.GetCountByCondition(cond, pars)
+		if e != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取资产消息列表总数失败, Err: " + e.Error()
+			return
+		}
+		unReadEdbMonitorNum = unreadTotal
+	}
 
 	// 汇总数
-	num := unReadReportNum + unReadDataPermissionNum
+	num := unReadReportNum + unReadDataPermissionNum + unReadEdbMonitorNum
 
 	br.Data = num
 	br.Ret = 200

+ 8 - 0
models/edb_monitor/edb_monitor_message.go

@@ -1,6 +1,7 @@
 package edbmonitor
 
 import (
+	"fmt"
 	"time"
 
 	"github.com/beego/beego/v2/client/orm"
@@ -29,6 +30,13 @@ func (m *EdbMonitorMessage) Update(cols []string) (err error) {
 	return
 }
 
+func (m *EdbMonitorMessage) GetCountByCondition(condition string, pars []interface{}) (count int, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := fmt.Sprintf(`SELECT COUNT(1) FROM edb_monitor_message WHERE 1=1 %s`, condition)
+	err = o.Raw(sql, pars).QueryRow(&count)
+	return
+}
+
 func GetEdbMonitorMessageById(id int) (item *EdbMonitorMessage, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := "SELECT * FROM edb_monitor_message WHERE edb_monitor_message_id =?"

+ 1 - 1
services/edb_monitor/edb_monitor_message.go

@@ -47,7 +47,7 @@ func LogMessage(content string, triggerTime time.Time, edbInfoId, edbInfoType, a
 		EdbInfoType:        edbInfoType,
 		AdminId:            adminId,
 		IsRead:             isRead,
-		Message:            content,
+		Message:            content + "触发预警",
 		MonitorTriggerTime: triggerTime,
 		CreateTime:         time.Now(),
 	}