liusuyi
2025-12-26 8372b7f2bc27927f93825dd1aa438b1e8253f82c
ard-work/src/main/java/com/ard/work/service/impl/TyServiceImpl.java
@@ -33,6 +33,7 @@
import com.ard.work.domain.dto.BoxHistoryDTO;
import com.ard.work.domain.dto.BoxPhotosDTO;
import com.ard.work.domain.dto.BoxSettingsDTO;
import com.ard.work.domain.dto.BoxVideosDTO;
import com.ard.work.domain.dto.camera.*;
import com.ard.work.domain.dto.control.AbsAngleControlDTO;
import com.ard.work.domain.dto.control.AngleControlDTO;
@@ -157,7 +158,7 @@
    }
    /**
     * 获取盒子图片
     * 获取任务图片
     *
     * @return List<BoxPhotosReceiver>
     */
@@ -172,7 +173,22 @@
                boxPhotosDTO);
        return boxPhotos == null ? null : boxPhotos.getContent();
    }
    /**
     * 获取任务视频
     *
     * @return List<BoxVideosReceiver>
     */
    @Override
    public List<BoxVideosReceiver> getBoxVideos(BoxVideosDTO boxVideosDTO) {
        String boxSn = boxVideosDTO.getBoxSn();
        ArdDroneInfo ardDroneInfo = ardDroneService.selectArdDroneByboxSn(boxSn);
        if (ardDroneInfo == null) {
            throw new ControlException("未找到对应的飞行器信息,boxSn:{}" + boxSn);
        }
        TyHttpCommonReceiver<List<BoxVideosReceiver>> boxVideos = tyClient.getBoxVideos(ardDroneInfo.getServerId(),
                boxVideosDTO);
        return boxVideos == null ? null : boxVideos.getContent();
    }
    /**
     * 修改云盒设置
     */
@@ -336,9 +352,10 @@
            throw new ControlException("未找到对应的飞行器信息,boxSn:{}" + boxSn);
        }
        //设置相机模式为拍照模式
        updateCameraMode(CameraModeDTO.builder().boxSn(capturePicDto.getBoxSn()).actionParam((byte) 0x01).build());
        //updateCameraMode(CameraModeDTO.builder().boxSn(capturePicDto.getBoxSn()).actionParam((byte) 0x01).build());
        //设置拍照回传
        photoReturnToggle(PhotoReturnToggleDTO.builder().boxSn(capturePicDto.getBoxSn()).actionParam((byte) 0x01).build());
        //photoReturnToggle(PhotoReturnToggleDTO.builder().boxSn(capturePicDto.getBoxSn()).actionParam((byte) 0x01)
        // .build());
        CapturePicCmd capturePicCommand = new CapturePicCmd(capturePicDto);
        this.sendMessage(ardDroneInfo.getServerId(), capturePicCommand);
@@ -358,7 +375,7 @@
        }
        BaseCmd baseCmd;
        if (recordDto.getIsRecord()) {
            updateCameraMode(CameraModeDTO.builder().boxSn(recordDto.getBoxSn()).actionParam((byte) 0x02).build());
            //updateCameraMode(CameraModeDTO.builder().boxSn(recordDto.getBoxSn()).actionParam((byte) 0x02).build());
            baseCmd = new RecordStartCmd(recordDto);
        } else {
            baseCmd = new RecordStopCmd(recordDto);
@@ -589,6 +606,10 @@
        if (ardDroneInfo == null) {
            throw new ControlException("未找到对应的飞行器信息,boxSn:{}" + boxSn);
        }
        //打点之前先停止打点
        FlyPointControlCancelCmd flyPointControlCancelCmd = new FlyPointControlCancelCmd(FlyPointControlCancelDTO.builder().boxSn(boxSn).build());
        this.sendMessage(ardDroneInfo.getServerId(), flyPointControlCancelCmd);
        FlyPointControlCmd flyPointControlCmd = new FlyPointControlCmd(flyPointControlDTO);
        this.sendMessage(ardDroneInfo.getServerId(), flyPointControlCmd);
        return true;
@@ -957,7 +978,7 @@
                // 处理无人机遥测消息
                UavTelemetryDataCmd uavTelemetryDataCmd = (UavTelemetryDataCmd) tyCommand;
                TelemetryData telemetryData = uavTelemetryDataCmd.getTelemetryData();
                telemetryData.setTimestamp(System.currentTimeMillis());//由于六合提供的状态时间戳不准,先以接收状态作为时间戳
                //telemetryData.setTimestamp(System.currentTimeMillis());//由于六合提供的状态时间戳不准,先以接收状态作为时间戳
                UavTelemetryDataCache.put(telemetryData);
                //logPrint("无人机遥测", uavTelemetryDataCmd.getTelemetryData().getBoxSn());
                //WebSocketUtil.sendMessageAll(uavTelemetryDataCmd.getTelemetryData());