2.5 KiB
2.5 KiB
项目交付验收摘要与下载门禁 Implementation Plan
Goal: 区分源码草稿和基础验收产物,让认证下载只能来自可追溯且运行预览通过的生成结果。
Architecture: 新增只读 ProjectDeliveryReadinessService,从项目、最近源码任务、阶段账本和 Generation Run 计算状态;公开下载控制器按产物类型执行门禁,底层生成和运行预览打包保持不变。
Tech Stack: Java 8、Spring MVC、MyBatis、JUnit 4、Vue 3、Element Plus、Node test runner、Vite。
Constraints
- 不新增数据库表或迁移。
- 不把 BASELINE 描述为完整生产质量认证。
- 草稿与认证产物必须使用不同请求类型。
- 不触碰明文开发凭据和 TLS 配置。
Task 1: 固定交付状态契约
- 添加服务失败测试,覆盖认证通过、预览失败、数据库同步草稿和无源码拒绝。
- 添加 Mapper、Controller 与前端契约失败测试。
- 运行测试确认 RED。
Task 2: 后端交付摘要与门禁
- 新增最近源码任务 Mapper 查询。
- 新增
ProjectDeliveryReadinessDTO 与服务。 - 新增交付摘要 API。
- 下载接口增加
DRAFT/CERTIFIED服务端门禁与响应头。
Task 3: 前端交付验收体验
- 新增交付摘要 API 客户端和验收组件。
- 一键生成工作台加载并刷新交付摘要。
- 根据门禁状态请求草稿或认证产物。
- 项目列表、个人中心和源码预览明确标记草稿下载。
Task 4: 文档与回归
- 更新路线图 P1-K 完成记录。
- 执行后端聚焦测试和管理端全量测试。
- 执行 EasyCode 主流程测试和生产构建。
- 解析 Mapper、检查差异与开发服务。
Implementation Result
- 后端新增交付就绪度计算、四项检查摘要和
DRAFT/CERTIFIED下载门禁;项目修改后的旧证据不会继续生效。 - 阶段账本非空时只接受最新尝试的
RUN_PREVIEW,不会回退旧结果;一键任务本身也必须为SUCCEEDED才能认证。 - 一键生成工作台根据服务端状态显示“下载验收源码”或“下载源码草稿”,旧下载入口统一显式请求草稿产物。
- 单独重启运行预览不冒充持久化验收证据;预览失败后会提示重新执行一键生成并建立新的证据。
- P1-J/P1-K 后端聚焦测试 32 项、
ruoyi-admin42 项、EasyCode 主流程 73 项全部通过,EasyCode 生产构建和 Mapper XML 解析通过。