From 35f1a08b31531d971169403978cddf3328accb26 Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: Thu, 20 Feb 2025 16:01:06 +0800
Subject: [PATCH] 添加无人机控制权申请、处理、释放

---
 ard-work/src/main/java/com/ard/tianyu/service/impl/TyServiceImpl.java |   80 +++++++++++++++++++++++++++-------------
 1 files changed, 54 insertions(+), 26 deletions(-)

diff --git a/ard-work/src/main/java/com/ard/tianyu/service/impl/TyServiceImpl.java b/ard-work/src/main/java/com/ard/tianyu/service/impl/TyServiceImpl.java
index a32144c..9fba16d 100644
--- a/ard-work/src/main/java/com/ard/tianyu/service/impl/TyServiceImpl.java
+++ b/ard-work/src/main/java/com/ard/tianyu/service/impl/TyServiceImpl.java
@@ -1,6 +1,7 @@
 package com.ard.tianyu.service.impl;
 
 import com.ard.common.utils.ByteUtils;
+import com.ard.tianyu.aspect.annotation.CheckControlAuthority;
 import com.ard.tianyu.config.TyConfiguration;
 import com.ard.tianyu.http.TyClient;
 import com.ard.tianyu.model.cache.TyTcpServerCache;
@@ -155,34 +156,37 @@
      * 设置返航高度
      */
     @Override
-    public void updateReturnHeight(ReturnHeightSettingDTO returnHeightSettingDTO) {
+    public Boolean updateReturnHeight(ReturnHeightSettingDTO returnHeightSettingDTO) {
         ReturnHeightSettingCmd returnHeightSettingCmd = new ReturnHeightSettingCmd(returnHeightSettingDTO);
         this.sendMessage(tyConfiguration.getIpPort(), returnHeightSettingCmd);
+        return true;
     }
 
     /**
      * 设置返航点
      */
     @Override
-    public void updateReturnPoint(ReturnPointSettingDTO returnPointSettingDTO) {
+    public Boolean updateReturnPoint(ReturnPointSettingDTO returnPointSettingDTO) {
         ReturnPointSettingCmd returnPointSettingCmd = new ReturnPointSettingCmd(returnPointSettingDTO);
         this.sendMessage(tyConfiguration.getIpPort(), returnPointSettingCmd);
+        return true;
     }
 
     /**
      * 设置视频码流
      */
     @Override
-    public void updateVideoStream(VideoStreamSettingDTO videoStreamSettingDTO) {
+    public Boolean updateVideoStream(VideoStreamSettingDTO videoStreamSettingDTO) {
         VideoStreamSettingCmd videoStreamSettingCmd = new VideoStreamSettingCmd(videoStreamSettingDTO);
         this.sendMessage(tyConfiguration.getIpPort(), videoStreamSettingCmd);
+        return true;
     }
 
     /**
      * 注册天宇平台
      */
     @Override
-    public void registerMessage() {
+    public Boolean registerMessage() {
         try {
             AccessTokenReceiver tyToken = tyConfiguration.getAccessToken();
             RegisterCmd registerMessage = new RegisterCmd(tyToken.getCompanyId(), tyToken.getAccessToken().getBytes());
@@ -190,59 +194,65 @@
         } catch (Exception e) {
             log.error("注册天宇平台失败:{}", e.getMessage());
         }
+        return true;
     }
 
     /**
      * 云台控制基于角度
      */
     @Override
-    public void angleControl(AngleControlDTO angleControlDto) {
+    public Boolean angleControl(AngleControlDTO angleControlDto) {
         AngleControlCmd controlAngleCommand = new AngleControlCmd(angleControlDto);
         this.sendMessage(tyConfiguration.getIpPort(), controlAngleCommand);
+        return true;
     }
 
     /**
      * 云台绝对值控制(基于角度)
      */
     @Override
-    public void absAngleControl(AbsAngleControlDTO absAngleControlDto) {
+    public Boolean absAngleControl(AbsAngleControlDTO absAngleControlDto) {
         AbsAngleControlCmd absAngleControlCommand = new AbsAngleControlCmd(absAngleControlDto);
         this.sendMessage(tyConfiguration.getIpPort(), absAngleControlCommand);
+        return true;
     }
 
     /**
      * 云台转动(基于速度)
      */
     @Override
-    public void speedControl(SpeedControlDTO speedControlDto) {
+    public Boolean speedControl(SpeedControlDTO speedControlDto) {
         SpeedControlCmd speedControlCommand = new SpeedControlCmd(speedControlDto);
         this.sendMessage(tyConfiguration.getIpPort(), speedControlCommand);
+        return true;
     }
 
     /**
      * 设置相机模式
      */
     @Override
-    public void updateCameraMode(CameraModeDTO cameraModeDTO) {
+    public Boolean updateCameraMode(CameraModeDTO cameraModeDTO) {
         CameraModeCmd cameraModeCommand = new CameraModeCmd(cameraModeDTO);
         this.sendMessage(tyConfiguration.getIpPort(), cameraModeCommand);
+        return true;
     }
 
     /**
      * 拍照
      */
     @Override
-    public void capturePic(CapturePicDTO capturePicDto) {
+    public Boolean capturePic(CapturePicDTO capturePicDto) {
         updateCameraMode(CameraModeDTO.builder().boxSn(capturePicDto.getBoxSn()).actionParam((byte) 0x01).build());
         CapturePicCmd capturePicCommand = new CapturePicCmd(capturePicDto);
         this.sendMessage(tyConfiguration.getIpPort(), capturePicCommand);
+        return true;
     }
 
     /**
      * 录像
      */
     @Override
-    public void record(RecordDTO recordDto) {
+    public Boolean record(RecordDTO recordDto) {
         BaseCmd baseCmd;
         if (recordDto.getIsRecord()) {
             updateCameraMode(CameraModeDTO.builder().boxSn(recordDto.getBoxSn()).actionParam((byte) 0x02).build());
@@ -251,150 +261,168 @@
             baseCmd = new RecordStopCmd(recordDto);
         }
         this.sendMessage(tyConfiguration.getIpPort(), baseCmd);
+        return true;
     }
 
     /**
      * 变倍
      */
     @Override
-    public void zoom(ZoomDTO zoomDTO) {
+    public Boolean zoom(ZoomDTO zoomDTO) {
         ZoomCmd zoomCommand = new ZoomCmd(zoomDTO);
         this.sendMessage(tyConfiguration.getIpPort(), zoomCommand);
+        return true;
     }
 
     /**
      * 变倍到指定倍数
      */
     @Override
-    public void zoomToLevel(ZoomToLevelDTO zoomToLevelDTO) {
+    public Boolean zoomToLevel(ZoomToLevelDTO zoomToLevelDTO) {
         ZoomToLevelCmd zoomToLevelCommand = new ZoomToLevelCmd(zoomToLevelDTO);
         this.sendMessage(tyConfiguration.getIpPort(), zoomToLevelCommand);
+        return true;
     }
 
     /**
      * 切换摄像头
      */
     @Override
-    public void switchCamera(SwitchCameraDTO switchCameraDTO) {
+    public Boolean switchCamera(SwitchCameraDTO switchCameraDTO) {
         SwitchCameraCmd switchCameraCmd = new SwitchCameraCmd(switchCameraDTO);
         this.sendMessage(tyConfiguration.getIpPort(), switchCameraCmd);
+        return true;
     }
 
     /**
      * 切换视频源
      */
     @Override
-    public void switchSource(SwitchSourceDTO switchSourceDTO) {
+    public Boolean switchSource(SwitchSourceDTO switchSourceDTO) {
         SwitchSourceCmd switchSourceCmd = new SwitchSourceCmd(switchSourceDTO);
         this.sendMessage(tyConfiguration.getIpPort(), switchSourceCmd);
+        return true;
     }
 
     /**
      * 打开或关闭照片回传
      */
     @Override
-    public void photoReturnToggle(PhotoReturnToggleDTO photoReturnToggleDTO) {
+    public Boolean photoReturnToggle(PhotoReturnToggleDTO photoReturnToggleDTO) {
         PhotoReturnToggleCmd photoReturnToggleCmd = new PhotoReturnToggleCmd(photoReturnToggleDTO);
         this.sendMessage(tyConfiguration.getIpPort(), photoReturnToggleCmd);
+        return true;
     }
 
     /**
      * 切换无人机控制权
      */
     @Override
-    public void switchUavControl(SwitchUavControlDTO switchUavControlDTO) {
+    public Boolean switchUavControl(SwitchUavControlDTO switchUavControlDTO) {
         SwitchUavControlCmd switchUavControlCmd = new SwitchUavControlCmd(switchUavControlDTO);
         this.sendMessage(tyConfiguration.getIpPort(), switchUavControlCmd);
+        return true;
     }
 
     /**
      * 起飞
      */
+    @CheckControlAuthority
     @Override
-    public void takeOff(TakeOffDTO takeOffDTO) {
+    public Boolean takeOff(TakeOffDTO takeOffDTO) {
         TakeOffCmd takeOffCmd = new TakeOffCmd(takeOffDTO);
         this.sendMessage(tyConfiguration.getIpPort(), takeOffCmd);
+        return true;
     }
 
     /**
      * 返航
      */
     @Override
-    public void returnHome(ReturnHomeDTO returnHomeDTO) {
+    public Boolean returnHome(ReturnHomeDTO returnHomeDTO) {
         ReturnHomeCmd returnHomeCmd = new ReturnHomeCmd(returnHomeDTO);
         this.sendMessage(tyConfiguration.getIpPort(), returnHomeCmd);
+        return true;
     }
 
     /**
      * 取消返航
      */
     @Override
-    public void returnHomeCancel(ReturnHomeCancelDTO returnHomeCancelDTO) {
+    public Boolean returnHomeCancel(ReturnHomeCancelDTO returnHomeCancelDTO) {
         ReturnHomeCancelCmd returnHomeCancelCmd = new ReturnHomeCancelCmd(returnHomeCancelDTO);
         this.sendMessage(tyConfiguration.getIpPort(), returnHomeCancelCmd);
+        return true;
     }
 
     /**
      * 降落
      */
     @Override
-    public void land(LandDTO landDTO) {
+    public Boolean land(LandDTO landDTO) {
         LandCmd landCmd = new LandCmd(landDTO);
         this.sendMessage(tyConfiguration.getIpPort(), landCmd);
+        return true;
     }
 
     /**
      * 取消降落
      */
     @Override
-    public void landCancel(LandCancelDTO landCancelDTO) {
+    public Boolean landCancel(LandCancelDTO landCancelDTO) {
         LandCancelCmd landCancelCmd = new LandCancelCmd(landCancelDTO);
         this.sendMessage(tyConfiguration.getIpPort(), landCancelCmd);
+        return true;
     }
 
     /**
      * 强制降落
      */
     @Override
-    public void landForced(LandForcedDTO landForcedDTO) {
+    public Boolean landForced(LandForcedDTO landForcedDTO) {
         LandForcedCmd landForcedCmd = new LandForcedCmd(landForcedDTO);
         this.sendMessage(tyConfiguration.getIpPort(), landForcedCmd);
+        return true;
     }
 
     /**
      * 方向控制
      */
     @Override
-    public void flyControl(FlyControlDTO flyControlDTO) {
+    public Boolean flyControl(FlyControlDTO flyControlDTO) {
         FlyControlCmd flyControlCmd = new FlyControlCmd(flyControlDTO);
         this.sendMessage(tyConfiguration.getIpPort(), flyControlCmd);
+        return true;
     }
 
     /**
      * 指点飞行控制
      */
     @Override
-    public void flyPointControl(FlyPointControlDTO flyPointControlDTO) {
+    public Boolean flyPointControl(FlyPointControlDTO flyPointControlDTO) {
         FlyPointControlCmd flyPointControlCmd = new FlyPointControlCmd(flyPointControlDTO);
         this.sendMessage(tyConfiguration.getIpPort(), flyPointControlCmd);
+        return true;
     }
 
     /**
      * 停止指点飞行控制
      */
     @Override
-    public void flyPointControlCancel(FlyPointControlCancelDTO flyPointControlCancelDTO) {
+    public Boolean flyPointControlCancel(FlyPointControlCancelDTO flyPointControlCancelDTO) {
         FlyPointControlCancelCmd flyPointControlCancelCmd = new FlyPointControlCancelCmd(flyPointControlCancelDTO);
         this.sendMessage(tyConfiguration.getIpPort(), flyPointControlCancelCmd);
+        return true;
     }
 
     /**
      * 紧急制动
      */
     @Override
-    public void emeragencyBrake(EmeragencyBrakeDTO emeragencyBrakeDTO) {
+    public Boolean emeragencyBrake(EmeragencyBrakeDTO emeragencyBrakeDTO) {
         EmergencyBrakeCmd emergencyBrakeCmd = new EmergencyBrakeCmd(emeragencyBrakeDTO);
         this.sendMessage(tyConfiguration.getIpPort(), emergencyBrakeCmd);
+        return true;
     }
 
     /**

--
Gitblit v1.9.3