2026-06-09 07:58:18 +00:00
|
|
|
|
# 战场态势与任务规划系统
|
2026-06-09 07:21:00 +00:00
|
|
|
|
|
2026-06-09 07:58:18 +00:00
|
|
|
|
## 项目简介
|
|
|
|
|
|
|
|
|
|
|
|
本项目实现战场态势与任务规划系统中**事件处理与任务生成模块(EHTG)** 与**任务方案管理软件(TMS)** 的核心后端服务。
|
|
|
|
|
|
|
|
|
|
|
|
### 核心功能
|
|
|
|
|
|
|
|
|
|
|
|
#### 事件处理与任务生成模块(EHTG)
|
|
|
|
|
|
- 事件接收与解析、数据清洗与标准化
|
|
|
|
|
|
- 高价值目标评估
|
|
|
|
|
|
- 任务模板匹配与任务草案生成
|
|
|
|
|
|
- 任务草案发送与重试机制
|
|
|
|
|
|
|
|
|
|
|
|
#### 任务方案管理软件(TMS)
|
|
|
|
|
|
- 集中式/分布式方案列表展示与排序
|
|
|
|
|
|
- 方案详情查看与多方案对比分析
|
|
|
|
|
|
- 方案重构与差异高亮
|
|
|
|
|
|
- 方案分发与执行状态监控
|
|
|
|
|
|
- 异常告警与人机环通知
|
|
|
|
|
|
|
|
|
|
|
|
## 技术栈
|
|
|
|
|
|
|
|
|
|
|
|
| 技术 | 版本 | 用途 |
|
|
|
|
|
|
|------|------|------|
|
|
|
|
|
|
| Java | 17 | 开发语言 |
|
|
|
|
|
|
| Spring Boot | 3.2.0 | 框架基础 |
|
|
|
|
|
|
| Maven | 3.8+ | 构建工具 |
|
|
|
|
|
|
| Knife4j + OpenAPI 3 | 4.5.0 | 接口文档与调试 |
|
|
|
|
|
|
|
|
|
|
|
|
## 快速启动
|
|
|
|
|
|
|
|
|
|
|
|
### 前置条件
|
|
|
|
|
|
- JDK 17+
|
|
|
|
|
|
- Maven 3.8+
|
|
|
|
|
|
|
|
|
|
|
|
### 编译运行
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 编译
|
|
|
|
|
|
mvn clean package
|
|
|
|
|
|
|
|
|
|
|
|
# 运行
|
|
|
|
|
|
mvn spring-boot:run
|
|
|
|
|
|
|
|
|
|
|
|
# 或直接运行 jar
|
|
|
|
|
|
java -jar target/battlefield-mission-system-1.0.0.jar
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 访问地址
|
|
|
|
|
|
|
|
|
|
|
|
| 服务 | 地址 |
|
|
|
|
|
|
|------|------|
|
|
|
|
|
|
| 应用主页 | http://localhost:8080 |
|
|
|
|
|
|
| Swagger 文档 | http://localhost:8080/swagger-ui/index.html |
|
|
|
|
|
|
| Knife4j 文档 | http://localhost:8080/doc.html |
|
|
|
|
|
|
|
|
|
|
|
|
## 项目结构
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
src/main/java/com/example/demo/
|
|
|
|
|
|
├── DemoApplication.java # 启动类
|
|
|
|
|
|
├── config/
|
|
|
|
|
|
│ └── OpenApiConfig.java # OpenAPI/Knife4j 配置
|
|
|
|
|
|
├── controller/
|
|
|
|
|
|
│ ├── HealthController.java # 健康检查
|
|
|
|
|
|
│ ├── EventController.java # 事件管理接口(EHTG)
|
|
|
|
|
|
│ ├── TaskController.java # 任务生成接口(EHTG)
|
|
|
|
|
|
│ └── SchemeController.java # 任务方案管理接口(TMS)
|
|
|
|
|
|
├── service/
|
|
|
|
|
|
│ ├── EventService.java # 事件处理服务
|
|
|
|
|
|
│ ├── TaskGenerationService.java # 任务生成服务
|
|
|
|
|
|
│ └── SchemeService.java # 任务方案管理服务
|
|
|
|
|
|
├── model/
|
|
|
|
|
|
│ ├── Event.java # 事件实体
|
|
|
|
|
|
│ ├── TaskTemplate.java # 任务模板实体
|
|
|
|
|
|
│ ├── TaskDraft.java # 任务草案实体
|
|
|
|
|
|
│ ├── TaskScheme.java # 任务方案实体
|
|
|
|
|
|
│ ├── enums/
|
|
|
|
|
|
│ │ ├── EventStatus.java # 事件状态枚举
|
|
|
|
|
|
│ │ ├── EventSourceType.java # 事件来源类型枚举
|
|
|
|
|
|
│ │ ├── ThreatLevel.java # 威胁等级枚举
|
|
|
|
|
|
│ │ └── SchemeStatus.java # 方案状态枚举
|
|
|
|
|
|
│ └── dto/
|
|
|
|
|
|
│ ├── EventDTO.java # 事件数据传输对象
|
|
|
|
|
|
│ ├── EventQueryDTO.java # 事件查询参数
|
|
|
|
|
|
│ ├── SchemeCompareDTO.java # 方案对比数据传输对象
|
|
|
|
|
|
│ └── ApiResponse.java # 统一响应封装
|
|
|
|
|
|
└── repository/
|
|
|
|
|
|
├── EventRepository.java # 事件仓储接口(内存实现)
|
|
|
|
|
|
├── TaskTemplateRepository.java # 任务模板仓储接口(内存实现)
|
|
|
|
|
|
├── TaskDraftRepository.java # 任务草案仓储接口(内存实现)
|
|
|
|
|
|
└── SchemeRepository.java # 方案仓储接口(内存实现)
|
|
|
|
|
|
|
|
|
|
|
|
src/test/java/com/example/demo/
|
|
|
|
|
|
├── EventServiceTest.java # 事件服务测试
|
|
|
|
|
|
├── TaskGenerationServiceTest.java # 任务生成服务测试
|
|
|
|
|
|
└── SchemeServiceTest.java # 方案管理服务测试
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## API 概览
|
|
|
|
|
|
|
|
|
|
|
|
### 事件处理模块(EHTG)
|
|
|
|
|
|
| 方法 | 路径 | 说明 |
|
|
|
|
|
|
|------|------|------|
|
|
|
|
|
|
| POST | /api/v1/events | 接收原始事件 |
|
|
|
|
|
|
| GET | /api/v1/events | 查询事件列表 |
|
|
|
|
|
|
| GET | /api/v1/events/{id} | 查询事件详情 |
|
|
|
|
|
|
| PUT | /api/v1/events/{id}/process | 处理事件 |
|
|
|
|
|
|
|
|
|
|
|
|
### 任务生成模块(EHTG)
|
|
|
|
|
|
| 方法 | 路径 | 说明 |
|
|
|
|
|
|
|------|------|------|
|
|
|
|
|
|
| POST | /api/v1/tasks/generate | 基于事件生成任务草案 |
|
|
|
|
|
|
| GET | /api/v1/tasks/drafts | 查询任务草案列表 |
|
|
|
|
|
|
| GET | /api/v1/tasks/drafts/{id} | 查询任务草案详情 |
|
|
|
|
|
|
| POST | /api/v1/tasks/drafts/{id}/retry | 重试发送任务草案 |
|
|
|
|
|
|
|
|
|
|
|
|
### 任务方案管理模块(TMS)
|
|
|
|
|
|
| 方法 | 路径 | 说明 |
|
|
|
|
|
|
|------|------|------|
|
|
|
|
|
|
| GET | /api/v1/schemes | 查询方案列表(支持排序、分页) |
|
|
|
|
|
|
| GET | /api/v1/schemes/{id} | 查询方案详情 |
|
|
|
|
|
|
| POST | /api/v1/schemes/compare | 多方案对比分析 |
|
|
|
|
|
|
| POST | /api/v1/schemes/{id}/reconstruct | 方案重构 |
|
|
|
|
|
|
| POST | /api/v1/schemes/{id}/dispatch | 方案分发 |
|
|
|
|
|
|
| GET | /api/v1/schemes/{id}/execution-status | 查询执行状态 |
|
|
|
|
|
|
|
|
|
|
|
|
## 设计说明
|
|
|
|
|
|
|
|
|
|
|
|
### 当前实现
|
|
|
|
|
|
- **数据层**:采用内存 `ConcurrentHashMap` 存储,所有数据在应用启动时初始化示例数据
|
|
|
|
|
|
- **后续扩展**:预留了 `Repository` 接口层,后续可替换为 MyBatis/JPA 等数据库实现
|
|
|
|
|
|
- **错误处理**:全局统一异常处理,返回标准错误格式
|
|
|
|
|
|
|
|
|
|
|
|
### 对应需求追溯
|
|
|
|
|
|
所有业务方法均通过 Javadoc `@requirement` 标签关联需求,可追溯至软件需求规格说明。
|