writeOff/docs/未开发项开发迭代清单V2.md
haomingming 815aa04fe8 first
2026-05-20 18:21:39 +08:00

132 lines
8.6 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.

# 会议核销SaaS 未开发项开发迭代清单 V22026-03
## 一、V2目标与范围
- 目标:基于 `会议核销SaaS系统_技术开发文档.md` 新增 `6.10/7.7/7.8`,完成“字段级口径 + 接口闭环 + 权限矩阵”落地。
- 范围:仅覆盖当前确认缺口,不回滚已完成能力。
- 原则:先补齐 P0 闭环,再推进 P1 增强;所有新增能力必须带审计、权限、测试。
## 二、当前迭代状态V2启动
| 迭代项 | 优先级 | 状态 | 说明 |
|---|---|---|---|
| V2-P0-1 字段级数据字典落库6.10 | P0 | 已完成(待预发验证) | 已新增 `V38__v2a_field_dictionary.sql`,包含加列/新表/索引。 |
| V2-P0-2 接口缺口补齐7.7 | P0 | 已完成后端待QA前端待联调 | 角色、数据权限、审计日志、资料包、会议总结、通知策略补齐。 |
| V2-P0-3 权限矩阵落地7.8 | P0 | 进行中 | 接口三元绑定(`permissionCode/dataScopeType/auditActionCode`)统一治理。 |
| V2-P1-1 发票结构化明细全链路 | P1 | 未开始 | 明细项、附件、汇总、校验规则与财务联动。 |
| V2-P1-2 审核SLA与批量能力增强 | P1 | 未开始 | 催办、批量催办、超时升级、审计回溯增强。 |
## 三、迭代批次规划(建议 3 个 Sprint
- Sprint V2-A本期1.5~2周
- V2-P0-1、V2-P0-2、V2-P0-3 全部完成可提测版本。
- Sprint V2-B下期2周
- V2-P1-1 发票结构化明细 + 财务分类费用打通。
- Sprint V2-C下下期1~1.5周)
- V2-P1-2 审核SLA批量能力增强 + 回归收口。
## 四、第一轮迭代(已启动)
### 4.1 V2-P0-1 字段级数据字典落库6.10
- 范围
- `project``meeting``meeting_material``audit_task``audit_action_log``expert``expert_bank_card``template/template_version``finance_meeting_bill` 字段补齐。
- 新增建议表:`meeting_material_invoice_item``meeting_material_invoice_file``meeting_invoice_summary`
- 后端任务
- 完成实体/DO/DTO 字段扩展与向后兼容映射。
- 对关键写接口补充字段校验(金额单位“分”、比例范围、状态枚举合法性)。
- 当前进展:已完成 `meeting_material` 发票结构化链路、`audit_task` 新字段读写链路SLA/超时/转审扩展)、`meeting/project` 新字段基础映射、`finance_meeting_bill` 读写接口、`expert/template` 新字段映射。
- DB/Flyway任务
- 已完成:`backend/src/main/resources/db/migration/V38__v2a_field_dictionary.sql`(幂等加列 + 新表 + 索引)。
- 待完成:预发执行验证、回填策略脚本(如需)与回滚演练记录。
- 验收标准
- 新增字段不破坏现有接口。
- 发票明细可结构化保存并查询。
- 审核、财务、专家关键字段可检索可追溯。
### 4.2 V2-P0-2 接口缺口补齐7.7
- 范围
- 角色管理、数据权限管理、审计日志查询导出、会议资料包导出、会议总结生成下载、通知策略配置侧。
- 目标接口组(本期必须交付)
- 角色:`GET/POST/PUT /api/roles``POST /api/roles/{id}/enable|disable``POST /api/roles/{id}/permissions`
- 数据权限:`GET/POST/PUT /api/data-scope-policies``POST /api/data-scope-policies/{id}/copy|assign-roles|enable|disable`
- 审计日志:`GET /api/audit-logs``GET/POST /api/audit-logs/export-tasks`
- 会议资料:`POST /api/meetings/{id}/materials/{module}/submit|resubmit``POST /api/meetings/{id}/materials/export`
- 会议总结:`POST /api/meetings/{id}/summary/generate``GET /api/meetings/{id}/summary/download`
- 通知策略配置:`GET/POST/PUT /api/notification-policies``POST /api/notification-policies/{id}/events|enable|disable`
- 验收标准
- 接口文档、权限码、错误码、审计动作码齐全。
- 前端按钮权限与后端接口权限一致。
- 导出/下载能力遵循数据权限范围。
- 当前进展
- 已补齐通知策略配置侧接口:`POST /api/notification-policies/{id}/events|enable|disable`
- 已补齐会议字段配置启停接口:`POST /api/meeting-fields/{id}/enable|disable`
- 已补齐发票抬头配置启停接口与别名路由:`POST /api/invoice-profiles/{id}/enable|disable``/api/invoice-heads`
- 前端系统设置页已接入上述能力:数据权限(复制/启停)、通知策略(绑定事件/启停)、会议字段(启停)、发票抬头(启停)。
- 审计日志页已接入导出任务能力:`GET/POST /api/audit-logs/export-tasks`
- 会议页已接入资料包导出与会议总结入口:资料包导出、总结生成、总结令牌刷新、总结下载。
### 4.3 V2-P0-3 权限矩阵落地7.8
- 范围
- 全量接口补三元绑定:`permissionCode``dataScopeType``auditActionCode`
- 接口发布前增加权限元数据检查门禁。
- 后端任务
- 新增权限元数据校验组件(启动校验 + 单测校验)。
- 统一数据范围枚举:`TENANT/PROJECT/MEETING/MEETING_MODULE/GLOBAL_READONLY`
- 当前进展
- 已完成注解扩展:`@RequirePermission` 支持 `dataScopeType/auditActionCode` 元数据。
- 已新增启动校验门禁组件:`PermissionMetadataGuard`(支持 `writeoff.permission-metadata.strict` 严格模式)。
- 已在核心接口组补齐三元标注:通知策略、会议字段、发票抬头、数据权限、审计日志、会议资料包/会议总结接口。
- 已批量补齐存量控制器三元标注:角色/菜单/用户/租户/企业、模板、专家、审核流/审核任务、财务、导出任务、通知分发、可观测、文件下载等。
- 前端任务
- 按钮权限码与接口权限码同源配置。
- 无权限状态统一“置灰+原因提示”。
- 当前进展
- 已新增前端权限常量单源:`frontend/src/constants/permissions.ts`
- 已完成页面侧 `hasPermission("...")``hasPermission(PERMS.xxx)` 的统一替换(系统设置、审核、财务、模板、专家、导出、通知、可观测等模块)。
- 已补齐主要操作按钮的“无权限置灰 + 原因提示title”展示规范。
- 验收标准
- 缺权限元数据的接口不可发布。
- 越权请求稳定返回统一错误码(`20001/20002`)。
## 五、任务卡(可直接建单)
| 任务ID | 模块 | 任务 | 负责人 | 预计人天 | 状态 | 依赖 |
|---|---|---|---|---:|---|---|
| V2A-DB-01 | 字段落库 | 6.10 加列与新表迁移脚本 | 后端 | 2 | 已完成(待预发验证) | - |
| V2A-BE-01 | 字段落库 | 实体/接口字段扩展与校验 | 后端 | 3 | 已完成待QA | V2A-DB-01 |
| V2A-QA-01 | 字段落库 | 兼容性回归(存量接口) | 测试 | 1.5 | 未开始 | V2A-BE-01 |
| V2A-BE-02 | 接口补齐 | 角色+数据权限+审计日志接口组 | 后端 | 3 | 已完成待QA | - |
| V2A-FE-01 | 接口补齐 | 系统设置页面能力补齐 | 前端 | 3 | 已完成待QA | V2A-BE-02 |
| V2A-BE-03 | 接口补齐 | 会议资料包/会议总结接口组 | 后端 | 2 | 已完成待QA | - |
| V2A-FE-02 | 接口补齐 | 资料包导出与会议总结入口 | 前端 | 2 | 已完成待QA | V2A-BE-03 |
| V2A-BE-04 | 权限矩阵 | 三元绑定校验门禁 | 后端 | 1.5 | 已完成待QA | - |
| V2A-FE-03 | 权限矩阵 | 按钮权限同源配置改造 | 前端 | 1.5 | 已完成待QA | V2A-BE-04 |
| V2A-QA-02 | 全链路 | 权限+审计+导出下载回归 | 测试 | 2 | 未开始 | V2A-FE-01;V2A-FE-02;V2A-FE-03 |
## 六、风险与阻塞位
- 风险1历史数据缺失如旧会议无结构化发票明细导致回填不完整。
- 处理:回填脚本允许空值,前端按“旧数据兼容展示”策略处理。
- 风险2权限码重构影响存量按钮显隐。
- 处理:灰度发布,先日志观测再全量切换。
- 风险3导出/下载接口并发高峰导致任务堆积。
- 处理:复用导出任务中心,增加限流与重试监控。
## 七、统一DoDV2
- 文档OpenAPI 与技术文档同步更新,接口示例可直接联调。
- 数据Flyway 迁移可重复执行,预发演练通过。
- 安全:权限、数据范围、审计动作三链路全部生效。
- 质量:单测覆盖新增校验与状态流转;至少 1 条端到端回归通过。
- 发布:灰度策略、回滚策略、监控告警规则完成配置。
## 八、下一步(默认执行顺序)
- 第1步先完成 `V2A-DB-01` + `V2A-BE-01`,锁定字段口径。
- 第2步并行推进 `V2A-BE-02``V2A-BE-03``V2A-BE-04`
- 第3步前端接入 `V2A-FE-01/02/03`,随后执行 `V2A-QA-01/02`
- 第4步输出 Sprint V2-A 版本说明与上线检查单。