Compare commits

...

3 Commits

Author SHA1 Message Date
linianlin d0c4034894 删除 2026-06-11 10:25:43 +08:00
linianlin 384333787f 删除 2026-06-11 10:24:33 +08:00
root c040a77a95 生成代码工程 2026-06-09 17:33:25 +08:00
4 changed files with 25708 additions and 20601 deletions

View File

@ -0,0 +1,54 @@
# 任务规划系统 (Mission Planning System)
基于 Spring Boot 3.x + Java 17 构建的单体后端工程,实现了从战场事件感知到任务生成、执行监控的闭环管理。
## 技术栈
- **语言**: Java 17
- **框架**: Spring Boot 3.2.5
- **接口文档**: Knife4j 4.5.0 (OpenAPI 3)
- **构建工具**: Maven
- **数据存储**: 内存假数据(预留数据库扩展点)
## 功能模块
| 模块 | 说明 |
|------|------|
| 事件管理 | 事件接收、处理、展示CRUD + 状态变更) |
| 模板管理 | 模板集合接收、版本管理、展示、选择与推荐 |
| 计划管理 | 集中式/分布式计划管理、重配置、HITL通知 |
| 方案分发 | 任务方案分发、ACK响应、重试机制 |
| 状态监控 | 遥测数据接收、异常报警、数据陈旧检测 |
## 启动方式
```bash
# 1. 编译打包
mvn clean package -DskipTests
# 2. 运行
java -jar target/mission-planning-system-1.0.0.jar
# 或直接通过 Maven 启动
mvn spring-boot:run
```
## 接口文档
启动后访问:
- **Swagger 文档**: http://localhost:8080/swagger-ui/index.html
- **Knife4j 文档**: http://localhost:8080/doc.html
## 健康检查
- http://localhost:8080/api/health
## 扩展说明
当前版本使用内存假数据存储(`ConcurrentHashMap`后续可扩展接入达梦DM8或人大金仓KingbaseES数据库。
主要扩展点如下:
- `repository/` 目录预留了 Repository 接口定义
- 各 Service 实现类实现了对应接口,便于切换数据源
- 配置类预留了数据源配置扩展点

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

76
pom.xml Normal file
View File

@ -0,0 +1,76 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.5</version>
<relativePath/>
</parent>
<groupId>com.example</groupId>
<artifactId>mission-planning-system</artifactId>
<version>1.0.0</version>
<name>Mission Planning System</name>
<description>任务规划系统 - 战场事件感知到任务生成、执行监控的闭环管理平台</description>
<properties>
<java.version>17</java.version>
<knife4j.version>4.5.0</knife4j.version>
</properties>
<dependencies>
<!-- Spring Boot Web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Spring Boot Validation -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<!-- Knife4j + Swagger/OpenAPI -->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
<version>${knife4j.version}</version>
</dependency>
<!-- Lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!-- Test -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</project>