From 5a7f2fe825305e679597537494604ce114a2fa66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E5=A4=A7?= <1504665037@qq.com> Date: Sat, 24 Jan 2026 11:16:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E8=88=AA=E7=BA=BF=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E9=80=BB=E8=BE=91=E5=92=8C=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-api/tuoheng-api-airline/pom.xml | 5 ++ .../airline/api/RemoteAirlineService.java | 9 ++- .../airline/api/domain/AirLinePointVO.java | 78 +++++++++++++++++++ .../airline/api/domain/AirlineDataVO.java | 68 ++++++++++++++++ .../api/domain/AirlineFileGroupInfoVO.java | 36 +++++++++ .../api/domain/AirlineFileGroupVO.java | 40 ++++++++++ .../airline/api/domain/AirlineFileVO.java | 69 ++++++++++++++++ .../factory/RemoteAirlineFallbackFactory.java | 12 +-- 8 files changed, 303 insertions(+), 14 deletions(-) create mode 100644 ruoyi-api/tuoheng-api-airline/src/main/java/com/ruoyi/airline/api/domain/AirLinePointVO.java create mode 100644 ruoyi-api/tuoheng-api-airline/src/main/java/com/ruoyi/airline/api/domain/AirlineDataVO.java create mode 100644 ruoyi-api/tuoheng-api-airline/src/main/java/com/ruoyi/airline/api/domain/AirlineFileGroupInfoVO.java create mode 100644 ruoyi-api/tuoheng-api-airline/src/main/java/com/ruoyi/airline/api/domain/AirlineFileGroupVO.java create mode 100644 ruoyi-api/tuoheng-api-airline/src/main/java/com/ruoyi/airline/api/domain/AirlineFileVO.java diff --git a/ruoyi-api/tuoheng-api-airline/pom.xml b/ruoyi-api/tuoheng-api-airline/pom.xml index 8c3cca1..d8065ed 100644 --- a/ruoyi-api/tuoheng-api-airline/pom.xml +++ b/ruoyi-api/tuoheng-api-airline/pom.xml @@ -22,6 +22,11 @@ com.ruoyi ruoyi-common-core + + org.projectlombok + lombok + provided + diff --git a/ruoyi-api/tuoheng-api-airline/src/main/java/com/ruoyi/airline/api/RemoteAirlineService.java b/ruoyi-api/tuoheng-api-airline/src/main/java/com/ruoyi/airline/api/RemoteAirlineService.java index df283ec..c617d9f 100644 --- a/ruoyi-api/tuoheng-api-airline/src/main/java/com/ruoyi/airline/api/RemoteAirlineService.java +++ b/ruoyi-api/tuoheng-api-airline/src/main/java/com/ruoyi/airline/api/RemoteAirlineService.java @@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.RequestHeader; /** * 航线服务 * - * @author ruoyi + * @author 拓恒 * @date 2026-01-17 */ @FeignClient(contextId = "remoteAirlineService", value = ServiceNameConstants.AIRLINE_SERVICE, fallbackFactory = RemoteAirlineFallbackFactory.class) @@ -22,10 +22,11 @@ public interface RemoteAirlineService /** * 根据ID查询航线信息 * - * @param id 航线ID + * @param groupId 航线ID * @param source 请求来源 * @return 结果 */ - @GetMapping("/airline/temp/{id}") - R getAirlineById(@PathVariable("id") String id, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + // TODO + @GetMapping("/airline/{groupId}") + R getAirlineByGroupId(@PathVariable("groupId") String groupId, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); } \ No newline at end of file diff --git a/ruoyi-api/tuoheng-api-airline/src/main/java/com/ruoyi/airline/api/domain/AirLinePointVO.java b/ruoyi-api/tuoheng-api-airline/src/main/java/com/ruoyi/airline/api/domain/AirLinePointVO.java new file mode 100644 index 0000000..8db2a75 --- /dev/null +++ b/ruoyi-api/tuoheng-api-airline/src/main/java/com/ruoyi/airline/api/domain/AirLinePointVO.java @@ -0,0 +1,78 @@ +package com.ruoyi.airline.api.domain; +/** + * 航线航点VO + * + * @author 拓恒 + * @date 2026-01-17 + */ + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class AirLinePointVO implements Serializable { + + private static final long serialVersionUID = 1L; + /** + * 序号 + */ + private Integer id; + + /** + * 动作id + */ + private Integer command; + /** + * 经纬度 +-180 + */ + private String lat; + /** + * 经纬度 +-90 + */ + private String lon; + + /** + * 高度 + */ + private Integer alt; + + /** + * 悬停时间s + */ + private String loiterTime; + + /** + * 相机俯仰角 + */ + private String cameraPitch; + + /** + * 相机滚动角 + */ + private String cameraRoll; + + /** + * 相机偏航角 + */ + private String cameraYaw; + + /** + * 挂载控制 1 相机 + */ + private Integer sessionControl; + /** + * 相机指令 1 拍照 + */ + private Integer shootCommand; + + /** + * 绝对变焦 目前 1-10 + */ + private Integer zoomAbsolute; + + /*** + * 转动方向 -1逆时针 1相对机场方向 (硬件定义的) + */ + private Integer rotateDirection; +} diff --git a/ruoyi-api/tuoheng-api-airline/src/main/java/com/ruoyi/airline/api/domain/AirlineDataVO.java b/ruoyi-api/tuoheng-api-airline/src/main/java/com/ruoyi/airline/api/domain/AirlineDataVO.java new file mode 100644 index 0000000..fdab4bc --- /dev/null +++ b/ruoyi-api/tuoheng-api-airline/src/main/java/com/ruoyi/airline/api/domain/AirlineDataVO.java @@ -0,0 +1,68 @@ +package com.ruoyi.airline.api.domain; + +import lombok.Data; + +/** + * 航线数据VO + * Controller 层视图对象,用于返回给前端的数据结构 + * + * @author ruoyi + * @date 2026-01-17 + */ +@Data +public class AirlineDataVO { + /** + * 主键ID + */ + private Long id; + + /** + * 航班号 + */ + private String flightNumber; + + /** + * 起飞城市 + */ + private String departureCity; + + /** + * 到达城市 + */ + private String arrivalCity; + + /** + * 空气速度 + */ + private Double airspeed; + + /** + * 速度 + */ + private Double velocity; + + /** + * 垂直速度 + */ + private Double vspeed; + + /** + * 水平速度 + */ + private Double hspeed; + + + @Override + public String toString() { + return "AirlineDataVO{" + + "id=" + id + + ", flightNumber='" + flightNumber + '\'' + + ", departureCity='" + departureCity + '\'' + + ", arrivalCity='" + arrivalCity + '\'' + + ", airspeed=" + airspeed + + ", velocity=" + velocity + + ", vspeed=" + vspeed + + ", hspeed=" + hspeed + + '}'; + } +} \ No newline at end of file diff --git a/ruoyi-api/tuoheng-api-airline/src/main/java/com/ruoyi/airline/api/domain/AirlineFileGroupInfoVO.java b/ruoyi-api/tuoheng-api-airline/src/main/java/com/ruoyi/airline/api/domain/AirlineFileGroupInfoVO.java new file mode 100644 index 0000000..0973c07 --- /dev/null +++ b/ruoyi-api/tuoheng-api-airline/src/main/java/com/ruoyi/airline/api/domain/AirlineFileGroupInfoVO.java @@ -0,0 +1,36 @@ +package com.ruoyi.airline.api.domain; + +import com.ruoyi.common.core.web.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 航线分组明细 + * + * @author 拓恒 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class AirlineFileGroupInfoVO extends BaseEntity { + /** + * id,主键,用于order by 排序 + */ + private Long id; + /** + * 用户ID + */ + private Long groupId; + + AirlineFileVO airlineFileVO; + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("groupId", getGroupId()) + .append("airlineFileVO", airlineFileVO.toString()) + .toString(); + } +} diff --git a/ruoyi-api/tuoheng-api-airline/src/main/java/com/ruoyi/airline/api/domain/AirlineFileGroupVO.java b/ruoyi-api/tuoheng-api-airline/src/main/java/com/ruoyi/airline/api/domain/AirlineFileGroupVO.java new file mode 100644 index 0000000..03247f8 --- /dev/null +++ b/ruoyi-api/tuoheng-api-airline/src/main/java/com/ruoyi/airline/api/domain/AirlineFileGroupVO.java @@ -0,0 +1,40 @@ +package com.ruoyi.airline.api.domain; + +import com.ruoyi.common.core.web.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 航线分组 + * + * @author 拓恒 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class AirlineFileGroupVO extends BaseEntity { + /** + * 用户ID + */ + private Long groupId; + + /** + * 分组名称 + */ + private String groupName; + /** + * 用户ID,分组自带用户归属。 后期权限都是基于用户ID进行 + */ + private Long userId; + + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("groupId", getGroupId()) + .append("groupName", getGroupName()) + .append("userId", getUserId()) + .toString(); + } +} diff --git a/ruoyi-api/tuoheng-api-airline/src/main/java/com/ruoyi/airline/api/domain/AirlineFileVO.java b/ruoyi-api/tuoheng-api-airline/src/main/java/com/ruoyi/airline/api/domain/AirlineFileVO.java new file mode 100644 index 0000000..249ce81 --- /dev/null +++ b/ruoyi-api/tuoheng-api-airline/src/main/java/com/ruoyi/airline/api/domain/AirlineFileVO.java @@ -0,0 +1,69 @@ +package com.ruoyi.airline.api.domain; + +import lombok.Data; + +import java.util.List; + +/** + * 航线文件VO + * Controller 层视图对象,用于返回给前端的数据结构 + * + * @author 拓恒 + * @date 2026-01-17 + */ +@Data +public class AirlineFileVO { + + /** + * 主键ID + */ + private Long id; + + /** + * 用户ID + */ + private Long userId; + + /** + * 文件名称 + */ + private String fileName; + + /** + * waypoint文件地址 + */ + private String fileUrl; + + + /** + * 原始航线url + */ + private String origFileUrl; + + + /** + * 航线类型:1,航点航线;2,指点航线;3,指面航线 + */ + private Integer type; + + + /** + * 航线点列表 + */ + private List linePointDtoList; + + /** + * 1 启用 0 停用 + */ + private Integer status; + + + /** + * kmz航线的全局高度 + */ + private Integer djiRthAltitude; + + + + +} \ No newline at end of file diff --git a/ruoyi-api/tuoheng-api-airline/src/main/java/com/ruoyi/airline/api/factory/RemoteAirlineFallbackFactory.java b/ruoyi-api/tuoheng-api-airline/src/main/java/com/ruoyi/airline/api/factory/RemoteAirlineFallbackFactory.java index 685e581..91866c8 100644 --- a/ruoyi-api/tuoheng-api-airline/src/main/java/com/ruoyi/airline/api/factory/RemoteAirlineFallbackFactory.java +++ b/ruoyi-api/tuoheng-api-airline/src/main/java/com/ruoyi/airline/api/factory/RemoteAirlineFallbackFactory.java @@ -1,8 +1,7 @@ package com.ruoyi.airline.api.factory; -import com.ruoyi.common.core.domain.R; import com.ruoyi.airline.api.RemoteAirlineService; -import com.ruoyi.airline.api.domain.AirlineTempVO; +import com.ruoyi.common.core.domain.R; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.cloud.openfeign.FallbackFactory; @@ -23,13 +22,6 @@ public class RemoteAirlineFallbackFactory implements FallbackFactory getAirlineById(String id, String source) - { - return R.fail("获取航线信息失败:" + throwable.getMessage()); - } - }; + return (id, source) -> R.fail("获取航线信息失败:" + throwable.getMessage()); } } \ No newline at end of file