liusuyi
2025-12-26 6bdda41435c30affe62af2bea8861da916c0c56d
ard-work/src/main/java/com/ard/work/domain/cache/UavTelemetryDataCache.java
@@ -3,7 +3,9 @@
import com.ard.work.domain.dto.state.UavState;
import com.ard.work.domain.dto.telemetry.TelemetryData;
import java.util.Collection;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.BiConsumer;
/**
 * 无人机遥测数据缓存
@@ -31,12 +33,9 @@
        cache.remove(boxSn);
    }
    // 定时任务使用:判断状遥测数据是否变化,但不更新缓存
    public static boolean hasChanged(String boxSn, TelemetryData telemetryData) {
        TelemetryData oldTelemetryData= cache.get(boxSn);
        if (oldTelemetryData == null) {
            return true; // 没有缓存,算作变化
        }
        return !oldTelemetryData.equals(telemetryData); // true = 有变化
    // 遍历并处理每条 TelemetryData
    public static void forEach(BiConsumer<String, TelemetryData> consumer) {
        cache.forEach(consumer);
    }
}