From b097f7539a7429a85cdda7959c9ecb83a37a2918 Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: Thu, 11 Jun 2026 14:49:28 +0800
Subject: [PATCH] 架次关联航线

---
 ard-work/src/main/java/com/ard/work/component/websocket/handler/UavControlManager.java |   64 +++++++++++++++++---------------
 1 files changed, 34 insertions(+), 30 deletions(-)

diff --git a/ard-work/src/main/java/com/ard/work/component/websocket/handler/UavControlManager.java b/ard-work/src/main/java/com/ard/work/component/websocket/handler/UavControlManager.java
index ea5b677..87bc052 100644
--- a/ard-work/src/main/java/com/ard/work/component/websocket/handler/UavControlManager.java
+++ b/ard-work/src/main/java/com/ard/work/component/websocket/handler/UavControlManager.java
@@ -21,11 +21,12 @@
     @Resource
     private RedisCache redisCache;
 
-    /* ===================== 1️⃣ 申请控制 ===================== */
-
+    /**
+     * 申请控制
+     */
     public void sendControlRequest(Long controllerId, String boxSn, String type, Long requesterId) {
 
-        SysUser requester = redisCache.getCacheObject(CacheConstants.SYS_USER_KEY + requesterId);
+        SysUser requester = redisCache.getCacheMapValue(CacheConstants.SYS_USER, requesterId.toString());
 
         UavControlMessage msg = new UavControlMessage();
         msg.setBoxSn(boxSn);
@@ -39,11 +40,12 @@
         WebSocketUtil.sendMessage(controllerId, JSON.toJSONString(base));
     }
 
-    /* ===================== 2️⃣ 同意控制 ===================== */
-
+    /**
+     * 同意控制
+     */
     public void sendControlApproval(Long requesterId, String boxSn, String type, Long controllerId) {
 
-        SysUser controller = redisCache.getCacheObject(CacheConstants.SYS_USER_KEY + controllerId);
+        SysUser controller = redisCache.getCacheMapValue(CacheConstants.SYS_USER, controllerId.toString());
 
         UavControlMessage msg = new UavControlMessage();
         msg.setBoxSn(boxSn);
@@ -57,11 +59,12 @@
         WebSocketUtil.sendMessage(requesterId, JSON.toJSONString(base));
     }
 
-    /* ===================== 3️⃣ 拒绝控制 ===================== */
-
+    /**
+     * 拒绝控制
+     */
     public void sendControlRejection(Long requesterId, String boxSn, String type, Long controllerId) {
 
-        SysUser controller = redisCache.getCacheObject(CacheConstants.SYS_USER_KEY + controllerId);
+        SysUser controller = redisCache.getCacheMapValue(CacheConstants.SYS_USER, controllerId.toString());
 
         UavControlMessage msg = new UavControlMessage();
         msg.setBoxSn(boxSn);
@@ -76,28 +79,12 @@
     }
 
     /**
-     * 发送控制释放通知
+     * 控制权接管
      */
-    public void sendControlRelease(String boxSn, String type, Long operatorId) {
-        SysUser operator = redisCache.getCacheObject(CacheConstants.SYS_USER_KEY + operatorId);
-
-        UavControlMessage message = new UavControlMessage();
-        message.setBoxSn(boxSn);
-        message.setType(type);
-        message.setAction("release");
-        message.setOperatorId(operatorId);
-        message.setOperator(operator);
-
-        BaseMessage<UavControlMessage> baseMessage = new BaseMessage<>("control", message);
-        WebSocketUtil.sendMessageAll(JSON.toJSONString(baseMessage));
-    }
-
-    /* ===================== 4️⃣ 控制权接管 ===================== */
-
     public void sendControlTakeover(Long oldControllerId, Long newControllerId, String boxSn, String type) {
 
-        SysUser newController = redisCache.getCacheObject(CacheConstants.SYS_USER_KEY + newControllerId);
-        SysUser oldController = redisCache.getCacheObject(CacheConstants.SYS_USER_KEY + oldControllerId);
+        SysUser newController = redisCache.getCacheMapValue(CacheConstants.SYS_USER, newControllerId.toString());
+        SysUser oldController = redisCache.getCacheMapValue(CacheConstants.SYS_USER, oldControllerId.toString());
 
         // 1️⃣ 通知原控制者:你被抢占了
         UavControlMessage msgOld = new UavControlMessage();
@@ -135,6 +122,23 @@
     }
 
     /**
+     * 控制权释放
+     */
+    public void sendControlRelease(String boxSn, String type, Long operatorId) {
+        SysUser operator = redisCache.getCacheMapValue(CacheConstants.SYS_USER, operatorId.toString());
+
+        UavControlMessage message = new UavControlMessage();
+        message.setBoxSn(boxSn);
+        message.setType(type);
+        message.setAction("release");
+        message.setOperatorId(operatorId);
+        message.setOperator(operator);
+
+        BaseMessage<UavControlMessage> baseMessage = new BaseMessage<>("control", message);
+        WebSocketUtil.sendMessageAll(JSON.toJSONString(baseMessage));
+    }
+
+    /**
      * 获取指定设备的当前操作者信息
      * 该方法重写自父类,用于获取无人机和载荷的当前控制者用户ID
      *
@@ -151,10 +155,10 @@
         Map<String, Object> map = new HashMap<>();
         map.put("boxSn", boxSn);
         // 将飞行当前控制者用户ID添加到映射中
-        SysUser flyUser = redisCache.getCacheObject(CacheConstants.SYS_USER_KEY + flyUserId);
+        SysUser flyUser = redisCache.getCacheMapValue(CacheConstants.SYS_USER, flyUserId.toString());
         map.put("flyController", flyUser);
         // 将载荷当前控制者用户ID添加到映射中
-        SysUser payloadUser = redisCache.getCacheObject(CacheConstants.SYS_USER_KEY + payloadUserId);
+        SysUser payloadUser = redisCache.getCacheMapValue(CacheConstants.SYS_USER, payloadUserId.toString());
         map.put("payloadController", payloadUser);
         // 返回包含当前控制者信息的映射
         return map;

--
Gitblit v1.9.3