添加接口和枚举
This commit is contained in:
parent
e09fb1ef6f
commit
345d50b52f
|
|
@ -0,0 +1,62 @@
|
||||||
|
package com.ruoyi.device.api;
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.constant.SecurityConstants;
|
||||||
|
import com.ruoyi.common.core.constant.ServiceNameConstants;
|
||||||
|
import com.ruoyi.common.core.domain.R;
|
||||||
|
import com.ruoyi.device.api.domain.DroneCurrentStatusVO;
|
||||||
|
import com.ruoyi.device.api.domain.DroneFlightControlRequest;
|
||||||
|
import com.ruoyi.device.api.domain.DroneRealtimeInfoVO;
|
||||||
|
import com.ruoyi.device.api.domain.DroneTakeoffResponseVO;
|
||||||
|
import com.ruoyi.device.api.factory.RemoteAircraftFlyFallbackFactory;
|
||||||
|
import org.springframework.cloud.openfeign.FeignClient;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 无人机飞控服务
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2026-02-04
|
||||||
|
*/
|
||||||
|
@FeignClient(contextId = "remoteAircraftFlyService", value = ServiceNameConstants.DEVICE_SERVICE, fallbackFactory = RemoteAircraftFlyFallbackFactory.class)
|
||||||
|
public interface RemoteAircraftFlyService
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 无人机飞控命令
|
||||||
|
*
|
||||||
|
* @param request 飞控命令请求
|
||||||
|
* @param source 请求来源
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@PostMapping("/drone/flight-control")
|
||||||
|
R<Void> flightControl(@RequestBody DroneFlightControlRequest request, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 无人机实时信息展示
|
||||||
|
*
|
||||||
|
* @param taskId 任务ID
|
||||||
|
* @param source 请求来源
|
||||||
|
* @return 实时信息
|
||||||
|
*/
|
||||||
|
@GetMapping("/drone/realtime-info/{taskId}")
|
||||||
|
R<DroneRealtimeInfoVO> getRealtimeInfo(@PathVariable("taskId") Long taskId, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 无人机当前状态查询
|
||||||
|
*
|
||||||
|
* @param dockId 机场ID
|
||||||
|
* @param source 请求来源
|
||||||
|
* @return 当前状态
|
||||||
|
*/
|
||||||
|
@GetMapping("/drone/current-status/{dockId}")
|
||||||
|
R<DroneCurrentStatusVO> getCurrentStatus(@PathVariable("dockId") Long dockId, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 无人机起飞接口
|
||||||
|
*
|
||||||
|
* @param dockId 机场ID
|
||||||
|
* @param source 请求来源
|
||||||
|
* @return 起飞响应(任务ID和任务状态)
|
||||||
|
*/
|
||||||
|
@PostMapping("/drone/takeoff/{dockId}")
|
||||||
|
R<DroneTakeoffResponseVO> takeoff(@PathVariable("dockId") Long dockId, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
package com.ruoyi.device.api.domain;
|
||||||
|
|
||||||
|
import com.ruoyi.device.api.enums.DroneCurrentStatusEnum;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 无人机当前状态查询对象
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2026-02-04
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Schema(description = "无人机当前状态查询对象")
|
||||||
|
public class DroneCurrentStatusVO implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/** 机场ID */
|
||||||
|
@Schema(description = "机场ID", example = "1")
|
||||||
|
private Long dockId;
|
||||||
|
|
||||||
|
/** 当前状态 */
|
||||||
|
@Schema(description = "当前状态: TAKEOFF_FAILED-起飞失败, FLYING-飞行中, POINTING-指点中, HOVERING-悬停中, RETURNING-返航中, LANDING-降落中",
|
||||||
|
allowableValues = {"TAKEOFF_FAILED", "FLYING", "POINTING", "HOVERING", "RETURNING", "LANDING"},
|
||||||
|
example = "HOVERING")
|
||||||
|
private DroneCurrentStatusEnum currentStatus;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,41 @@
|
||||||
|
package com.ruoyi.device.api.domain;
|
||||||
|
|
||||||
|
import com.ruoyi.device.api.enums.DroneCommandEnum;
|
||||||
|
import com.ruoyi.device.api.enums.DroneSpeedEnum;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 无人机飞控命令请求对象
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2026-02-04
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Schema(description = "无人机飞控命令请求对象")
|
||||||
|
public class DroneFlightControlRequest implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/** 任务ID */
|
||||||
|
@Schema(description = "任务ID", example = "1")
|
||||||
|
private Long taskId;
|
||||||
|
|
||||||
|
/** 飞控命令 */
|
||||||
|
@Schema(description = "飞控命令: FORWARD-前进, BACKWARD-后退, LEFT-左移, RIGHT-右移, ROTATE_LEFT-左旋, ROTATE_RIGHT-右旋, UP-上升, DOWN-下降, RETURN_HOME-返航, EMERGENCY_STOP-急停",
|
||||||
|
allowableValues = {"FORWARD", "BACKWARD", "LEFT", "RIGHT", "ROTATE_LEFT", "ROTATE_RIGHT", "UP", "DOWN", "RETURN_HOME", "EMERGENCY_STOP"},
|
||||||
|
example = "FORWARD")
|
||||||
|
private DroneCommandEnum command;
|
||||||
|
|
||||||
|
/** 速度调整:快、默认、慢 */
|
||||||
|
@Schema(description = "速度调整: FAST-快, NORMAL-默认, SLOW-慢",
|
||||||
|
allowableValues = {"FAST", "NORMAL", "SLOW"},
|
||||||
|
example = "NORMAL")
|
||||||
|
private DroneSpeedEnum speed;
|
||||||
|
|
||||||
|
/** 幅度调整:数值类型 */
|
||||||
|
@Schema(description = "幅度调整(数值类型,单位:米)", example = "10")
|
||||||
|
private Integer amplitude;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,58 @@
|
||||||
|
package com.ruoyi.device.api.domain;
|
||||||
|
|
||||||
|
import com.ruoyi.device.api.enums.DroneMissionStatusEnum;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 无人机实时信息展示对象
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2026-02-04
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Schema(description = "无人机实时信息展示对象")
|
||||||
|
public class DroneRealtimeInfoVO implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/** 爬升速度 */
|
||||||
|
@Schema(description = "爬升速度(单位:m/s)", example = "5")
|
||||||
|
private Integer climbSpeed;
|
||||||
|
|
||||||
|
/** 平飞速度 */
|
||||||
|
@Schema(description = "平飞速度(单位:m/s)", example = "15")
|
||||||
|
private Integer cruiseSpeed;
|
||||||
|
|
||||||
|
/** 距离机场 */
|
||||||
|
@Schema(description = "距离机场(单位:米)", example = "1000")
|
||||||
|
private Integer distanceToAirport;
|
||||||
|
|
||||||
|
/** 无人机高度 */
|
||||||
|
@Schema(description = "无人机高度(单位:米)", example = "100")
|
||||||
|
private Integer altitude;
|
||||||
|
|
||||||
|
/** 无人机俯仰角 */
|
||||||
|
@Schema(description = "无人机俯仰角(单位:度,范围:-90~90)", example = "0")
|
||||||
|
private Integer pitch;
|
||||||
|
|
||||||
|
/** 无人机偏航角 */
|
||||||
|
@Schema(description = "无人机偏航角(单位:度,范围:0~360)", example = "180")
|
||||||
|
private Integer yaw;
|
||||||
|
|
||||||
|
/** 云台俯仰角 */
|
||||||
|
@Schema(description = "云台俯仰角(单位:度,范围:-90~90)", example = "-45")
|
||||||
|
private Integer gimbalPitch;
|
||||||
|
|
||||||
|
/** 云台偏航角 */
|
||||||
|
@Schema(description = "云台偏航角(单位:度,范围:0~360)", example = "90")
|
||||||
|
private Integer gimbalYaw;
|
||||||
|
|
||||||
|
/** 无人机任务状态 */
|
||||||
|
@Schema(description = "无人机任务状态: IDLE-空闲, SELF_CHECKING-自检中, SELF_CHECK_FAILED-自检失败, TAKING_OFF-起飞中, TAKEOFF_FAILED-起飞失败, FLYING-飞行中, POINTING-指点中, HOVERING-悬停中, RETURNING-返航中, LANDING-降落中",
|
||||||
|
allowableValues = {"IDLE", "SELF_CHECKING", "SELF_CHECK_FAILED", "TAKING_OFF", "TAKEOFF_FAILED", "FLYING", "POINTING", "HOVERING", "RETURNING", "LANDING"},
|
||||||
|
example = "FLYING")
|
||||||
|
private DroneMissionStatusEnum missionStatus;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
package com.ruoyi.device.api.domain;
|
||||||
|
|
||||||
|
import com.ruoyi.device.api.enums.DroneMissionStatusEnum;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 无人机起飞响应对象
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2026-02-04
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Schema(description = "无人机起飞响应对象")
|
||||||
|
public class DroneTakeoffResponseVO implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/** 任务ID */
|
||||||
|
@Schema(description = "任务ID", example = "1001")
|
||||||
|
private Long taskId;
|
||||||
|
|
||||||
|
/** 无人机任务状态 */
|
||||||
|
@Schema(description = "无人机任务状态: IDLE-空闲, SELF_CHECKING-自检中, SELF_CHECK_FAILED-自检失败, TAKING_OFF-起飞中, TAKEOFF_FAILED-起飞失败, FLYING-飞行中, POINTING-指点中, HOVERING-悬停中, RETURNING-返航中, LANDING-降落中",
|
||||||
|
allowableValues = {"IDLE", "SELF_CHECKING", "SELF_CHECK_FAILED", "TAKING_OFF", "TAKEOFF_FAILED", "FLYING", "POINTING", "HOVERING", "RETURNING", "LANDING"},
|
||||||
|
example = "TAKING_OFF")
|
||||||
|
private DroneMissionStatusEnum missionStatus;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,81 @@
|
||||||
|
package com.ruoyi.device.api.enums;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 无人机飞控命令枚举
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2026-02-04
|
||||||
|
*/
|
||||||
|
public enum DroneCommandEnum {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 前进
|
||||||
|
*/
|
||||||
|
FORWARD("FORWARD", "前进"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 后退
|
||||||
|
*/
|
||||||
|
BACKWARD("BACKWARD", "后退"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 左移
|
||||||
|
*/
|
||||||
|
LEFT("LEFT", "左移"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 右移
|
||||||
|
*/
|
||||||
|
RIGHT("RIGHT", "右移"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 左旋
|
||||||
|
*/
|
||||||
|
ROTATE_LEFT("ROTATE_LEFT", "左旋"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 右旋
|
||||||
|
*/
|
||||||
|
ROTATE_RIGHT("ROTATE_RIGHT", "右旋"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 上升
|
||||||
|
*/
|
||||||
|
UP("UP", "上升"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 下降
|
||||||
|
*/
|
||||||
|
DOWN("DOWN", "下降"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 返航
|
||||||
|
*/
|
||||||
|
RETURN_HOME("RETURN_HOME", "返航"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 急停
|
||||||
|
*/
|
||||||
|
EMERGENCY_STOP("EMERGENCY_STOP", "急停");
|
||||||
|
|
||||||
|
private final String code;
|
||||||
|
private final String description;
|
||||||
|
|
||||||
|
DroneCommandEnum(String code, String description) {
|
||||||
|
this.code = code;
|
||||||
|
this.description = description;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCode() {
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDescription() {
|
||||||
|
return description;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,61 @@
|
||||||
|
package com.ruoyi.device.api.enums;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 无人机当前状态枚举
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2026-02-04
|
||||||
|
*/
|
||||||
|
public enum DroneCurrentStatusEnum {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 起飞失败
|
||||||
|
*/
|
||||||
|
TAKEOFF_FAILED("TAKEOFF_FAILED", "起飞失败"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 飞行中
|
||||||
|
*/
|
||||||
|
FLYING("FLYING", "飞行中"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 指点中
|
||||||
|
*/
|
||||||
|
POINTING("POINTING", "指点中"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 悬停中
|
||||||
|
*/
|
||||||
|
HOVERING("HOVERING", "悬停中"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 返航中
|
||||||
|
*/
|
||||||
|
RETURNING("RETURNING", "返航中"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 降落中
|
||||||
|
*/
|
||||||
|
LANDING("LANDING", "降落中");
|
||||||
|
|
||||||
|
private final String code;
|
||||||
|
private final String description;
|
||||||
|
|
||||||
|
DroneCurrentStatusEnum(String code, String description) {
|
||||||
|
this.code = code;
|
||||||
|
this.description = description;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCode() {
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDescription() {
|
||||||
|
return description;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,81 @@
|
||||||
|
package com.ruoyi.device.api.enums;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 无人机任务状态枚举
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2026-02-04
|
||||||
|
*/
|
||||||
|
public enum DroneMissionStatusEnum {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 空闲
|
||||||
|
*/
|
||||||
|
IDLE("IDLE", "空闲"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 自检中
|
||||||
|
*/
|
||||||
|
SELF_CHECKING("SELF_CHECKING", "自检中"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 自检失败
|
||||||
|
*/
|
||||||
|
SELF_CHECK_FAILED("SELF_CHECK_FAILED", "自检失败"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 起飞中
|
||||||
|
*/
|
||||||
|
TAKING_OFF("TAKING_OFF", "起飞中"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 起飞失败
|
||||||
|
*/
|
||||||
|
TAKEOFF_FAILED("TAKEOFF_FAILED", "起飞失败"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 飞行中
|
||||||
|
*/
|
||||||
|
FLYING("FLYING", "飞行中"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 指点中
|
||||||
|
*/
|
||||||
|
POINTING("POINTING", "指点中"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 悬停中
|
||||||
|
*/
|
||||||
|
HOVERING("HOVERING", "悬停中"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 返航中
|
||||||
|
*/
|
||||||
|
RETURNING("RETURNING", "返航中"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 降落中
|
||||||
|
*/
|
||||||
|
LANDING("LANDING", "降落中");
|
||||||
|
|
||||||
|
private final String code;
|
||||||
|
private final String description;
|
||||||
|
|
||||||
|
DroneMissionStatusEnum(String code, String description) {
|
||||||
|
this.code = code;
|
||||||
|
this.description = description;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCode() {
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDescription() {
|
||||||
|
return description;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,46 @@
|
||||||
|
package com.ruoyi.device.api.enums;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 无人机速度调整枚举
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2026-02-04
|
||||||
|
*/
|
||||||
|
public enum DroneSpeedEnum {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 快速
|
||||||
|
*/
|
||||||
|
FAST("FAST", "快"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 默认
|
||||||
|
*/
|
||||||
|
NORMAL("NORMAL", "默认"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 慢速
|
||||||
|
*/
|
||||||
|
SLOW("SLOW", "慢");
|
||||||
|
|
||||||
|
private final String code;
|
||||||
|
private final String description;
|
||||||
|
|
||||||
|
DroneSpeedEnum(String code, String description) {
|
||||||
|
this.code = code;
|
||||||
|
this.description = description;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCode() {
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDescription() {
|
||||||
|
return description;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,56 @@
|
||||||
|
package com.ruoyi.device.api.factory;
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.domain.R;
|
||||||
|
import com.ruoyi.device.api.RemoteAircraftFlyService;
|
||||||
|
import com.ruoyi.device.api.domain.DroneCurrentStatusVO;
|
||||||
|
import com.ruoyi.device.api.domain.DroneFlightControlRequest;
|
||||||
|
import com.ruoyi.device.api.domain.DroneRealtimeInfoVO;
|
||||||
|
import com.ruoyi.device.api.domain.DroneTakeoffResponseVO;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.cloud.openfeign.FallbackFactory;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 无人机飞控服务降级处理
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2026-02-04
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
public class RemoteAircraftFlyFallbackFactory implements FallbackFactory<RemoteAircraftFlyService>
|
||||||
|
{
|
||||||
|
private static final Logger log = LoggerFactory.getLogger(RemoteAircraftFlyFallbackFactory.class);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public RemoteAircraftFlyService create(Throwable throwable)
|
||||||
|
{
|
||||||
|
log.error("无人机飞控服务调用失败:{}", throwable.getMessage());
|
||||||
|
return new RemoteAircraftFlyService()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public R<Void> flightControl(DroneFlightControlRequest request, String source)
|
||||||
|
{
|
||||||
|
return R.fail("无人机飞控命令执行失败:" + throwable.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public R<DroneRealtimeInfoVO> getRealtimeInfo(Long taskId, String source)
|
||||||
|
{
|
||||||
|
return R.fail("获取无人机实时信息失败:" + throwable.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public R<DroneCurrentStatusVO> getCurrentStatus(Long dockId, String source)
|
||||||
|
{
|
||||||
|
return R.fail("查询无人机当前状态失败:" + throwable.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public R<DroneTakeoffResponseVO> takeoff(Long dockId, String source)
|
||||||
|
{
|
||||||
|
return R.fail("无人机起飞失败:" + throwable.getMessage());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue