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