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

559 lines
27 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 未开发项迭代清单2026-03 最新)
## 一、现状结论
- 已完成:项目/会议/审核/财务主链路、审核流配置化、用户角色增强、数据权限、模板管理(上传/发布/停用/回滚/下载留痕/类型配置)、会议资料六大模块(`BASIC_INFO``WRITE_OFF_DOCS``ONSITE_PHOTO``LABOR_PROTOCOL``INVOICE_DETAIL``EXPERT_PROFILE`)、通知策略中心、可观测性告警中心(含抑制与恢复)。
- 主要缺口通知外部通道真实SDK接入厂商鉴权/模板审核/限流策略)与经营分析报表(多维钻取)。
- 本清单同步维护“状态看板 + 迭代任务”,用于区分已完成、进行中与未开始项。
### 1.1 状态看板2026-03-10
| 模块/任务 | 当前状态 | 说明 |
|---|---|---|
| T1 租户管理C1 | 已完成待QA执行 | 后端接口、前端页面、启停与权限控制已接通;仍需按测试单执行并回填结果。 |
| T2 企业管理C2 | 已完成待QA执行 | 企业主数据与项目引用联动已落地;仍需回填回归结果。 |
| T3 菜单管理C3 | 已完成待QA执行 | 菜单维护、角色绑定、排序与动态加载已落地;仍需补最终回归记录。 |
| T4 代理授权C4 | 已完成待手工QA执行 | 生命周期、鉴权继承、自动化单测与回归模板已完成;手工用例执行结果待回填。 |
| T5 账号有效期C5 | 功能已完成QA未闭环 | 字段迁移、登录/会话拦截、前端展示已实现缺少任务卡级进展与QA执行记录。 |
| P2-5 通知真实SDK接入 | 未开始 | 真实供应商鉴权、模板审核、失败原因标准化仍为主要缺口。 |
| 经营分析报表(多维钻取) | 未开始 | 当前仅有运营看板汇总,未形成报表钻取能力。 |
## 二、P0必须补齐
### P0-1 多租户真实化改造(替换硬编码 tenant_id=1
- 范围
- 租户上下文从登录态注入,业务查询/写入全部走动态 `tenant_id`
- 新增租户管理(平台管理员):创建、启停、查询。
- 后端 API
- `GET /api/tenants`
- `POST /api/tenants`
- `POST /api/tenants/{id}/enable`
- `POST /api/tenants/{id}/disable`
- DDL
- `tenant`(若未创建)
- 业务高频表补充复合索引(`tenant_id + 业务键`
- 验收
- 同一账号跨租户不可见数据。
- 导出/下载/搜索均走租户隔离。
- 人天
- 后端 8d + 前端 2d + 测试 3d = **13d**
### P0-2 审计日志中心(关键动作可检索/导出)
- 范围
- 登录、权限变更、审核动作、支付确认、导出下载等关键操作留痕。
- 支持条件检索与导出。
- 后端 API
- `GET /api/audit-logs`
- `GET /api/audit-logs/export`
- 前端
- 新增“审计日志”页面(筛选、列表、导出)。
- DDL
- `operation_audit_log`(落表 + 索引优化)
- 验收
- 高风险动作 100% 可追溯到人/时间/对象。
- 人天
- 后端 4d + 前端 2d + 测试 2d = **8d**
## 三、P1高优先级业务补齐
### P1-1 会议资料四大模块补齐
- 范围
- 新增模块:`ONSITE_PHOTO``LABOR_PROTOCOL``INVOICE_DETAIL``EXPERT_PROFILE`
- 当前进度:四个新增模块已全部完成(`ONSITE_PHOTO``LABOR_PROTOCOL``INVOICE_DETAIL``EXPERT_PROFILE`)。
- 模块级保存/提交/历史/审核查看对齐现有两模块能力。
- 后端 API
- 复用现有 `/materials/{moduleCode}/save|submit|history|current`
- 扩展模块校验规则与字段结构
- 前端
- 会议资料页补齐四个模块录入与历史对比
- 审核端“查看资料”补齐结构化展示
- DDL
- 复用 `meeting_material` / `meeting_material_history`
- 验收
- 六大资料模块都支持提交前必填校验与历史可追溯。
- 人天
- 后端 5d + 前端 6d + 测试 3d = **14d**
### P1-2 审核管理增强(转审 + SLA + 批量)
- 范围
- 转审、批量催办、SLA 超时升级。
- 当前进度:已完成后端 API、DDL 与前端审核页能力转审弹窗、批量催办、SLA 统计与超时标识)。
- 后端 API
- `POST /api/audits/tasks/{id}/transfer`
- `POST /api/audits/tasks/batch-remind`
- `GET /api/audits/tasks/sla-stat`
- 前端
- 审核页增加转审弹窗、批量催办、SLA 标识
- DDL
- `audit_task``sla_deadline_at``timeout_level`
- `audit_transfer_log`
- 验收
- 超时 4h/12h/24h 升级可见,转审链路有日志。
- 人天
- 后端 4d + 前端 3d + 测试 2d = **9d**
### P1-3 财务对账与锁账
- 范围
- 对账工单、锁账/解锁、差异追踪。
- 当前进度:已完成后端 API、DDL、支付确认拦截锁账与前端财务页对账/锁账记录展示。
- 后端 API
- `POST /api/finance/reconciliation`
- `POST /api/finance/lock`
- `POST /api/finance/unlock`
- `GET /api/finance/reconciliation/list`
- 前端
- 财务页补“对账结果”“锁账状态”“解锁记录”
- DDL
- `finance_reconciliation`
- `finance_lock_log`
- 验收
- 锁账期间禁止关键财务字段写入。
- 人天
- 后端 5d + 前端 3d + 测试 2d = **10d**
### P1-4 模板管理剩余闭环
- 范围
- 归档状态、版本差异追踪、水印下载、流程模板联动(通知模板/结算模板)。
- 当前进度:已完成归档、版本差异追踪、水印下载、流程模板联动(会议推荐/审核通知/结算模板绑定)。
- 后端 API
- `POST /api/templates/{id}/archive`
- `GET /api/templates/{id}/versions/diff`
- `GET /api/templates/{id}/download-watermark`
- 前端
- 模板页补“归档”“版本差异查看”
- 验收
- 已归档模板不可再发布,差异可视化可用。
- 人天
- 后端 3d + 前端 2d + 测试 1d = **6d**
## 四、P2治理与效率
### P2-1 专家(参会人)管理全量能力
- 范围
- 主档案、多卡、去重合并、导入导出、会议快照。
- 当前进度:已完成主档案、多卡、去重合并、导入导出与专家管理页面;会议提交已接入专家快照写入链路。
- 后端 API
- `GET/POST /api/experts`
- `POST /api/experts/{id}/merge`
- `POST /api/experts/import`
- `GET /api/experts/export`
- 前端
- 专家管理页面 + 合并记录 + 银行卡管理
- DDL
- `expert``expert_bank_card``expert_merge_log``meeting_expert_snapshot`
- 验收
- 身份证唯一校验,历史会议读快照。
- 人天
- 后端 8d + 前端 6d + 测试 4d = **18d**
### P2-2 通知策略中心
- 范围
- 事件->渠道->对象可配置,模板变量统一管理。
- 当前进度:已完成策略中心 DDL、后端 `GET/POST/PUT /api/notification-policies` 与前端通知策略页面。
- 后端 API
- `GET/POST/PUT /api/notification-policies`
- 前端
- 通知策略页面
- DDL
- `notification_policy``notification_policy_event`
- 验收
- 策略即时生效,可追溯变更。
- 人天
- 后端 4d + 前端 2d + 测试 2d = **8d**
### P2-3 可观测性与告警
- 范围
- 指标、日志、告警阈值、任务失败告警闭环。
- 当前进度已完成指标埋点API、异步任务、导出与告警规则中心规则配置、手动评估、事件查询、抑制窗口、自动恢复
- 交付
- 指标埋点API、异步任务、导出
- 告警规则5xx、任务积压、超时率
- 验收
- 告警可触发、可恢复、可追踪。
- 人天
- 后端 3d + 运维 2d + 测试 1d = **6d**
### P2-4 补缺闭环(文档对照新增)
- 范围
- 已完成:会议撤回提交(状态机与审计联动)
- 已完成:会议字段管理(字典配置)
- 已完成:发票管理(抬头主数据)
- 已完成:通知执行引擎(任务化发送、重试、回执)
- 已完成:导出任务中心(任务状态、下载安全)
- 已完成:可观测性自动评估与连续恢复判定
- 后端 API建议
- `POST /api/meetings/{id}/withdraw`
- `GET/POST/PUT /api/meeting-fields`
- `GET/POST/PUT /api/invoice-profiles`
- `POST /api/notifications/dispatch`
- `POST /api/notifications/receipts`
- `GET /api/notifications/tasks`
- `GET/POST /api/export-tasks`
- `POST /api/export-tasks/{id}/refresh-token`
- `GET /api/export-tasks/{id}/download`
- `POST /api/observability/alert-rules/evaluate/auto`
- `GET /api/operations/dashboard`
- 验收
- 文档与实现接口 1:1 对齐,新增模块可独立上线并通过回归。
- 人天
- 后端 8d + 前端 6d + 测试 4d = **18d**
### P2-5 深化治理(进行中)
- 范围
- 已完成通知回执标准化消息ID、回执码、回执日志
- 已完成:导出下载鉴权与过期策略(令牌刷新、过期控制、下载计数)
- 已完成运营看板趋势与TOP通知/导出/告警)
- 待完成真实供应商SDK接入与失败原因规范化字典
- 后端 API新增
- `POST /api/notifications/receipts`
- `POST /api/notifications/receipts/webhook`
- `POST /api/export-tasks/{id}/refresh-token`
- `GET /api/export-tasks/{id}/download`
- `GET /api/operations/dashboard`
## 五、建议迭代顺序(接下来 4 个 Sprint
- Sprint E2周P0-1 多租户真实化 + P0-2 审计日志中心
- Sprint F2周P1-1 资料四模块补齐 + P1-2 审核增强
- Sprint G2周P1-3 财务对账锁账 + P1-4 模板闭环
- Sprint H2-3周P2-1 专家管理 + P2-2 通知策略 + P2-3 可观测性
## 六、DoD本清单统一完成标准
- 接口文档:请求/响应/错误码补齐。
- 数据迁移Flyway 脚本可重复执行,预发验证通过。
- 权限校验:菜单权限 + 动作权限 + 数据权限全链路生效。
- 测试:单测 + 关键集成测试 + 最少 1 条回归脚本。
- 留痕:关键动作有审计日志(操作者、对象、前后值、时间)。
## 七、“有概念、无模块化定义”缺口补全(本轮新增)
### C1 租户管理模块化补全(平台级)
- 缺口来源
- 业务文档已有“平台超级管理员可创建/启停单位主体”概念,但缺页面与流程化定义。
- 技术文档“接口实施状态”提到已实现租户能力,但接口清单未显式列出租户分组。
- 页面定义(前端)
- 新增“租户管理”菜单与页面:列表、创建、启用、停用。
- 字段:`tenantCode``tenantName``status``createdAt`
- 后端 API
- `GET /api/tenants`
- `POST /api/tenants`
- `POST /api/tenants/{id}/enable`
- `POST /api/tenants/{id}/disable`
- 数据与约束
- `tenant_code` 唯一,状态仅允许 `ENABLED/DISABLED`
- 启停租户需写入审计日志(动作码建议:`tenant.manage`)。
- 验收
- 平台管理员可在页面完成全流程;无 `tenant.manage` 权限用户不可操作。
- 两份主文档均包含模块、接口、权限点与页面入口说明。
- 人天
- 后端 1d + 前端 1d + 测试 1d = **3d**
### C2 企业管理模块化补全(系统设置)
- 缺口来源
- 业务文档有“企业管理”字段要求,但技术文档无对应模块定义/接口清单。
- 页面定义(前端)
- 列表、详情、创建、编辑、启停(如业务确认需要)。
- 字段企业名称、网址、Logo、状态、更新时间。
- 后端 API建议
- `GET /api/enterprises`
- `POST /api/enterprises`
- `PUT /api/enterprises/{id}`
- `POST /api/enterprises/{id}/enable`
- `POST /api/enterprises/{id}/disable`
- 数据与约束
- 新增 `enterprise` 主表名称唯一Logo 必填校验。
- 项目模块“合作企业”字段改为引用企业主数据。
- 验收
- 项目创建/编辑可引用企业主数据,禁止手填脏数据。
- 企业启停后在项目选择器实时生效。
- 人天
- 后端 3d + 前端 2d + 测试 2d = **7d**
### C3 菜单管理模块化补全(权限可见性)
- 缺口来源
- 业务文档有“菜单管理”概念,技术文档未定义菜单数据模型和权限映射策略。
- 页面定义(前端)
- 菜单列表(树形)、角色菜单绑定、菜单启停与排序。
- 后端 API建议
- `GET /api/menus`
- `POST /api/menus`
- `PUT /api/menus/{id}`
- `POST /api/roles/{id}/menus`
- `GET /api/roles/{id}/menus`
- 数据与约束
- `menu``role_menu` 表;菜单与 `permissionCode` 建立映射。
- 前端“可见性”与后端“动作权限”双校验,禁止只做前端隐藏。
- 验收
- 不同角色登录看到不同菜单树,且后端越权访问仍被拦截。
- 人天
- 后端 4d + 前端 3d + 测试 2d = **9d**
### C4 代理授权模块化补全(用户生命周期)
- 缺口来源
- 业务文档明确要求代理授权生效/失效与留痕,技术文档仅概念提及。
- 页面定义(前端)
- 用户详情新增“代理授权”配置:代理人、生效时间、失效时间、原因。
- 代理记录列表:状态(待生效/生效中/已失效)。
- 后端 API建议
- `POST /api/users/{id}/delegations`
- `GET /api/users/{id}/delegations`
- `POST /api/delegations/{id}/disable`
- 数据与约束
- 新增 `user_delegation` 表,记录授权窗口、状态、创建人与失效原因。
- 审计记录动作码建议:`user.delegation.manage`
- 验收
- 到达失效时间自动失效;代理操作可完整追溯授权链。
- 人天
- 后端 3d + 前端 2d + 测试 2d = **7d**
### C5 账号有效期模块化补全(鉴权拦截)
- 缺口来源
- 业务文档要求账号有效期必填,技术文档缺字段规范与认证拦截定义。
- 页面定义(前端)
- 用户新增/编辑增加“有效期开始/结束”。
- 到期账号列表筛选与状态提示。
- 后端 API建议
- 复用 `POST/PUT /api/users` 增加 `validFrom``validTo` 字段。
- 登录接口增加有效期校验失败错误码返回(建议 `11004`)。
- 数据与约束
- `sys_user` 增加 `valid_from``valid_to`
- 登录、刷新令牌、关键写操作统一做有效期检查。
- 验收
- 过期账号无法登录且返回统一错误码;在有效期内恢复正常。
- 人天
- 后端 2d + 前端 1d + 测试 1d = **4d**
## 八、缺口补全里程碑(建议)
| 里程碑 | Sprint | 交付模块 | 目标结果 |
|---|---|---|---|
| M1 | Sprint I1周 | C1 租户管理、C5 账号有效期 | 平台可创建/启停租户;账号到期拦截口径统一 |
| M2 | Sprint J2周 | C2 企业管理、C4 代理授权 | 企业主数据可维护并被项目引用;代理授权可配置并自动失效 |
| M3 | Sprint K2周 | C3 菜单管理 | 角色菜单树可配置;菜单可见性与动作权限一体化生效 |
| M4 | Sprint L1周 | 文档与验收收口 | 两份主文档与实现清单 1:1 对齐,补齐回归与审计验证 |
### 里程碑验收门槛(统一)
- 接口与页面:每个模块至少 1 条端到端回归脚本通过。
- 权限链路:登录鉴权、动作权限、数据权限、有效期校验全部生效。
- 数据治理Flyway 脚本可重复执行,升级/回滚路径可验证。
- 审计追溯:创建、启停、授权、失效、权限变更全量留痕可检索。
## 九、开发任务卡(可直接排期)
### 9.0 任务状态总览2026-03-10
| 任务 | 状态 | 备注 |
|---|---|---|
| T1 | 已完成待QA执行 | 功能已落地,测试结果待回填。 |
| T2 | 已完成待QA执行 | 功能已落地,测试结果待回填。 |
| T3 | 已完成待QA执行 | 功能已落地,测试结果待回填。 |
| T4 | 已完成待手工QA执行 | 自动化基线已补,手工回归待执行。 |
| T5 | 功能已完成QA未闭环 | 缺任务卡进展说明与回归结果。 |
### T1 租户管理(平台级)
- 目标
- 提供租户列表、创建、启用、停用能力,并纳入统一权限与审计链路。
- 后端任务
- 完成 `TenantController/TenantService` 接口稳定化与参数校验。
- 增加错误码映射:重复租户编码、状态非法、无权限。
- 审计日志接入:`tenant.manage`(创建/启停分动作码)。
- 前端任务
- 新增 `TenantPage`(列表、创建弹窗、启停按钮)。
- 在菜单中增加平台入口(仅具备权限用户可见)。
- 按钮权限:`tenant.manage`
- SQL/Flyway
- 确认 `tenant` 表字段完整:`tenant_code` 唯一、`status`、审计字段。
- 历史数据修复脚本:空 `tenant_code` 回填与唯一约束检查。
- 测试用例
- 正常创建租户、重复编码拦截、启停状态切换、无权限拦截。
- 停用租户下账号登录失败验证。
- DoD
- 页面可操作、接口稳定、日志可检索、回归通过。
- 当前实现进展2026-03-10
- 已完成:租户列表/创建/启停接口与前端页面,菜单入口与 `tenant.manage` 按钮权限控制。
- 已完成Flyway 兼容修复与 `tenant_code` 约束补齐。
- 待完成:按 `TASK-T1-QA-01` 执行手工回归并回填结果。
### T2 企业管理(系统设置)
- 目标
- 企业主数据独立维护,并可在项目模块引用,杜绝手填脏数据。
- 后端任务
- 新增企业 CRUD 与启停接口。
- 项目创建/编辑改为企业 ID 引用校验。
- 约束:企业停用后不可被新增项目引用。
- 前端任务
- 新增企业管理页(列表、详情、创建、编辑、启停)。
- 项目页面“合作企业”改为下拉选择企业主数据。
- SQL/Flyway
- 新增 `enterprise` 表及唯一索引(企业名称/编码按最终口径确定)。
- 项目表增加 `enterprise_id`(若当前为名称存储需迁移脚本)。
- 测试用例
- 企业启停与项目引用联动、重复名称校验、历史项目兼容查询。
- DoD
- 企业数据可维护,项目联动稳定,历史数据可回溯。
- 当前实现进展2026-03-10
- 已完成:企业表迁移、企业 CRUD/启停接口、项目绑定企业引用校验。
- 已完成:企业管理页与项目“合作企业”下拉联动。
- 待完成:按 `TASK-T2-QA-01` 执行联调回归并回填结果。
### T3 菜单管理(角色菜单树)
- 目标
- 菜单可见性可配置,且与动作权限统一治理。
- 后端任务
- 提供菜单树查询、菜单维护、角色菜单绑定接口。
- 校验角色绑定数据合法性(菜单存在、状态可用、层级正确)。
- 前端任务
- 新增菜单管理页(树形、排序、启停、角色绑定)。
- 登录后按角色加载菜单树,未授权菜单不展示。
- SQL/Flyway
- 新增 `menu``role_menu` 表,建立索引(`role_id``menu_id`)。
- 菜单与 `permission_code` 字段对齐。
- 测试用例
- 角色切换后菜单变化、越权接口后端拦截、菜单停用即时生效。
- DoD
- 菜单可配置、权限一致、越权不可达。
- 当前实现进展2026-03-10
- 已完成:菜单管理接口、角色菜单绑定、`permission_code` 对齐与批量排序保存。
- 已完成:前端菜单管理页、角色绑菜单、登录后按权限动态加载菜单。
- 待完成:按 `TASK-T3-QA-01` 执行越权与可见性回归并回填结果。
### T4 代理授权(用户生命周期)
- 目标
- 支持代理授权时间窗配置、自动失效、全链路审计。
- 后端任务
- 提供授权创建/查询/停用接口。
- 增加定时任务:过期授权自动置为失效。
- 鉴权侧接入代理上下文判定(仅在有效窗口内生效)。
- 前端任务
- 用户详情新增代理授权配置与记录列表。
- 显示授权状态(待生效/生效中/已失效/手动停用)。
- SQL/Flyway
- 新增 `user_delegation` 表及状态索引(`status`,`effective_to`)。
- 测试用例
- 授权生效、过期自动失效、手动停用、审计记录完整。
- DoD
- 授权链路可追溯、时间窗行为正确、异常场景可控。
- 当前实现进展2026-03-10
- 已完成:`V37__user_delegation.sql`(表结构+索引+权限种子)、授权创建/查询/停用接口、过期自动失效定时任务、用户页代理授权弹窗(新增/列表/停用)。
- 已完成:鉴权链路代理上下文生效(代理人可在有效窗口内继承被代理人权限),并补充了后端自动化测试覆盖关键路径。
- 已完成:`TASK-T4-QA-01` 回归用例模板与自动化单测基线(代理权限继承、时间窗参数校验)。
- T4-QA 回归执行清单(可直接拷贝到测试单)
| 用例ID | 场景 | 前置条件 | 操作步骤 | 预期结果 | 执行结果 |
|---|---|---|---|---|---|
| T4-QA-001 | 授权立即生效 | 用户A、用户B均启用A具有业务权限B不具备该权限 | 在用户页为A配置代理人B生效时间=当前前,失效时间=未来 | 授权记录状态为`ENABLED`B可访问A对应权限接口 | 待执行 |
| T4-QA-002 | 授权待生效 | 用户A、用户B均启用 | 配置生效时间=未来,失效时间=更未来 | 记录状态为`PENDING`B暂不可继承A权限 | 待执行 |
| T4-QA-003 | 授权自动过期 | 已存在`ENABLED`授权记录,失效时间即将到达 | 等待定时任务窗口(或手工触发任务) | 状态自动切为`EXPIRED`B失去继承权限 | 待执行 |
| T4-QA-004 | 手动停用授权 | 已存在`ENABLED``PENDING`授权记录 | 在代理授权列表点击“停用”并填写原因 | 状态切为`DISABLED`;停用原因可查询 | 待执行 |
| T4-QA-005 | 禁止自代理 | 用户A存在 | 为A创建代理代理人也选择A | 创建失败,返回业务错误“代理人不能与被代理人相同” | 待执行 |
| T4-QA-006 | 非法时间窗拦截 | 用户A、用户B存在 | 创建授权:`effectiveTo <= effectiveFrom` | 创建失败,返回业务错误“失效时间必须晚于生效时间” | 待执行 |
| T4-QA-007 | 权限闭环审计 | 已开启操作审计 | 完成一次“创建授权->停用授权”链路 | 审计日志存在对应 API 调用记录与状态变更痕迹 | 待执行 |
- T4-QA 自动化测试映射(当前已落地)
- `PermissionServiceDelegationTest`:覆盖代理权限继承与权限集合去重。
- `UserDelegationServiceValidationTest`:覆盖自代理拦截、时间窗非法拦截。
### T5 账号有效期(统一鉴权拦截)
- 目标
- 在登录、令牌刷新、关键写操作统一校验账号有效期。
- 后端任务
- `sys_user` 引入 `valid_from/valid_to` 并在认证链路校验。
- 新增错误码(建议 `11004`)与统一错误文案。
- 前端任务
- 用户创建/编辑增加有效期字段及校验。
- 到期状态在用户列表显式标记。
- SQL/Flyway
- `sys_user` 加字段与默认值迁移;历史账号回填策略。
- 测试用例
- 有效期前不可登录、有效期内可登录、过期后自动拦截。
- 关键写接口(非登录)也进行有效期拒绝校验。
- DoD
- 各链路校验一致,错误码统一,回归通过。
- 当前实现进展2026-03-10
- 已完成:`V33__user_account_validity.sql` 字段迁移与历史回填(`valid_from/valid_to`)。
- 已完成:登录与鉴权拦截统一有效期校验,错误码 `11004` 接入前端自动登出处理。
- 已完成:用户页面有效期录入与“已过期”状态展示。
- 待完成:补齐 `TASK-T5-QA-01` 回归执行清单与结果回填。
## 十、Jira/禅道建单模板(可导入)
### 10.1 使用说明
- 建议先创建 5 个 Epic`EPIC-T1`~`EPIC-T5`(对应 T1~T5
- 下面“任务导入表”可直接复制为 CSV逗号分隔导入。
- `依赖` 列用于排期时设置“前置任务”,避免并行冲突。
### 10.2 Epic 列表
| Epic ID | Epic 名称 | 目标 |
|---|---|---|
| EPIC-T1 | 租户管理平台化 | 完成租户创建/启停/审计全链路 |
| EPIC-T2 | 企业管理主数据化 | 企业主数据维护并联动项目引用 |
| EPIC-T3 | 菜单权限一体化 | 菜单树与动作权限统一治理 |
| EPIC-T4 | 代理授权生命周期 | 授权配置、自动失效、可审计 |
| EPIC-T5 | 账号有效期统一校验 | 登录与关键写操作统一拦截 |
### 10.3 任务导入表CSV列头
`IssueKey,Summary,IssueType,EpicLink,OwnerRole,EstimateDays,Priority,DependsOn,AcceptanceCriteria`
`TASK-T1-BE-01,租户管理后端接口与校验,Task,EPIC-T1,后端,1,P0,,实现GET/POST tenants与启停接口并通过单测`
`TASK-T1-FE-01,租户管理前端页面与菜单入口,Task,EPIC-T1,前端,1,P0,TASK-T1-BE-01,完成列表创建启停页面并接通权限控制`
`TASK-T1-QA-01,租户管理联调与回归,Task,EPIC-T1,测试,1,P0,TASK-T1-BE-01;TASK-T1-FE-01,覆盖创建重复编码启停无权限用例`
`TASK-T2-DB-01,企业主数据表设计与迁移脚本,Task,EPIC-T2,后端,1,P1,,新增enterprise表并完成迁移验证`
`TASK-T2-BE-01,企业管理接口与项目引用校验,Task,EPIC-T2,后端,2,P1,TASK-T2-DB-01,实现企业CRUD启停并联动项目引用约束`
`TASK-T2-FE-01,企业管理页面与项目企业下拉,Task,EPIC-T2,前端,2,P1,TASK-T2-BE-01,企业页可维护且项目页改为企业下拉`
`TASK-T2-QA-01,企业管理联调回归,Task,EPIC-T2,测试,2,P1,TASK-T2-BE-01;TASK-T2-FE-01,覆盖启停联动重复名称历史数据兼容`
`TASK-T3-DB-01,菜单与角色菜单关系表迁移,Task,EPIC-T3,后端,1,P1,,新增menu与role_menu并建索引`
`TASK-T3-BE-01,菜单树与角色绑定后端接口,Task,EPIC-T3,后端,2,P1,TASK-T3-DB-01,实现菜单树查询维护与角色绑定接口`
`TASK-T3-FE-01,菜单管理页面与动态菜单加载,Task,EPIC-T3,前端,3,P1,TASK-T3-BE-01,角色切换后菜单可见性正确生效`
`TASK-T3-QA-01,菜单权限回归与越权验证,Task,EPIC-T3,测试,2,P1,TASK-T3-BE-01;TASK-T3-FE-01,覆盖前端可见性与后端越权拦截`
`TASK-T4-DB-01,代理授权表与状态索引迁移,Task,EPIC-T4,后端,1,P1,,新增user_delegation表并通过迁移验证`
`TASK-T4-BE-01,代理授权接口与自动失效任务,Task,EPIC-T4,后端,2,P1,TASK-T4-DB-01,实现授权创建查询停用与过期自动失效`
`TASK-T4-FE-01,用户详情代理授权UI,Task,EPIC-T4,前端,2,P1,TASK-T4-BE-01,支持授权配置与状态展示`
`TASK-T4-QA-01,代理授权链路回归,Task,EPIC-T4,测试,2,P1,TASK-T4-BE-01;TASK-T4-FE-01,覆盖生效过期停用与审计追溯`
`TASK-T5-DB-01,用户有效期字段迁移,Task,EPIC-T5,后端,1,P0,,sys_user新增valid_from与valid_to并回填策略`
`TASK-T5-BE-01,认证链路有效期统一校验,Task,EPIC-T5,后端,1,P0,TASK-T5-DB-01,登录刷新关键写操作统一拦截并返回11004`
`TASK-T5-FE-01,用户有效期表单与状态展示,Task,EPIC-T5,前端,1,P0,TASK-T5-BE-01,新增有效期字段与到期标识展示`
`TASK-T5-QA-01,有效期全链路回归,Task,EPIC-T5,测试,1,P0,TASK-T5-BE-01;TASK-T5-FE-01,覆盖生效前有效期内过期后三段场景`
### 10.4 建议前置依赖图
- `T1``T5` 可并行建议优先完成P0
- `T2` 依赖企业表迁移后再做项目联动。
- `T3` 建议在 `T1/T5` 稳定后推进,避免权限链路改动冲突。
- `T4` 可与 `T2/T3` 并行,但需与鉴权改造保持分支隔离。