From a960c432d78dfe5f0ef07295d0210ddb09340e12 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期五, 24 十月 2025 17:43:06 +0800
Subject: [PATCH] websocket连接
---
ruoyi-applet/src/main/java/com/ruoyi/web/controller/webSocket/WebSocketController.java | 42 ++++++++++++++++++++++++++++--------------
1 files changed, 28 insertions(+), 14 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/utils/WebSocketUtil.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/webSocket/WebSocketController.java
similarity index 84%
rename from ruoyi-admin/src/main/java/com/ruoyi/web/utils/WebSocketUtil.java
rename to ruoyi-applet/src/main/java/com/ruoyi/web/controller/webSocket/WebSocketController.java
index e3538dc..138e15e 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/utils/WebSocketUtil.java
+++ b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/webSocket/WebSocketController.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();
--
Gitblit v1.7.1