liusuyi
2025-12-26 6bdda41435c30affe62af2bea8861da916c0c56d
ard-work/src/main/java/com/ard/work/aspect/UavControlAspect.java
@@ -87,7 +87,7 @@
     * 高度检查
     */
    @Before("@annotation(checkTakeoffAltitude)")
    public void takeoffAltitudeCheck(JoinPoint joinPoint, CheckTakeoffAltitude checkTakeoffAltitude) {
    public void takeoffAltitudeCheck(JoinPoint joinPoint, CheckTakeoffAltitude checkTakeoffAltitude){
        // 获取最小高度
        double minAltitude = checkTakeoffAltitude.minAltitude();
        // 获取方法参数
@@ -102,7 +102,7 @@
                    throw new ControlException("遥测数据异常,无法执行!");
                }
                // 检查高度
                if (uavTelemetryData.getAltitude() < minAltitude) {
                if (uavTelemetryData.getUltrasonic() < minAltitude) {
                    throw new ControlException("高度太低,无法执行!最低高度: " + minAltitude);
                }
            }
@@ -125,8 +125,9 @@
            }
            // 检查在线状态
            if (checkDroneStatus.checkOnline()) {
                Boolean online = redisCache.getCacheObject(CacheConstants.UAV_ONLINE_KEY + boxSn);
                if (online == null || !online) {
                // 3️⃣ 检查在线状态
                BoxInfoReceiver obj = redisCache.getCacheObject(CacheConstants.UAV_ONLINE_KEY + boxSn);
                if (obj == null || !obj.getOnLine().equals(1)) {
                    throw new ControlException("无人机离线,无法执行操作!boxSn: " + boxSn);
                }
            }