diff --git a/src/main/java/com/xydl/cac/controller/TestController.java b/src/main/java/com/xydl/cac/controller/TestController.java index 7379cac..f91465e 100644 --- a/src/main/java/com/xydl/cac/controller/TestController.java +++ b/src/main/java/com/xydl/cac/controller/TestController.java @@ -34,6 +34,6 @@ public class TestController extends BasicController { @GetMapping("sendMsg") @ApiOperation("发送消息") public void sendMsg(String msg) { - webSocketServer.sendMessage(msg); + webSocketServer.sendMessage(msg , null); } } diff --git a/src/main/java/com/xydl/cac/model/MessageModel.java b/src/main/java/com/xydl/cac/model/MessageModel.java new file mode 100644 index 0000000..7117cf2 --- /dev/null +++ b/src/main/java/com/xydl/cac/model/MessageModel.java @@ -0,0 +1,10 @@ +package com.xydl.cac.model; + +import lombok.Data; + +@Data +public class MessageModel { + int type; + String content; + Integer warningId; +} diff --git a/src/main/java/com/xydl/cac/socket/WebSocketServer.java b/src/main/java/com/xydl/cac/socket/WebSocketServer.java index b5f41e5..1be0d37 100644 --- a/src/main/java/com/xydl/cac/socket/WebSocketServer.java +++ b/src/main/java/com/xydl/cac/socket/WebSocketServer.java @@ -1,14 +1,14 @@ package com.xydl.cac.socket; +import com.xydl.cac.model.MessageModel; +import com.xydl.cac.util.JSONUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import javax.websocket.*; import javax.websocket.server.ServerEndpoint; import java.io.IOException; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; +import java.util.*; @ServerEndpoint(value = "/websocket") @Component @@ -29,12 +29,17 @@ public class WebSocketServer { log.info("剩余socket连接数" + sessionPools.size()); } - public void sendMessage(String message) { + public void sendMessage(String message , Integer warningId) { + MessageModel msg = new MessageModel(); + msg.setType(1); + msg.setContent(message); + msg.setWarningId(warningId); + String json = JSONUtil.object2Json(msg); Iterator it = sessionPools.listIterator(); while (it.hasNext()) { Session session = it.next(); try { - session.getBasicRemote().sendText(message); + session.getBasicRemote().sendText(json); } catch (Exception ignore) { } } diff --git a/src/main/java/com/xydl/cac/task/AmpliDownloadTask.java b/src/main/java/com/xydl/cac/task/AmpliDownloadTask.java index 551e932..d6ead69 100644 --- a/src/main/java/com/xydl/cac/task/AmpliDownloadTask.java +++ b/src/main/java/com/xydl/cac/task/AmpliDownloadTask.java @@ -51,7 +51,7 @@ public class AmpliDownloadTask { } catch (Exception e) { log.error("AmpliDownloadTask.downloadAll error.", e); String str = "SFTP下载文件异常: " + e.getMessage(); - webSocketServer.sendMessage(str); + webSocketServer.sendMessage(str , null); dingTalkPushUtil.pushText(str); } } @@ -77,7 +77,7 @@ public class AmpliDownloadTask { log.error("AmpliDownloadTask.downloadServer error.", e); String str = "SFTP下载文件异常: " + config.getName() + " " + config.getIp() + " " + e.getMessage(); - webSocketServer.sendMessage(str); + webSocketServer.sendMessage(str , null); dingTalkPushUtil.pushText(str); } finally { sftpTool.disconnect(); diff --git a/src/main/java/com/xydl/cac/task/I2syncTask.java b/src/main/java/com/xydl/cac/task/I2syncTask.java index 205728f..d717728 100644 --- a/src/main/java/com/xydl/cac/task/I2syncTask.java +++ b/src/main/java/com/xydl/cac/task/I2syncTask.java @@ -55,7 +55,7 @@ public class I2syncTask { } catch (Exception e) { log.error("I2syncTask.syncAll error.", e); String str = "i2同步导出数据异常: " + e.getMessage(); - webSocketServer.sendMessage(str); + webSocketServer.sendMessage(str , null); dingTalkPushUtil.pushText(str); } } diff --git a/src/main/java/com/xydl/cac/task/RuleCheckTask.java b/src/main/java/com/xydl/cac/task/RuleCheckTask.java index 1724406..2afd2dd 100644 --- a/src/main/java/com/xydl/cac/task/RuleCheckTask.java +++ b/src/main/java/com/xydl/cac/task/RuleCheckTask.java @@ -96,7 +96,7 @@ public class RuleCheckTask { str = str + ", 最后采集时间:" + DateUtil.format(model.getLastDTime()); } log.warn("触发规则告警: " + str); - webSocketServer.sendMessage(str); + webSocketServer.sendMessage(str , warning.getId()); dingTalkPushUtil.pushText(str); }