From 48f53231c9731dcd3ecf339749f2a7760faf64ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E5=B0=8F=E4=BA=91?= Date: Fri, 13 Mar 2026 09:37:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AE=9A=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device/api/RemoteAircraftService.java | 12 ++++++ .../device/api/domain/DockAircraftVO.java | 43 +++++++++++++++++++ .../RemoteAircraftFallbackFactory.java | 9 ++++ 3 files changed, 64 insertions(+) create mode 100644 ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/domain/DockAircraftVO.java diff --git a/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/RemoteAircraftService.java b/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/RemoteAircraftService.java index bd2fd87..e0a6f2a 100644 --- a/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/RemoteAircraftService.java +++ b/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/RemoteAircraftService.java @@ -4,10 +4,13 @@ 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.AircraftDetailVO; +import com.ruoyi.device.api.domain.DockAircraftVO; import com.ruoyi.device.api.factory.RemoteAircraftFallbackFactory; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; +import java.util.List; + /** * 无人机服务 * @@ -26,4 +29,13 @@ public interface RemoteAircraftService */ @GetMapping("/aircraft/detail/{aircraftId}") R getAircraftDetail(@PathVariable("aircraftId") Long aircraftId, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + + /** + * 获取所有机场和机场的无人机 + * + * @param source 请求来源 + * @return 结果 + */ + @GetMapping("/aircraft/dock-aircraft-list") + R> getDockAircraftList(@RequestHeader(SecurityConstants.FROM_SOURCE) String source); } diff --git a/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/domain/DockAircraftVO.java b/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/domain/DockAircraftVO.java new file mode 100644 index 0000000..a30ac89 --- /dev/null +++ b/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/domain/DockAircraftVO.java @@ -0,0 +1,43 @@ +package com.ruoyi.device.api.domain; + +/** + * 机场无人机VO + * + * @author ruoyi + * @date 2026-03-13 + */ +public class DockAircraftVO { + + /** 无人机设备SN */ + private String deviceSn; + + /** 无人机名称 */ + private String aircraftName; + + /** 机场名称 */ + private String dockName; + + public String getDeviceSn() { + return deviceSn; + } + + public void setDeviceSn(String deviceSn) { + this.deviceSn = deviceSn; + } + + public String getAircraftName() { + return aircraftName; + } + + public void setAircraftName(String aircraftName) { + this.aircraftName = aircraftName; + } + + public String getDockName() { + return dockName; + } + + public void setDockName(String dockName) { + this.dockName = dockName; + } +} diff --git a/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/factory/RemoteAircraftFallbackFactory.java b/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/factory/RemoteAircraftFallbackFactory.java index 48f7243..21ba66b 100644 --- a/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/factory/RemoteAircraftFallbackFactory.java +++ b/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/factory/RemoteAircraftFallbackFactory.java @@ -3,11 +3,14 @@ package com.ruoyi.device.api.factory; import com.ruoyi.common.core.domain.R; import com.ruoyi.device.api.RemoteAircraftService; import com.ruoyi.device.api.domain.AircraftDetailVO; +import com.ruoyi.device.api.domain.DockAircraftVO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; +import java.util.List; + /** * 无人机服务降级处理 * @@ -30,6 +33,12 @@ public class RemoteAircraftFallbackFactory implements FallbackFactory> getDockAircraftList(String source) + { + return R.fail("获取机场无人机列表失败:" + throwable.getMessage()); + } }; } }