xuhy
2 天以前 9571c6408c6d512c0217eda20d6f7a4d3804ba02
websocket连接
1 文件已重命名
42 ■■■■■ 已修改文件
ruoyi-admin/src/main/java/com/ruoyi/web/utils/WebSocketUtil.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/utils/WebSocketUtil.java
File was renamed from ruoyi-admin/src/main/java/com/ruoyi/web/webSocket/WebSocketController.java
@@ -1,10 +1,10 @@
package com.ruoyi.web.webSocket;
package com.ruoyi.web.utils;
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.web.bind.annotation.*;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
@@ -15,15 +15,12 @@
 * 提供REST接口用于触发服务端主动发送消息
 * 支持基于AppUser的消息发送
 */
@RestController
@RequestMapping("/open/websocket")
@Slf4j
public class WebSocketController extends BaseController {
@Component
public class WebSocketUtil {
    @Autowired
    private WebSocketUserService webSocketUserService;
    // ==================== 基于AppUser的WebSocket接口 ====================
    /**
@@ -32,8 +29,7 @@
     * @param request 请求参数
     * @return 操作结果
     */
    @PostMapping("/user/send/{appUserId}")
    public R<String> sendMessageToUser(@PathVariable String appUserId, @RequestBody Map<String, String> request) {
    public R<String> sendMessageToUser(String appUserId,Map<String, String> request) {
        try {
            String message = request.get("message");
            if (message == null || message.trim().isEmpty()) {
@@ -58,8 +54,7 @@
     * @param request 请求参数
     * @return 操作结果
     */
    @PostMapping("/user/send-json/{appUserId}")
    public R<String> sendJsonMessageToUser(@PathVariable String appUserId, @RequestBody Map<String, Object> request) {
    public R<String> sendJsonMessageToUser(String appUserId, Map<String, Object> request) {
        try {
            String messageType = (String) request.get("messageType");
            Object data = request.get("data");
@@ -85,8 +80,7 @@
     * @param request 请求参数
     * @return 操作结果
     */
    @PostMapping("/user/send-multiple")
    public R<String> sendMessageToUsers(@RequestBody Map<String, Object> request) {
    public R<String> sendMessageToUsers( Map<String, Object> request) {
        try {
            @SuppressWarnings("unchecked")
            List<String> appUserIds = (List<String>) request.get("appUserIds");
@@ -112,8 +106,7 @@
     * @param request 请求参数
     * @return 操作结果
     */
    @PostMapping("/user/task-assignment")
    public R<String> sendTaskAssignment(@RequestBody Map<String, String> request) {
    public R<String> sendTaskAssignment(Map<String, String> request) {
        try {
            String taskId = request.get("taskId");
            String taskName = request.get("taskName");
@@ -137,8 +130,7 @@
     * @param request 请求参数
     * @return 操作结果
     */
    @PostMapping("/user/status-update")
    public R<String> sendStatusUpdate(@RequestBody Map<String, String> request) {
    public R<String> sendStatusUpdate(Map<String, String> request) {
        try {
            String status = request.get("status");
            String details = request.get("details");
@@ -161,8 +153,7 @@
     * @param request 请求参数
     * @return 操作结果
     */
    @PostMapping("/user/task-status-update")
    public R<String> sendTaskStatusUpdate(@RequestBody Map<String, String> request) {
    public R<String> sendTaskStatusUpdate(Map<String, String> request) {
        try {
            String taskId = request.get("taskId");
            String taskStatus = request.get("taskStatus");
@@ -186,8 +177,7 @@
     * @param request 请求参数
     * @return 操作结果
     */
    @PostMapping("/user/location-update")
    public R<String> sendLocationUpdate(@RequestBody Map<String, String> request) {
    public R<String> sendLocationUpdate(Map<String, String> request) {
        try {
            String userId = request.get("userId");
            String longitude = request.get("longitude");
@@ -211,8 +201,7 @@
     * @param appUserId 用户ID
     * @return 连接信息
     */
    @GetMapping("/user/info/{appUserId}")
    public R getUserConnectionInfo(@PathVariable String appUserId) {
    public R getUserConnectionInfo(String appUserId) {
        try {
            Map<String, Object> info = webSocketUserService.getUserConnectionInfo(appUserId);
            return R.ok(info, "获取用户连接信息成功");
@@ -226,7 +215,6 @@
     * 获取所有连接统计信息
     * @return 统计信息
     */
    @GetMapping("/user/stats")
    public R getConnectionStats() {
        try {
            Map<String, Object> stats = webSocketUserService.getConnectionStats();
@@ -242,8 +230,7 @@
     * @param appUserId 用户ID
     * @return 检查结果
     */
    @GetMapping("/user/online/{appUserId}")
    public R checkUserOnline(@PathVariable String appUserId) {
    public R checkUserOnline(String appUserId) {
        try {
            boolean isOnline = webSocketUserService.isUserOnline(appUserId);
            return R.ok(isOnline, "用户在线状态检查完成");
@@ -257,7 +244,6 @@
     * 获取在线用户列表
     * @return 在线用户列表
     */
    @GetMapping("/user/online-list")
    public R getOnlineUserIds() {
        try {
            Set<String> onlineUserIds = webSocketUserService.getOnlineUserIds();