Files
yidaima/RuoYi-Vue/docs/superpowers/plans/2026-07-11-project-delivery-readiness-gate.md

50 lines
2.5 KiB
Markdown
Raw 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.

# 项目交付验收摘要与下载门禁 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: 固定交付状态契约
- [x] 添加服务失败测试,覆盖认证通过、预览失败、数据库同步草稿和无源码拒绝。
- [x] 添加 Mapper、Controller 与前端契约失败测试。
- [x] 运行测试确认 RED。
### Task 2: 后端交付摘要与门禁
- [x] 新增最近源码任务 Mapper 查询。
- [x] 新增 `ProjectDeliveryReadiness` DTO 与服务。
- [x] 新增交付摘要 API。
- [x] 下载接口增加 `DRAFT` / `CERTIFIED` 服务端门禁与响应头。
### Task 3: 前端交付验收体验
- [x] 新增交付摘要 API 客户端和验收组件。
- [x] 一键生成工作台加载并刷新交付摘要。
- [x] 根据门禁状态请求草稿或认证产物。
- [x] 项目列表、个人中心和源码预览明确标记草稿下载。
### Task 4: 文档与回归
- [x] 更新路线图 P1-K 完成记录。
- [x] 执行后端聚焦测试和管理端全量测试。
- [x] 执行 EasyCode 主流程测试和生产构建。
- [x] 解析 Mapper、检查差异与开发服务。
## Implementation Result
- 后端新增交付就绪度计算、四项检查摘要和 `DRAFT` / `CERTIFIED` 下载门禁;项目修改后的旧证据不会继续生效。
- 阶段账本非空时只接受最新尝试的 `RUN_PREVIEW`,不会回退旧结果;一键任务本身也必须为 `SUCCEEDED` 才能认证。
- 一键生成工作台根据服务端状态显示“下载验收源码”或“下载源码草稿”,旧下载入口统一显式请求草稿产物。
- 单独重启运行预览不冒充持久化验收证据;预览失败后会提示重新执行一键生成并建立新的证据。
- P1-J/P1-K 后端聚焦测试 32 项、`ruoyi-admin` 42 项、EasyCode 主流程 73 项全部通过EasyCode 生产构建和 Mapper XML 解析通过。