|
@@ -0,0 +1,50 @@
|
|
|
+package edbmonitor
|
|
|
+
|
|
|
+import (
|
|
|
+ "encoding/json"
|
|
|
+ edbmonitor "eta/eta_api/models/edb_monitor"
|
|
|
+ "eta/eta_api/models/edb_monitor/response"
|
|
|
+ "eta/eta_api/utils"
|
|
|
+ "time"
|
|
|
+
|
|
|
+ "github.com/gorilla/websocket"
|
|
|
+)
|
|
|
+
|
|
|
+func GetEdbMonitorMessageList(adminId int) {
|
|
|
+
|
|
|
+ edbmonitor.GetEdbMonitorMessageByAdminId(adminId)
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+func LogMessage(content string, triggerTime time.Time, edbInfoId, edbInfoType, adminId int) (err error) {
|
|
|
+ message := &edbmonitor.EdbMonitorMessage{
|
|
|
+ EdbInfoId: edbInfoId,
|
|
|
+ EdbInfoType: edbInfoType,
|
|
|
+ AdminId: adminId,
|
|
|
+ IsRead: 0,
|
|
|
+ Message: content,
|
|
|
+ MonitorTriggerTime: triggerTime,
|
|
|
+ CreateTime: time.Now(),
|
|
|
+ }
|
|
|
+ _, err = message.Insert()
|
|
|
+
|
|
|
+ return err
|
|
|
+}
|
|
|
+
|
|
|
+func SendMessages(conn *websocket.Conn, adminId int) {
|
|
|
+ for {
|
|
|
+
|
|
|
+ messageList, _ := edbmonitor.GetEdbMonitorMessageByAdminId(adminId)
|
|
|
+ for _, message := range messageList {
|
|
|
+ msg := response.EdbMonitorMessageResp{
|
|
|
+ EdbInfoId: message.EdbInfoId,
|
|
|
+ EdbInfoType: message.EdbInfoType,
|
|
|
+ Message: message.Message,
|
|
|
+ TriggerTime: utils.TimeTransferString(utils.FormatDateTime, message.MonitorTriggerTime),
|
|
|
+ }
|
|
|
+ b, _ := json.Marshal(msg)
|
|
|
+ conn.WriteMessage(websocket.TextMessage, b)
|
|
|
+ }
|
|
|
+ time.Sleep(5 * time.Minute)
|
|
|
+ }
|
|
|
+}
|