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/domain/cache/UavSignalInfoCache.java |   24 +++++++++++++++++-------
 1 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/ard-work/src/main/java/com/ard/work/domain/cache/UavSignalInfoCache.java b/ard-work/src/main/java/com/ard/work/domain/cache/UavSignalInfoCache.java
index 2e25c41..02b761e 100644
--- a/ard-work/src/main/java/com/ard/work/domain/cache/UavSignalInfoCache.java
+++ b/ard-work/src/main/java/com/ard/work/domain/cache/UavSignalInfoCache.java
@@ -1,6 +1,7 @@
 package com.ard.work.domain.cache;
 
 import com.ard.work.domain.dto.signal.SignalInfo;
+import com.ard.work.domain.dto.telemetry.TelemetryData;
 
 import java.util.concurrent.ConcurrentHashMap;
 
@@ -13,20 +14,29 @@
 public class UavSignalInfoCache {
 
     // 使用 ConcurrentHashMap 来缓存无人机信道质量数据,key 是 boxSn(无人机序列号)
-    private static final ConcurrentHashMap<String, SignalInfo> uavSignalInfoCache = new ConcurrentHashMap<>();
+    private static final ConcurrentHashMap<String, SignalInfo> cache = new ConcurrentHashMap<>();
 
     // 存储无人机信道质量数据到缓存
-    public static void putUavSignalInfoCache(SignalInfo signalInfo) {
-        uavSignalInfoCache.put(signalInfo.getBoxSn(), signalInfo);
+    public static void put(SignalInfo signalInfo) {
+        cache.put(signalInfo.getBoxSn(), signalInfo);
     }
 
     // 从缓存中获取信道质量数据
-    public static SignalInfo getUavSignalInfo(String boxSn) {
-        return uavSignalInfoCache.get(boxSn);
+    public static SignalInfo get(String boxSn) {
+        return cache.get(boxSn);
     }
 
     // 删除缓存中的信道质量数据
-    public static void removeUavSignalInfo(String boxSn) {
-        uavSignalInfoCache.remove(boxSn);
+    public static void remove(String boxSn) {
+        cache.remove(boxSn);
+    }
+
+    // 定时任务使用:判断状遥测数据是否变化,但不更新缓存
+    public static boolean hasChanged(String boxSn, SignalInfo signalInfo) {
+        SignalInfo oldSignalInfo= cache.get(boxSn);
+        if (oldSignalInfo == null) {
+            return true; // 没有缓存,算作变化
+        }
+        return !oldSignalInfo.equals(signalInfo); // true = 有变化
     }
 }

--
Gitblit v1.9.3