From aae8b5dc994fffdc211b1f0fc860840cb0d4687a Mon Sep 17 00:00:00 2001
From: zhaowenyu <35589726@qq.com>
Date: Tue, 25 Nov 2025 14:34:02 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 ard-work/src/main/java/com/ard/work/component/websocket/handler/TyMessageHandler.java |   13 ++++++-------
 1 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/ard-work/src/main/java/com/ard/work/component/websocket/handler/TyMessageHandler.java b/ard-work/src/main/java/com/ard/work/component/websocket/handler/TyMessageHandler.java
index a46cfb6..6d9f21e 100644
--- a/ard-work/src/main/java/com/ard/work/component/websocket/handler/TyMessageHandler.java
+++ b/ard-work/src/main/java/com/ard/work/component/websocket/handler/TyMessageHandler.java
@@ -290,14 +290,7 @@
         Long userId = Long.parseLong(userIdStr);
         WebSocketSessionManager.removeSession(userId);
         log.info("【cmd】size: {}", WebSocketSessionManager.getOnlineUserCount());
-
         // 释放该用户所有 UAV 控制权
-        uavControlService.releaseAllControls(userId);
-        uavStreamManager.stopAllPullStreamByUser(userId);
-        uavStateManager.removeSubscribe(userId);
-        uavTelemetryManager.removeSubscribe(userId);
-        uavSignalManager.removeSubscribe(userId);
-        uavControlManager.removeSubscribe(userId);
 
         // 延迟10秒删除token(若期间没重连)
         CompletableFuture.runAsync(() -> {
@@ -309,6 +302,12 @@
             if (!WebSocketSessionManager.containsUser(userId)) {
                 LoginUser loginUser = tokenService.getLoginUserByUserId(userId);
                 if (loginUser != null) {
+                    uavControlService.releaseAllControls(userId);
+                    uavStreamManager.stopAllPullStreamByUser(userId);
+                    uavStateManager.removeSubscribe(userId);
+                    uavTelemetryManager.removeSubscribe(userId);
+                    uavSignalManager.removeSubscribe(userId);
+                    uavControlManager.removeSubscribe(userId);
                     tokenService.delLoginUser(loginUser.getToken(), userId);
                     log.info("【cmd】用户 [{}] 超时未重连,已删除 token", userId);
                 }

--
Gitblit v1.9.3