haoge/README.md

138 lines
5.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 战场态势与任务规划系统
## 项目简介
本项目实现战场态势与任务规划系统中**事件处理与任务生成模块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` 标签关联需求,可追溯至软件需求规格说明。