ard-work/src/main/java/com/ard/work/domain/cache/UavStateCache.java
@@ -1,8 +1,10 @@
package com.ard.work.domain.cache;
import com.ard.work.domain.dto.state.UavState;
import com.ard.work.domain.dto.telemetry.TelemetryData;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.BiConsumer;
/**
 * 无人机状态缓存
@@ -28,12 +30,8 @@
        cache.remove(boxSn);
    }
    // 定时任务使用:判断状态是否变化,但不更新缓存
    public static boolean hasChanged(String boxSn, UavState newState) {
        UavState oldState = cache.get(boxSn);
        if (oldState == null) {
            return true; // 没有缓存,算作变化
        }
        return !oldState.equals(newState); // true = 有变化
    // 遍历并处理每条 UavState
    public static void forEach(BiConsumer<String, UavState> consumer) {
        cache.forEach(consumer);
    }
}