liusuyi
2025-10-28 f853f63ceed52c27206a62dd8ddef0af38d1e47c
优化
6 files modified
33 ■■■■■ changed files
ard-admin/src/main/java/com/ard/web/controller/work/UavRealDataController.java 1 ●●●●● patch | view | raw | blame | history
ard-work/src/main/java/com/ard/work/component/netty/handler/ClientHandler.java 6 ●●●●● patch | view | raw | blame | history
ard-work/src/main/java/com/ard/work/component/websocket/handler/UavAllManager.java 4 ●●●●● patch | view | raw | blame | history
ard-work/src/main/java/com/ard/work/component/websocket/handler/UavStateManager.java 6 ●●●●● patch | view | raw | blame | history
ard-work/src/main/java/com/ard/work/domain/dto/state/UavState.java 12 ●●●●● patch | view | raw | blame | history
ard-work/src/main/java/com/ard/work/service/impl/TyServiceImpl.java 4 ●●●●● patch | view | raw | blame | history
ard-admin/src/main/java/com/ard/web/controller/work/UavRealDataController.java
@@ -29,7 +29,6 @@
    @GetMapping("/getUavState")
    public AjaxResult getUavState(String boxSn) {
        UavState uavState = tyService.getUavState(boxSn);
        uavState.calculateFieldAngle();// 计算当前无人机的FieldAngle
        return AjaxResult.success(uavState);
    }
ard-work/src/main/java/com/ard/work/component/netty/handler/ClientHandler.java
@@ -62,16 +62,16 @@
            switch (event.state()) {
                case READER_IDLE:
                    log.warn("读空闲超时 - 可能服务器未响应");
                    log.debug("读空闲超时 - 可能服务器未响应");
                    break;
                case WRITER_IDLE:
                    // 写空闲时主动发心跳
                    HeartbeatCmd heartbeat = new HeartbeatCmd(timestamp);
                    ctx.writeAndFlush(heartbeat);
                    log.info("写空闲 -> 发送心跳包 时间戳={}", timestamp);
                    log.debug("写空闲 -> 发送心跳包 时间戳={}", timestamp);
                    break;
                case ALL_IDLE:
                    log.info("读写都空闲 - 可考虑关闭连接或重连");
                    log.debug("读写都空闲 - 可考虑关闭连接或重连");
                    break;
            }
        } else {
ard-work/src/main/java/com/ard/work/component/websocket/handler/UavAllManager.java
@@ -27,10 +27,6 @@
        Map<String, Object> map = new HashMap<>();
        map.put("boxSn", boxSn);
        UavState uavState = UavStateCache.get(boxSn);
        if (uavState != null) {
            uavState.calculateFieldAngle();// 计算当前无人机的FieldAngle
        }
        map.put("state", uavState);
        TelemetryData uavTelemetryData = UavTelemetryDataCache.get(boxSn);
        map.put("telemetry", uavTelemetryData);
ard-work/src/main/java/com/ard/work/component/websocket/handler/UavStateManager.java
@@ -10,11 +10,7 @@
    @Override
    protected UavState getData(String boxSn) {
        UavState uavState = UavStateCache.get(boxSn);
        if (uavState != null) {
            uavState.calculateFieldAngle();// 计算当前无人机的FieldAngle
        }
        return uavState;
        return UavStateCache.get(boxSn);
    }
    @Override
ard-work/src/main/java/com/ard/work/domain/dto/state/UavState.java
@@ -20,16 +20,4 @@
    private String boxSn;                                 // 云盒编号
    private AvoidanceData avoidanceData;                  // 避障数据
    private List<HmsAlarmData> hmsAlarmData;              // HMS报警信息 (飞机告警信息)
    private Float FieldAngle;                             // 自动计算视场角
    /**
     * 计算并设置视场角
     */
    public void calculateFieldAngle() {
        if (cameraState != null) {
            this.FieldAngle = CameraUtil.getFieldAngleFromZoom(cameraState.getSource(), cameraState.getZoomfactor());
        } else {
            this.FieldAngle = null; // 如果 cameraState 为 null,则 FieldAngle 也为 null
        }
    }
}
ard-work/src/main/java/com/ard/work/service/impl/TyServiceImpl.java
@@ -907,7 +907,7 @@
        String text = String.format("收到%s回复%s", message, obj);
        ServerReplyMessage serverReplyMessage = ServerReplyMessage.builder().message(text).build();
        WebSocketUtil.sendMessage("reply", serverReplyMessage);
        log.info(text);
        log.debug(text);
    }
    //公共日志打印
@@ -921,7 +921,7 @@
        );
        ServerReplyMessage serverReplyMessage = ServerReplyMessage.builder().message(text).build();
        WebSocketUtil.sendMessage("reply", serverReplyMessage);
        log.info(text);
        log.debug(text);
    }