haoge/README.md

138 lines
5.0 KiB
Markdown
Raw Normal View History

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` 标签关联需求,可追溯至软件需求规格说明。