Explorar el Código

add 增加 rpc消息推送接口与实现

疯狂的狮子Li hace 2 años
padre
commit
35c35a2657

+ 19 - 0
ruoyi-api/ruoyi-api-resource/src/main/java/org/dromara/resource/api/RemoteMessageService.java

@@ -0,0 +1,19 @@
+package org.dromara.resource.api;
+
+/**
+ * 消息服务
+ *
+ * @author Lion Li
+ */
+public interface RemoteMessageService {
+
+    /**
+     * 发送消息
+     *
+     * @param sessionKey session主键 一般为用户id
+     * @param message    消息文本
+     */
+    void sendMessage(Long sessionKey, String message);
+
+    void publishAll(String message);
+}

+ 42 - 0
ruoyi-modules/ruoyi-resource/src/main/java/org/dromara/resource/dubbo/RemoteMessageServiceImpl.java

@@ -0,0 +1,42 @@
+package org.dromara.resource.dubbo;
+
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.dubbo.config.annotation.DubboService;
+import org.dromara.common.websocket.utils.WebSocketUtils;
+import org.dromara.resource.api.RemoteMessageService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 短信服务
+ *
+ * @author Lion Li
+ */
+@Slf4j
+@RequiredArgsConstructor
+@Service
+@DubboService
+public class RemoteMessageServiceImpl implements RemoteMessageService {
+
+    /**
+     * 发送消息
+     *
+     * @param sessionKey session主键 一般为用户id
+     * @param message    消息文本
+     */
+    @Override
+    public void sendMessage(Long sessionKey, String message) {
+        WebSocketUtils.sendMessage(sessionKey, message);
+    }
+
+    /**
+     * 发布订阅的消息(群发)
+     *
+     * @param message 消息内容
+     */
+    @Override
+    public void publishAll(String message) {
+        WebSocketUtils.publishAll(message);
+    }
+
+}