From e18802f171fb12246a8bad5a699c55c630a6d2e3 Mon Sep 17 00:00:00 2001
From: zhaowenyu <35589726@qq.com>
Date: Thu, 12 Feb 2026 10:50:55 +0800
Subject: [PATCH] 2026-02-12 优化媒体文件入库代码。
---
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