From f6252a80cd6c88d2fd69c8f5d447873c44ce2458 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Tue, 21 Nov 2023 10:48:43 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20websocket=20?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E4=B8=8D=E5=AD=98=E5=9C=A8=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/RemoteMessageServiceStub.java | 38 +++++++++++++++++++ .../auth/controller/TokenController.java | 7 +--- 2 files changed, 40 insertions(+), 5 deletions(-) create mode 100644 ruoyi-api/ruoyi-api-resource/src/main/java/org/dromara/resource/api/RemoteMessageServiceStub.java diff --git a/ruoyi-api/ruoyi-api-resource/src/main/java/org/dromara/resource/api/RemoteMessageServiceStub.java b/ruoyi-api/ruoyi-api-resource/src/main/java/org/dromara/resource/api/RemoteMessageServiceStub.java new file mode 100644 index 00000000..813fba63 --- /dev/null +++ b/ruoyi-api/ruoyi-api-resource/src/main/java/org/dromara/resource/api/RemoteMessageServiceStub.java @@ -0,0 +1,38 @@ +package org.dromara.resource.api; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; + +/** + * 消息服务 + * + * @author Lion Li + */ +@Slf4j +@RequiredArgsConstructor +public class RemoteMessageServiceStub implements RemoteMessageService { + + private final RemoteMessageService remoteMessageService; + + /** + * 发送消息 + * + * @param sessionKey session主键 一般为用户id + * @param message 消息文本 + */ + public void sendMessage(Long sessionKey, String message) { + try { + remoteMessageService.sendMessage(sessionKey, message); + } catch (Exception e) { + log.warn("websocket 功能未开启或服务未找到"); + } + } + + public void publishAll(String message) { + try { + remoteMessageService.publishAll(message); + } catch (Exception e) { + log.warn("websocket 功能未开启或服务未找到"); + } + } +} diff --git a/ruoyi-auth/src/main/java/org/dromara/auth/controller/TokenController.java b/ruoyi-auth/src/main/java/org/dromara/auth/controller/TokenController.java index 780b0b40..7b293a82 100644 --- a/ruoyi-auth/src/main/java/org/dromara/auth/controller/TokenController.java +++ b/ruoyi-auth/src/main/java/org/dromara/auth/controller/TokenController.java @@ -65,7 +65,7 @@ public class TokenController { private final RemoteClientService remoteClientService; @DubboReference private final RemoteSocialService remoteSocialService; - @DubboReference + @DubboReference(stub = "true") private final RemoteMessageService remoteMessageService; /** @@ -97,10 +97,7 @@ public class TokenController { Long userId = LoginHelper.getUserId(); scheduledExecutorService.schedule(() -> { - try { - remoteMessageService.sendMessage(userId, "欢迎登录RuoYi-Cloud-Plus微服务管理系统"); - } catch (Exception ignored) { - } + remoteMessageService.sendMessage(userId, "欢迎登录RuoYi-Cloud-Plus微服务管理系统"); }, 3, TimeUnit.SECONDS); return R.ok(loginVo); }