From 71fc7c05b3c641bf898fd84975d6f036a05f829b Mon Sep 17 00:00:00 2001
From: zhaowenyu <35589726@qq.com>
Date: Thu, 04 Dec 2025 09:09:49 +0800
Subject: [PATCH] 2025-12-03 zwy 删除任务时判断循环任务task_type=3的,不判断设备是否在线情况直接删除
---
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