diff --git a/.devops/monitor.py b/.devops/monitor.py
index 2ce0f1a..f3638b1 100644
--- a/.devops/monitor.py
+++ b/.devops/monitor.py
@@ -160,7 +160,14 @@ class GitMonitor:
Logger.error("拉取主仓库失败")
return False
- # 更新所有子模块
+ # 初始化和更新所有子模块(包括新增的子模块)
+ cmd = "git submodule update --init --recursive"
+ result = subprocess.run(cmd, shell=True, cwd=repo_path, capture_output=True, text=True)
+ if result.returncode != 0:
+ Logger.error("初始化子模块失败")
+ return False
+
+ # 更新所有子模块到最新代码
cmd = f"git submodule foreach 'git checkout {self.global_branch} && git pull'"
result = subprocess.run(cmd, shell=True, cwd=repo_path, capture_output=True, text=True)
if result.returncode != 0:
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