43 lines
16 KiB
JSON
43 lines
16 KiB
JSON
{
|
||
"projectId": 42,
|
||
"generationId": "codegen_80ea1de49b4447fb9537c7ea66bf70e4",
|
||
"language": "java",
|
||
"status": "completed",
|
||
"fileIds": [
|
||
981
|
||
],
|
||
"outputDir": "E:\\pro\\wokspace-ai_agent\\ai-agent-integration\\agents\\ai_agents\\project-files\\codegen-runs\\codegen_80ea1de49b4447fb9537c7ea66bf70e4",
|
||
"relativeOutputDir": "codegen-runs/codegen_80ea1de49b4447fb9537c7ea66bf70e4",
|
||
"generatedFiles": [
|
||
"README.md",
|
||
"events.ndjson",
|
||
"pom.xml",
|
||
"src/main/java/com/example/demo/DemoApplication.java",
|
||
"src/main/java/com/example/demo/config/OpenApiConfig.java",
|
||
"src/main/java/com/example/demo/config/WebConfig.java",
|
||
"src/main/java/com/example/demo/controller/BusinessController.java",
|
||
"src/main/java/com/example/demo/controller/HealthController.java",
|
||
"src/main/java/com/example/demo/model/BusinessItem.java",
|
||
"src/main/java/com/example/demo/model/DistributionLog.java",
|
||
"src/main/java/com/example/demo/model/Event.java",
|
||
"src/main/java/com/example/demo/model/StatusLog.java",
|
||
"src/main/java/com/example/demo/model/TaskPlan.java",
|
||
"src/main/java/com/example/demo/model/TaskTemplate.java",
|
||
"src/main/java/com/example/demo/model/TemplateVersion.java",
|
||
"src/main/java/com/example/demo/repository/EventRepository.java",
|
||
"src/main/java/com/example/demo/repository/TemplateRepository.java",
|
||
"src/main/java/com/example/demo/service/BusinessService.java",
|
||
"src/main/resources/application.yml",
|
||
"src/test/java/com/example/demo/BusinessServiceTest.java"
|
||
],
|
||
"analysisSummary": "### 业务目标 \n1. 实现从战场事件感知到任务生成、执行监控的闭环管理,提升任务规划效率与指挥响应速度。 \n2. 支持人机协同(HITL)与自主执行两种模式下的任务规划与重配置,满足现代战争高动态、快节奏的作战需求。 \n3. 构建基于先验知识库的任务模板管理体系,实现模板的接收、版本控制、可视化展示与智能推荐。 \n4. 实现任务方案向卫星、无人机、雷达等异构作战资产的可靠分发,并实时监控其执行状态。 \n5. 确保系统在国产化软硬件平台上的稳定运行,具备高可靠性、安全性、可维护性与环境适应性。\n\n---\n\n### 功能清单 \n1. **事件接收功能**:监听网络端口或消息队列,接收JSON/XML格式的原始事件数据包,支持断点续传与本地缓存。 \n2. **事件处理功能**:对原始事件进行过滤、时间戳与坐标系转换、封装为标准内部模型,添加元数据并持久化。 \n3. **事件展示功能**:从前端界面展示标准化事件列表,支持排序、分页、刷新及“处理/拒绝”操作。 \n4. **任务生成功能**:允许用户选择一个或多个待处理事件,结合参数配置生成任务草案,调用任务生成算法填充模板。 \n5. **模板管理功能**: \n - 接收上级推送的任务模板集合数据(JSON/XML),解析并增量/全量更新本地存储; \n - 可视化展示模板集合,支持按名称、更新时间、常用度排序; \n - 展示模板详细信息及子任务需求树状结构; \n - 支持人环模式下用户手动选择模板并锁定版本; \n - 支持自主模式下自动匹配最优模板并提示用户确认; \n - 支持先验知识库配置参数调整与合法性验证。 \n6. **计划管理功能**: \n - 集中式计划列表管理,支持基于用户偏好的加权排序; \n - 计划详情可视化展示,HITL节点触发人工干预通知; \n - 计划重配置操作,执行重配置算法并高亮变更部分; \n - 分布式计划聚合管理,构建依赖关系图并运行一致性检查。 \n7. **方案分发功能**:将任务方案通过军用数据链或TCP/UDP协议发送至作战资产,监听ACK响应,更新状态指示灯,失败时支持重发。 \n8. **状态监控功能**:实时接收遥测数据,解析后更新监控看板,异常状态码触发报警,通信中断时标记“数据陈旧”。\n\n---\n\n### 数据结构 \n#### 核心数据库表 \n**1. 事件表(Event)** \n| 字段名称 | 字段代码 | 类型 | 说明 | \n|--------|--------|------|------| \n| 事件ID | event_id | VARCHAR(64) | 唯一标识 | \n| 事件类型 | event_type | VARCHAR(20) | 如临机事件、规划事件 | \n| 发生时间 | occur_time | DATETIME | 事件实际发生时间 | \n| 事件标题 | title | VARCHAR(255) | 简要描述 | \n| 事件描述 | description | TEXT | 详细内容 | \n| 位置坐标 | location | VARCHAR(100) | 经纬度或其他坐标系表示 | \n| 优先级 | priority | INT | 数值越大优先级越高 | \n| 状态 | status | VARCHAR(20) | 如“待处理”、“已拒绝”、“已生成任务” | \n| 创建时间 | create_time | DATETIME | 系统记录时间 |\n\n**2. 任务模板表(TaskTemplate)** \n| 字段名称 | 字段代码 | 类型 | 说明 | \n|--------|--------|------|------| \n| 模板ID | template_id | VARCHAR(64) | 唯一标识 | \n| 模板名称 | name | VARCHAR(100) | 显示名称 | \n| 版本号 | version | VARCHAR(20) | 如v1.2.0 | \n| 内容路径 | content_path | VARCHAR(255) | 指向模板文件的存储路径 | \n| 适用场景 | scenario | VARCHAR(50) | 如侦察、打击、预警 | \n| 是否启用 | enabled | BOOLEAN | 控制是否可用 | \n| 创建时间 | create_time | DATETIME | |\n\n**3. 模板版本表(TemplateVersion)** \n| 字段名称 | 字段代码 | 类型 | 说明 | \n|--------|--------|------|------| \n| ID | id | BIGINT | 主键 | \n| 模板ID | template_id | VARCHAR(64) | 外键关联TaskTemplate | \n| 版本号 | version | VARCHAR(20) | | \n| 发布时间 | release_time | DATETIME | | \n| 过期时间 | expire_time | DATETIME | 可为空 | \n\n**4. 任务计划表(TaskPlan)** \n| 字段名称 | 字段代码 | 类型 | 说明 | \n|--------|--------|------|------| \n| 计划ID | plan_id | VARCHAR(64) | 唯一标识 | \n| 名称 | name | VARCHAR(100) | | \n| 关联事件ID | event_ids | TEXT | 多个ID逗号分隔 | \n| 使用模板ID | template_id | VARCHAR(64) | | \n| 当前状态 | status | VARCHAR(20) | 如“草稿”、“执行中”、“已完成” | \n| 创建时间 | create_time | DATETIME | | \n| 最后修改时间 | update_time | DATETIME | |\n\n**5. 分发日志表(DistributionLog)** \n| 字段名称 | 字段代码 | 类型 | 说明 | \n|--------|--------|------|------| \n| 日志ID | log_id | BIGINT | 主键 | \n| 目标资产 | asset | VARCHAR(50) | 卫星A、无人机B等 | \n| 方案ID | plan_id | VARCHAR(64) | | \n| 发送时间 | send_time | DATETIME | | \n| 状态 | status | VARCHAR(20) | 成功、失败、超时 | \n| 尝试次数 | retry_count | INT | | \n| 错误信息 | error_msg | TEXT | 可为空 | \n\n**6. 状态日志表(StatusLog)** \n| 字段名称 | 字段代码 | 类型 | 说明 | \n|--------|--------|------|------| \n| ID | id | BIGINT | 主键 | \n| 资产ID | asset_id | VARCHAR(50) | | \n| 状态码 | status_code | VARCHAR(20) | 如NORMAL, WARNING, ERROR | \n| 时间戳 | timestamp | DATETIME | | \n| 附加信息 | info | TEXT | 异常详情 | \n\n---\n\n### 接口或命令 \n| 接口标识 | 名称 | 类型 | 通信方式 | 数据格式 | 来源/目标 | 描述 | \n|--------|------|------|----------|------------|------------|--------| \n| SRS-TPS_I_EVT_IN | 事件数据接口 | 输入 | TCP/IP + 自定义应用层协议 | JSON/XML | 上游事件生成模块 → TPS | 实时接收事件,含心跳与断点续传 | \n| SRS-TPS_I_TMP_IN | 模板数据接口 | 输入 | HTTPS + RESTful API | JSON/XML | 上级单位/云服务 → TPS | 批量推送模板,带数字签名验证 | \n| SRS-TPS_O_TASK_OUT | 任务分发接口 | 输出 | 军用数据链 / UDP/TCP | 二进制/JSON | TPS → 作战资产 | 发送任务方案,含ACK确认与重传机制 | \n| SRS-TPS_I_STAT_IN | 状态遥测接口 | 输入 | 军用数据链 / UDP | 二进制 | 作战资产 → TPS | 高频小包遥测,含时间戳与校验和 | \n\n---\n\n### 约束 \n1. **运行环境约束**: \n - 操作系统:银河麒麟V10 SP2及以上; \n - 硬件:国产八核CPU、主频≥2.5GHz、内存≥32GB ECC DDR4、SSD+RAID5存储; \n - 网络:带宽≥100Mbps。 \n2. **数据库约束**:支持达梦DM8或人大金仓KingbaseES,采用主从复制实现高可用。 \n3. **安全约束**: \n - 静态数据使用国密算法加密; \n - 网络传输加密; \n - 基于RBAC的角色权限控制; \n - 用户输入严格校验防注入攻击; \n - 通过国家保密局认证。 \n4. **性能约束**: \n - 事件处理延迟 ≤ 500ms; \n - 事件列表加载时间 ≤ 1秒; \n - 状态监控刷新频率 ≥ 1Hz。 \n5. **部署约束**:支持加固野战指挥所服务器与车载计算平台,具备宽温湿工作能力。 \n6. **维护约束**:支持在线平滑升级,不影响正在执行的任务。 \n\n---\n\n### 测试建议 \n1. **单元测试**: \n - 对每个软件单元提供独立测试接口,重点覆盖事件处理逻辑、模板匹配算法、重配置算法等核心函数。 \n2. **集成测试**: \n - 验证事件接收→处理→展示→任务生成→分发→监控整条链路的数据贯通性; \n - 模拟多源并发事件输入,检验系统稳定性与消息队列处理能力。 \n3. **性能测试**: \n - 使用JMeter/LoadRunner模拟高并发用户访问与大量事件涌入场景; \n - 监控CPU、内存、磁盘IO、网络吞吐量等资源使用情况; \n - 验证长时间运行下的内存泄漏与稳定性表现。 \n4. **异常测试**: \n - 模拟网络中断、数据包损坏、非法输入、模板版本冲突等边界条件; \n - 验证系统的容错、降级运行与恢复能力。 \n5. **安全测试**: \n - 进行SQL注入、XSS攻击模拟,验证输入过滤有效性; \n - 检查会话超时机制与身份认证强度。 \n6. **环境适应性测试**: \n - 在高低温、湿热、振动、强电磁干扰环境下进行功能与稳定性测试,符合GJB 151B标准要求。 \n7. **回归测试**: \n - 每次版本迭代后,执行自动化回归测试套件,确保已有功能不受影响。 \n\n---\n\n### 需求可追踪性明细 \n\n| 需求标识 | 需求名称 | 需求描述 | 来源文档 | 建议实现/验证职责或方法 |\n|--------|--------|--------|--------|--------------------------|\n| SRS-F-01-001 | 接收临机事件和规划事件 | 接收来自上游系统的事件数据包 | XXX-SRS-001《任务规划软件需求规格说明》 | 由SU-01事件接收单元实现,通过`receiveEvent`接口监听端口,对接TCP/IP自定义协议,验证断点续传与缓存机制 |\n| SRS-F-01-002 | 事件数据过滤转化封装 | 对接收到的事件进行过滤、格式转换和标准化封装 | XXX-SRS-001 | 由SU-02事件处理单元实现,通过`processEvent`方法执行过滤与转化逻辑,输出至标准事件模型 |\n| SRS-F-01-003 | 前端展示事件列表 | 在前端界面展示标准化后的事件列表 | XXX-SRS-001 | 由SU-03事件展示单元实现,通过`queryEvents`接口查询数据库,`renderList`渲染HTML/JSON |\n| SRS-F-01-004 | 事件列表排序与操作 | 支持对事件列表进行排序,并提供“处理”“拒绝”等操作按钮 | XXX-SRS-001 | 由SU-03事件展示单元实现,前端支持点击排序,后端通过`updateStatus`接口处理状态变更 |\n| SRS-F-02-001 | 接收待处理事件列表 | 获取当前所有待处理的事件供任务生成使用 | XXX-SRS-001 | 由SU-04任务生成单元实现,通过`getPendingEvents`接口从数据库获取状态为“待处理”的事件 |\n| SRS-F-02-002 | 展示待处理事件列表 | 在任务生成页面展示可选事件列表 | XXX-SRS-001 | 由SU-04任务生成单元实现,前端左侧区域展示多选列表 |\n| SRS-F-02-003 | 待处理事件自定义排序 | 支持用户对事件列表进行自定义排序 | XXX-SRS-001 | 由SU-04任务生成单元实现,在`getPendingEvents`中加入排序参数处理逻辑 |\n| SRS-F-02-004 | 生成作战任务并送交处理 | 用户选择事件后生成任务草案并提交下游处理 | XXX-SRS-001 | 由SU-04任务生成单元实现,调用`generateTask`方法生成草案,通过`submitTask`输出 |\n| SRS-F-03-001 | 任务模板先验知识库版本选择 | 用户可在多个版本中选择有效的模板版本 | XXX-SRS-001 | 由SU-05模板管理单元实现,前端提供版本下拉框,后端查询TemplateVersion表筛选未过期版本 |\n| SRS-F-03-002 | 先验知识库配置调整 | 支持调整模板库相关配置参数并验证合法性 | XXX-SRS-001 | 由SU-05模板管理单元实现,通过`getConfig`读取配置,更新时进行参数校验 |\n| SRS-F-04-001 | 接收推送的任务模板集合数据 | 接收上级推送的模板数据包并更新本地存储 | XXX-SRS-001 | 由SU-05模板管理单元实现,通过`receiveTemplates`接口接收HTTPS请求,解析并比对版本号后更新 |\n| SRS-F-04-002 | 页面可视化展示任务模板集合 | 在前端以网格形式展示所有可用模板 | XXX-SRS-001 | 由SU-05模板管理单元实现,通过`getTemplateList`返回模板列表,前端渲染为卡片视图 |\n| SRS-F-04-003 | 任务模板列表自定义排序 | 支持按常用程度、更新时间或名称排序 | XXX-SRS-001 | 由SU-05模板管理单元实现,在`getTemplateList`中根据排序参数组织返回顺序 |\n| SRS-F-04-004 | 展示任务模板详细信息及子任务需求 | 点击模板可查看其详细内容与子任务结构 | XXX-SRS-001 | 由SU-05模板管理单元实现,前端弹窗递归加载子任务树形结构 |\n| SRS-F-04-005 | 人环模式下用户选择任务模板 | 用户手动选择模板并锁定版本用于任务初始化 | XXX-SRS-001 | 由SU-05模板管理单元实现,通过`selectTemplate`接口记录用户选择,初始化任务实例 |\n| SRS-F-04-006 | 自主执行模式下任务模板自动选择提示 | 系统自动计算适配度最高的模板并提示用户 | XXX-SRS-001 | 由SU-05模板管理单元实现,运行匹配算法选出最高分模板,生成提示消息供用户确认 |\n| SRS-F-05-001 | 集中式计划管理与偏好排序 | 管理集中式计划列表,支持基于权重的排序 | XXX-SRS-001 | 由SU-06计划管理单元实现,通过`sortPlans`接口接收权重参数并重新排序 |\n| SRS-F-05-002 | 计划详情可视化与HITL通知 | 展示计划图谱,当需人工干预时推送通知 | XXX-SRS-001 | 由SU-06计划管理单元实现,检测到HITL节点时调用`notifyHITL`发送通知 |\n| SRS-F-05-003 | 计划重配置操作与可视化 | 支持对计划进行修改并可视化展示变更结果 | XXX-SRS-001 | 由SU-06计划管理单元实现,执行`reconfigurePlan`算法,前端以差异对比方式高亮显示变化 |\n| SRS-F-05-004 | 分布式计划管理与算法处理 | 聚合多源计划,构建依赖图并进行一致性检查 | XXX-SRS-001 | 由SU-06计划管理单元实现,聚合外部计划数据,运行一致性检查算法 |\n| SRS-F-06-001 | 方案驱动分发与状态响应 | 将任务方案分发给作战资产并接收响应状态 | XXX-SRS-001 | 由SU-07方案分发单元实现,通过`distributePlan`发送方案,监听`receiveAck`更新UI状态 |\n| SRS-F-06-002 | 驱动状态监控与异常信息展示 | 实时监控资产状态,异常时报警并展示信息 | XXX-SRS-001 | 由SU-08状态监控单元实现,通过`receiveTelemetry`接收遥测数据,`triggerAlarm`触发报警 |",
|
||
"eventLogFile": "E:\\pro\\wokspace-ai_agent\\ai-agent-integration\\agents\\ai_agents\\project-files\\codegen-runs\\codegen_80ea1de49b4447fb9537c7ea66bf70e4\\events.ndjson",
|
||
"repoSettings": {
|
||
"username": "root",
|
||
"password": "pAssW0rd",
|
||
"repoUrl": "http://47.108.255.216:3000/root/task_plan_execute.git",
|
||
"branch": "main"
|
||
},
|
||
"repoUrl": "http://47.108.255.216:3000/root/task_plan_execute.git",
|
||
"branch": "main"
|
||
} |