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) } }