From 5bc859e5f464c109e418331791e6252e1fec2bc1 Mon Sep 17 00:00:00 2001 From: huangfeng Date: Thu, 26 Sep 2024 11:37:48 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0socket=E9=80=9A?= =?UTF-8?q?=E7=9F=A5=E5=B9=B6=E8=B0=83=E6=95=B4=E6=95=B0=E6=8D=AE=E7=BB=93?= =?UTF-8?q?=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/TestController.java | 2 +- .../xymanager_common/model/MessageModel.java | 9 +++++++ .../socket/WebSocketServer.java | 25 +++++++++++++++++-- .../timeTask/AlertTask.java | 2 +- 4 files changed, 34 insertions(+), 4 deletions(-) create mode 100644 xymanager_common/src/main/java/com/shxy/xymanager_common/model/MessageModel.java diff --git a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TestController.java b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TestController.java index d4bc1eb..9d909c5 100644 --- a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TestController.java +++ b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TestController.java @@ -25,7 +25,7 @@ public class TestController extends BaseController { @GetMapping("sendMsg") @ApiOperation("发送消息") public void sendMsg(String msg) { - webSocketServer.sendMessage(msg); + webSocketServer.sendNotice(msg); } @GetMapping("test") diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/model/MessageModel.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/MessageModel.java new file mode 100644 index 0000000..828784a --- /dev/null +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/MessageModel.java @@ -0,0 +1,9 @@ +package com.shxy.xymanager_common.model; + +import lombok.Data; + +@Data +public class MessageModel { + int type; + String content; +} diff --git a/xymanager_framework/src/main/java/com/shxy/xymanager_framework/socket/WebSocketServer.java b/xymanager_framework/src/main/java/com/shxy/xymanager_framework/socket/WebSocketServer.java index 151b0c5..f40bb1b 100644 --- a/xymanager_framework/src/main/java/com/shxy/xymanager_framework/socket/WebSocketServer.java +++ b/xymanager_framework/src/main/java/com/shxy/xymanager_framework/socket/WebSocketServer.java @@ -1,5 +1,7 @@ package com.shxy.xymanager_framework.socket; +import com.shxy.xymanager_common.model.MessageModel; +import com.shxy.xymanager_common.util.JSONUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @@ -29,12 +31,31 @@ public class WebSocketServer { log.info("剩余socket连接数" + sessionPools.size()); } - public void sendMessage(String message) { + public void sendWarning(String message) { + MessageModel msg = new MessageModel(); + msg.setType(1); + msg.setContent(message); + 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) { + } + } + } + + public void sendNotice(String message) { + MessageModel msg = new MessageModel(); + msg.setType(2); + msg.setContent(message); + String json = JSONUtil.object2Json(msg); + Iterator it = sessionPools.listIterator(); + while (it.hasNext()) { + Session session = it.next(); + try { + session.getBasicRemote().sendText(json); } catch (Exception ignore) { } } diff --git a/xymanager_framework/src/main/java/com/shxy/xymanager_framework/timeTask/AlertTask.java b/xymanager_framework/src/main/java/com/shxy/xymanager_framework/timeTask/AlertTask.java index cedf001..4a8dc8f 100644 --- a/xymanager_framework/src/main/java/com/shxy/xymanager_framework/timeTask/AlertTask.java +++ b/xymanager_framework/src/main/java/com/shxy/xymanager_framework/timeTask/AlertTask.java @@ -29,7 +29,7 @@ public class AlertTask { if (shutdown == 0 && DingTalkPushUtil.alertYW.size() > 0) { String str = DingTalkPushUtil.alertYW.get(0); DingTalkPushUtil.alertYW.remove(0); - webSocketServer.sendMessage(str); + webSocketServer.sendWarning(str); DingTalkPushUtil.pushText("运维", str); } }