9.1 KiB
9.1 KiB
RailwaySystem R.2B 落地实现任务拆分指南 (Implementation Task Breakdown)
- 设计版本: R.2A Design Freeze
- 设计日期: 2026-09-15
- 核心目标: 将 R.2B 实现阶段拆解为 10 个粒度适中、依赖严密、支持多工程师并行作业的高效子任务。
1. 任务依赖关系与并行推进路线图
flowchart TD
subgraph Phase1["阶段一: 数据库与权限基础设施 (前置依赖)"]
B1["RBAC-B1: 身份绑定与约束脚本 (004.sql)"]
B2["RBAC-B2: 角色菜单与权限补全脚本 (005.sql)"]
end
subgraph Phase2["阶段二: 独立并行开发 (无直接阻塞)"]
B3["RBAC-B3: 教师自服务后端 API (/train/me/teacher)"]
B4["RBAC-B4: 学员自服务后端 API (/train/me/student)"]
B5["RBAC-B5: 教师工作台前端视图 (Teacher Portal)"]
B6["RBAC-B6: 学员个人中心前端视图 (Student Portal)"]
B7["RBAC-B7: 登录页注册策略改造 (隐藏入口)"]
B8["RBAC-B8: 班牌权限命名空间对齐 (system->train)"]
end
subgraph Phase3["阶段三: 安全联调与全量验收"]
B9["RBAC-B9: 数据范围与 IDOR 安全渗透测试"]
B10["RBAC-B10: 管理端业务无损全量回归 (E2E-R2)"]
end
B1 --> B3
B1 --> B4
B2 --> B3
B2 --> B4
B2 --> B5
B2 --> B6
B3 --> B5
B4 --> B6
B5 --> B9
B6 --> B9
B7 --> B10
B8 --> B10
B9 --> B10
2. 详细任务卡片清单 (RBAC-B1 ~ RBAC-B10)
任务 1: RBAC-B1 - 身份绑定与物理约束脚本 (Identity Binding & DDL) [COMPLETED (Wave 1)]
- 依赖关系: 无前置依赖,首发任务。
- 当前状态: 已完成 (脚本编写完成并通过静态契约测试验证,已就绪待运维发布)
- 交付内容:
RuoYi-Vue/sql/system/kingbase/004_rbac_identity_binding.sql。- 针对
train_teacher(user_id)与train_student(user_id)建立非空部分唯一索引与约束验证块。 RbacPermissionMigrationContractTest验证通过。
- 完成标志: 脚本编写符合 Kingbase 语法,事务与约束验证完备。
任务 2: RBAC-B2 - 角色预置与权限补齐脚本 (Role & Permission Migration) [COMPLETED (Wave 1)]
- 依赖关系: 依赖 B1 完成。
- 当前状态: 已完成 (脚本编写完成并通过静态契约测试验证,已就绪待运维发布)
- 交付内容:
RuoYi-Vue/sql/system/kingbase/005_training_roles_permissions.sql。- 预置
train_admin(3),train_teacher(4),train_student(5) 角色。 - 补齐
sys_menu中基础管理模块缺失的全部按钮级perms行 (2201~2240)。 - 建立角色的初始菜单与功能权限绑定映射及自检验证块。
- 完成标志: 脚本契约测试
testMigration005_RoleAndPermissionScriptContract验证通过。
任务 3: RBAC-B3 - 教师后端自服务体系实现 (Teacher Backend) [COMPLETED (Wave 1)]
- 依赖关系: 依赖 B1, B2。与 B4、B7、B8 可完全并行。
- 当前状态: 已完成
- 交付内容:
- 控制器
TrainTeacherMeController.java(/train/me/teacher/...)。 - 实现获取教师本人画像、任教班级、授课课表、班级学员名册(脱敏)与课次出勤流水。
- 强制校验教师身份与教学班级/课次归属,杜绝跨教师越权 (IDOR)。
TeacherSelfServiceApiTest7 个单测用例全部通过。
- 控制器
- 完成标志: 接口单元测试通过率 100%,越权拦截测试生效。
任务 4: RBAC-B4 - 学员后端自服务体系实现 (Student Backend) [COMPLETED (Wave 1)]
- 依赖关系: 依赖 B1, B2。与 B3、B7、B8 可完全并行。
- 当前状态: 已完成
- 交付内容:
- 控制器
TrainStudentMeController.java(/train/me/student/...)。 - 实现获取学员本人档案、参训班级状态、个人课表、报到凭据、个人考勤、累计学时与多维画像。
- 强制校验本人归属,杜绝任何外部主键传入。
StudentSelfServiceApiTest6 个单测用例全部通过。
- 控制器
- 完成标志: 接口单元测试通过率 100%,敏感信息脱敏合格。
任务 5: RBAC-B5 - 教师工作台前端视图开发 (Teacher Frontend) [COMPLETED (Wave 2)]
- 依赖关系: 依赖 B2 菜单路由与 B3 后端自服务 API。
- 当前状态: 已完成
- 交付内容:
build_ui/src/api/train/meTeacher.js:封装/train/me/teacher/**全套轻量查询 API。build_ui/src/views/train/me/teacher/index.vue:教师自服务工作台,包含个人主档、任教班级列表、授课日历课表、脱敏花名册抽屉与课次考勤查看抽屉,支持 403 业务未绑定友好告警与 Empty State。build_ui/src/views/index.vue:实现角色智能 Landing,教师身份登录自适应直达教师工作台。
- 完成标志: 教师工作台组件与路由完备,构建与静态校验通过。
任务 6: RBAC-B6 - 学员个人培训中心前端开发 (Student Frontend) [COMPLETED (Wave 2)]
- 依赖关系: 依赖 B2 菜单路由与 B4 后端自服务 API。
- 当前状态: 已完成
- 交付内容:
build_ui/src/api/train/meStudent.js:封装/train/me/student/**个人自服务 API(无任何外部 studentId 入参)。build_ui/src/views/train/me/student/index.vue:学员专属培训中心,集成个人档案、参训流转状态条、所在班级日程课表、开班报到回执单卡片、规范考勤流水打卡记录、累计学时统计与 ECharts 多维能力成长雷达图。build_ui/src/views/index.vue:学员身份登录自适应直达学员个人中心。
- 完成标志: 学员工作台各模块渲染与空状态处理严密,构建通过。
任务 7: RBAC-B7 - 登录界面注册入口安全改造 (Login UI Policy) [COMPLETED (Wave 2)]
- 依赖关系: 独立前端改造。
- 当前状态: 已完成
- 交付内容:
- 修改
build_ui/src/views/login.vue,系统标题更新为暂定对外名称“沈阳房建公寓段学员管理系统”。 - 固化
register: false,彻底移除“立即注册”路由跳转链接。 - 增加表单底部居中受控提示:“账号由培训管理部门统一创建与授权维护”。
- 修改
- 完成标志: 登录界面无注册外漏,提示文案清晰企业化。
任务 8: RBAC-B8 - 班牌权限命名空间统一对齐 (Namespace Alignment) [COMPLETED (Wave 1 & 2)]
- 依赖关系: 前后端对齐。
- 当前状态: 已完成
- 交付内容:
- 后端:
TrainElectronicBoardController.java中的权限注解全部收敛统一为train:board:*[COMPLETED (Wave 1)] - 前端:
build_ui/src/views/train/board/index.vue中的 6 处v-hasPermi全部统一为['train:board:*'],彻底消除system:board:*遗留 [COMPLETED (Wave 2)] - 迁移脚本:
005_training_roles_permissions.sql将 2239/2240 提升为二级路由菜单(menu_type='C'),支持若依侧边栏独立挂载与静态契约验证。
- 后端:
- 完成标志: 前后端权限命名空间与菜单路由 100% 对齐。
任务 9: RBAC-B9 - 数据范围与 IDOR 安全渗透自动化测试 (IDOR Gate) [PARTIALLY COMPLETED (Wave 1 后端 IDOR 已通过)]
- 依赖关系: 依赖 B3、B4、B5、B6 联调完成。
- 当前状态:
- 后端 IDOR 单测套件已完成并验证:
RbacIdorSecurityTest: 模拟跨教师越权访问他人学员名册与考勤,跨学员越权探测等,全部被严密拒止。TrainingIdentityServiceTest: 验证身份唯一性与互斥性。
- 端到端渗透验收:保留至三角色前端集成后进行。
- 后端 IDOR 单测套件已完成并验证:
- 完成标志: 后端自动化测试中
IDOR_LEAK_COUNT = 0。
任务 10: RBAC-B10 - 管理端业务全流程无损回归测试 (Admin Regression) [PENDING (Wave 3)]
- 依赖关系: 汇总任务,依赖全部前置任务。
- 任务目标:
- 执行 E2E-R2 验收方案全流程。
- 执行管理端原有 30 个生产核心用例回归测试。
- 完成标志: 管理端核心业务 100% PASS,实现三角色完整 RBAC 闭环。
3. 并行施工调度建议与 Wave 进展
- 系统对外展示名称规范:
- 暂定对外展示名称: 沈阳房建公寓段学员管理系统
- 内部工程名、Git 仓库、Java 包名、数据库名仍严格保持
RailwaySystem,禁止全局非必要替换。
- Wave 1 (已完成并 Checkpoint):
- 后端基础设施与迁移脚本准备:
RBAC-B1,RBAC-B2(完成) - 核心身份服务与自服务后端:
RBAC-B3,RBAC-B4(完成) - 班牌后端权限收敛:
RBAC-B8 (后端)(完成) - 安全与契约单元测试:
RBAC-B9 (后端)(完成,194/194 PASS)
- 后端基础设施与迁移脚本准备:
- Wave 2 (已完成待评审):
- 教师工作台前端视图开发:
RBAC-B5(完成) - 学员个人培训中心前端开发:
RBAC-B6(完成) - 登录入口安全策略改造:
RBAC-B7(完成) - 班牌前端权限指令对齐与菜单提升:
RBAC-B8 (前端 & 005.sql)(完成) - 生产构建与代码规范校验:
npm run build:prod& ESLint 100% 通过 - 后端回归单测验证: 194 / 194 PASS
- 教师工作台前端视图开发:
- Wave 3 (后续推进):
- 三角色端到端联调与 E2E-R2 回归测试:
RBAC-B10
- 三角色端到端联调与 E2E-R2 回归测试: