diff --git a/novalon-manage-api/manage-notify/pom.xml b/novalon-manage-api/manage-notify/pom.xml
index 5d2573a..373c619 100644
--- a/novalon-manage-api/manage-notify/pom.xml
+++ b/novalon-manage-api/manage-notify/pom.xml
@@ -26,6 +26,10 @@
org.springframework.boot
spring-boot-starter-webflux
+
+ com.fasterxml.jackson.core
+ jackson-databind
+
org.springframework.boot
spring-boot-starter-test
diff --git a/novalon-manage-api/manage-sys/src/main/java/cn/novalon/manage/sys/config/WebSocketConfig.java b/novalon-manage-api/manage-notify/src/main/java/cn/novalon/manage/notify/config/WebSocketConfig.java
similarity index 86%
rename from novalon-manage-api/manage-sys/src/main/java/cn/novalon/manage/sys/config/WebSocketConfig.java
rename to novalon-manage-api/manage-notify/src/main/java/cn/novalon/manage/notify/config/WebSocketConfig.java
index f44c9ab..99197bc 100644
--- a/novalon-manage-api/manage-sys/src/main/java/cn/novalon/manage/sys/config/WebSocketConfig.java
+++ b/novalon-manage-api/manage-notify/src/main/java/cn/novalon/manage/notify/config/WebSocketConfig.java
@@ -1,6 +1,6 @@
-package cn.novalon.manage.sys.config;
+package cn.novalon.manage.notify.config;
-import cn.novalon.manage.sys.websocket.SysWebSocketHandler;
+import cn.novalon.manage.notify.websocket.SysWebSocketHandler;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.Ordered;
@@ -12,12 +12,6 @@ import org.springframework.web.reactive.socket.server.support.WebSocketHandlerAd
import java.util.HashMap;
import java.util.Map;
-/**
- * WebSocket配置类
- *
- * @author 张翔
- * @date 2026-03-13
- */
@Configuration
public class WebSocketConfig {
diff --git a/novalon-manage-api/manage-sys/src/main/java/cn/novalon/manage/sys/websocket/SysWebSocketHandler.java b/novalon-manage-api/manage-notify/src/main/java/cn/novalon/manage/notify/websocket/SysWebSocketHandler.java
similarity index 93%
rename from novalon-manage-api/manage-sys/src/main/java/cn/novalon/manage/sys/websocket/SysWebSocketHandler.java
rename to novalon-manage-api/manage-notify/src/main/java/cn/novalon/manage/notify/websocket/SysWebSocketHandler.java
index 6216a40..aff55c5 100644
--- a/novalon-manage-api/manage-sys/src/main/java/cn/novalon/manage/sys/websocket/SysWebSocketHandler.java
+++ b/novalon-manage-api/manage-notify/src/main/java/cn/novalon/manage/notify/websocket/SysWebSocketHandler.java
@@ -1,4 +1,4 @@
-package cn.novalon.manage.sys.websocket;
+package cn.novalon.manage.notify.websocket;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -14,16 +14,6 @@ import java.time.LocalDateTime;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
-/**
- * WebSocket处理器
- *
- * 文件定义:处理WebSocket连接和消息推送
- * 涉及业务:实时消息推送、系统公告通知、用户消息
- * 算法:使用ConcurrentHashMap管理WebSocket会话,支持点对点和广播消息,添加心跳机制和超时处理
- *
- * @author 张翔
- * @date 2026-03-13
- */
@Component
public class SysWebSocketHandler implements WebSocketHandler {
@@ -61,9 +51,6 @@ public class SysWebSocketHandler implements WebSocketHandler {
.then();
}
- /**
- * 定时清理空闲连接
- */
@Scheduled(fixedRate = 60000)
public void cleanupIdleConnections() {
LocalDateTime now = LocalDateTime.now();
@@ -86,9 +73,6 @@ public class SysWebSocketHandler implements WebSocketHandler {
});
}
- /**
- * 定时发送心跳消息
- */
@Scheduled(fixedRate = 30000)
public void sendHeartbeat() {
sessions.forEach((userId, session) -> {
diff --git a/novalon-manage-api/manage-sys/src/main/java/cn/novalon/manage/sys/core/service/impl/WebSocketServiceImpl.java b/novalon-manage-api/manage-sys/src/main/java/cn/novalon/manage/sys/core/service/impl/WebSocketServiceImpl.java
deleted file mode 100644
index cfb4210..0000000
--- a/novalon-manage-api/manage-sys/src/main/java/cn/novalon/manage/sys/core/service/impl/WebSocketServiceImpl.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package cn.novalon.manage.sys.core.service.impl;
-
-import cn.novalon.manage.sys.core.service.IWebSocketService;
-import cn.novalon.manage.sys.websocket.SysWebSocketHandler;
-import org.springframework.stereotype.Service;
-import reactor.core.publisher.Mono;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * WebSocket服务实现类
- *
- * @author 张翔
- * @date 2026-03-14
- */
-@Service
-public class WebSocketServiceImpl implements IWebSocketService {
-
- private final SysWebSocketHandler webSocketHandler;
-
- public WebSocketServiceImpl(SysWebSocketHandler webSocketHandler) {
- this.webSocketHandler = webSocketHandler;
- }
-
- @Override
- public Mono sendToUser(Long userId, Object message) {
- return Mono.fromRunnable(() -> {
- webSocketHandler.sendMessageToUser(String.valueOf(userId), message);
- });
- }
-
- @Override
- public Mono broadcast(Object message) {
- return Mono.fromRunnable(() -> {
- webSocketHandler.broadcastMessage(message);
- });
- }
-
- @Override
- public Mono notifyNewNotice(String noticeTitle, String noticeContent) {
- Map notification = new HashMap<>();
- notification.put("type", "notice");
- notification.put("title", noticeTitle);
- notification.put("content", noticeContent);
- notification.put("timestamp", System.currentTimeMillis());
-
- return broadcast(notification);
- }
-
- @Override
- public Mono notifyNewMessage(Long userId, String title, String content) {
- Map notification = new HashMap<>();
- notification.put("type", "message");
- notification.put("title", title);
- notification.put("content", content);
- notification.put("timestamp", System.currentTimeMillis());
-
- return sendToUser(userId, notification);
- }
-}