xuhy
2 天以前 a960c432d78dfe5f0ef07295d0210ddb09340e12
websocket连接
1个文件已修改
7 文件已重命名
59 ■■■■■ 已修改文件
ruoyi-admin/pom.xml 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-applet/src/main/java/com/ruoyi/web/controller/webSocket/WebSocketAuthHandler.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-applet/src/main/java/com/ruoyi/web/controller/webSocket/WebSocketController.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-applet/src/main/java/com/ruoyi/web/controller/webSocket/WebSocketServer.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-applet/src/main/java/com/ruoyi/web/controller/webSocket/WebSocketServerConfig.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-applet/src/main/java/com/ruoyi/web/controller/webSocket/WebSocketTextFrameHandler.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-applet/src/main/java/com/ruoyi/web/controller/webSocket/WebSocketUserConnectionManager.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-applet/src/main/java/com/ruoyi/web/controller/webSocket/WebSocketUserService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/pom.xml
@@ -154,10 +154,7 @@
            <artifactId>dysmsapi20170525</artifactId>
            <version>2.0.10</version>
        </dependency>
        <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-all</artifactId>
        </dependency>
    </dependencies>
    <build>
ruoyi-applet/src/main/java/com/ruoyi/web/controller/webSocket/WebSocketAuthHandler.java
File was renamed from ruoyi-admin/src/main/java/com/ruoyi/web/webSocket/WebSocketAuthHandler.java
@@ -1,4 +1,4 @@
package com.ruoyi.web.webSocket;
package com.ruoyi.web.controller.webSocket;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.core.domain.model.LoginUserApplet;
ruoyi-applet/src/main/java/com/ruoyi/web/controller/webSocket/WebSocketController.java
File was renamed from ruoyi-admin/src/main/java/com/ruoyi/web/utils/WebSocketUtil.java
@@ -1,10 +1,10 @@
package com.ruoyi.web.utils;
package com.ruoyi.web.controller.webSocket;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.web.webSocket.WebSocketUserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
@@ -15,12 +15,15 @@
 * 提供REST接口用于触发服务端主动发送消息
 * 支持基于AppUser的消息发送
 */
@RestController
@RequestMapping("/open/websocket")
@Slf4j
@Component
public class WebSocketUtil {
public class WebSocketController extends BaseController {
    @Autowired
    private WebSocketUserService webSocketUserService;
    // ==================== 基于AppUser的WebSocket接口 ====================
    /**
@@ -29,7 +32,8 @@
     * @param request 请求参数
     * @return 操作结果
     */
    public R<String> sendMessageToUser(String appUserId,Map<String, String> request) {
    @PostMapping("/user/send/{appUserId}")
    public R<String> sendMessageToUser(@PathVariable String appUserId, @RequestBody Map<String, String> request) {
        try {
            String message = request.get("message");
            if (message == null || message.trim().isEmpty()) {
@@ -54,7 +58,8 @@
     * @param request 请求参数
     * @return 操作结果
     */
    public R<String> sendJsonMessageToUser(String appUserId, Map<String, Object> request) {
    @PostMapping("/user/send-json/{appUserId}")
    public R<String> sendJsonMessageToUser(@PathVariable String appUserId, @RequestBody Map<String, Object> request) {
        try {
            String messageType = (String) request.get("messageType");
            Object data = request.get("data");
@@ -80,7 +85,8 @@
     * @param request 请求参数
     * @return 操作结果
     */
    public R<String> sendMessageToUsers( Map<String, Object> request) {
    @PostMapping("/user/send-multiple")
    public R<String> sendMessageToUsers(@RequestBody Map<String, Object> request) {
        try {
            @SuppressWarnings("unchecked")
            List<String> appUserIds = (List<String>) request.get("appUserIds");
@@ -106,7 +112,8 @@
     * @param request 请求参数
     * @return 操作结果
     */
    public R<String> sendTaskAssignment(Map<String, String> request) {
    @PostMapping("/user/task-assignment")
    public R<String> sendTaskAssignment(@RequestBody Map<String, String> request) {
        try {
            String taskId = request.get("taskId");
            String taskName = request.get("taskName");
@@ -130,7 +137,8 @@
     * @param request 请求参数
     * @return 操作结果
     */
    public R<String> sendStatusUpdate(Map<String, String> request) {
    @PostMapping("/user/status-update")
    public R<String> sendStatusUpdate(@RequestBody Map<String, String> request) {
        try {
            String status = request.get("status");
            String details = request.get("details");
@@ -153,7 +161,8 @@
     * @param request 请求参数
     * @return 操作结果
     */
    public R<String> sendTaskStatusUpdate(Map<String, String> request) {
    @PostMapping("/user/task-status-update")
    public R<String> sendTaskStatusUpdate(@RequestBody Map<String, String> request) {
        try {
            String taskId = request.get("taskId");
            String taskStatus = request.get("taskStatus");
@@ -177,7 +186,8 @@
     * @param request 请求参数
     * @return 操作结果
     */
    public R<String> sendLocationUpdate(Map<String, String> request) {
    @PostMapping("/user/location-update")
    public R<String> sendLocationUpdate(@RequestBody Map<String, String> request) {
        try {
            String userId = request.get("userId");
            String longitude = request.get("longitude");
@@ -201,7 +211,8 @@
     * @param appUserId 用户ID
     * @return 连接信息
     */
    public R getUserConnectionInfo(String appUserId) {
    @GetMapping("/user/info/{appUserId}")
    public R getUserConnectionInfo(@PathVariable String appUserId) {
        try {
            Map<String, Object> info = webSocketUserService.getUserConnectionInfo(appUserId);
            return R.ok(info, "获取用户连接信息成功");
@@ -215,6 +226,7 @@
     * 获取所有连接统计信息
     * @return 统计信息
     */
    @GetMapping("/user/stats")
    public R getConnectionStats() {
        try {
            Map<String, Object> stats = webSocketUserService.getConnectionStats();
@@ -230,7 +242,8 @@
     * @param appUserId 用户ID
     * @return 检查结果
     */
    public R checkUserOnline(String appUserId) {
    @GetMapping("/user/online/{appUserId}")
    public R checkUserOnline(@PathVariable String appUserId) {
        try {
            boolean isOnline = webSocketUserService.isUserOnline(appUserId);
            return R.ok(isOnline, "用户在线状态检查完成");
@@ -244,6 +257,7 @@
     * 获取在线用户列表
     * @return 在线用户列表
     */
    @GetMapping("/user/online-list")
    public R getOnlineUserIds() {
        try {
            Set<String> onlineUserIds = webSocketUserService.getOnlineUserIds();
ruoyi-applet/src/main/java/com/ruoyi/web/controller/webSocket/WebSocketServer.java
File was renamed from ruoyi-admin/src/main/java/com/ruoyi/web/webSocket/WebSocketServer.java
@@ -1,4 +1,4 @@
package com.ruoyi.web.webSocket;
package com.ruoyi.web.controller.webSocket;
import io.netty.bootstrap.ServerBootstrap;
import io.netty.channel.ChannelFuture;
ruoyi-applet/src/main/java/com/ruoyi/web/controller/webSocket/WebSocketServerConfig.java
File was renamed from ruoyi-admin/src/main/java/com/ruoyi/web/webSocket/WebSocketServerConfig.java
@@ -1,4 +1,4 @@
package com.ruoyi.web.webSocket;
package com.ruoyi.web.controller.webSocket;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
ruoyi-applet/src/main/java/com/ruoyi/web/controller/webSocket/WebSocketTextFrameHandler.java
File was renamed from ruoyi-admin/src/main/java/com/ruoyi/web/webSocket/WebSocketTextFrameHandler.java
@@ -1,4 +1,4 @@
package com.ruoyi.web.webSocket;
package com.ruoyi.web.controller.webSocket;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
ruoyi-applet/src/main/java/com/ruoyi/web/controller/webSocket/WebSocketUserConnectionManager.java
File was renamed from ruoyi-admin/src/main/java/com/ruoyi/web/webSocket/WebSocketUserConnectionManager.java
@@ -1,4 +1,4 @@
package com.ruoyi.web.webSocket;
package com.ruoyi.web.controller.webSocket;
import io.netty.channel.Channel;
import io.netty.handler.codec.http.websocketx.TextWebSocketFrame;
ruoyi-applet/src/main/java/com/ruoyi/web/controller/webSocket/WebSocketUserService.java
File was renamed from ruoyi-admin/src/main/java/com/ruoyi/web/webSocket/WebSocketUserService.java
@@ -1,4 +1,4 @@
package com.ruoyi.web.webSocket;
package com.ruoyi.web.controller.webSocket;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;