You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

19 lines
1.6 KiB

# 03 — 迁移 DictPermissionInitializer + 删除影子实体
**What to build:** 重写 crm-dict 的 `DictPermissionInitializer`——用 1 次 `seedModule` 调用替代影子实体 + 内联逻辑(数据字典菜单 + 10 个 `dict:*` 按钮、绑给 `ROLE_ADMIN`)。加 `@Order(10)`。删除三个影子实体(`SysMenuSeed`、`SysRoleSeed`、`SysRoleMenuSeed`)和对应的三个 Mapper——它们已变为死代码。重写 `DictPermissionInitializerTest` 为 mock `PermissionSeeder` 的单元测试,验证描述符字段,移除 H2 中 `sys_menu`/`sys_role`/`sys_role_menu` 表的 schema 创建。
**Blocked by:** 01 — 创建 PermissionSeeder seam
**Status:** ready-for-agent
- [ ] `DictPermissionInitializer` 注入 `PermissionSeeder`,不再注入 SysMenuSeedMapper / SysRoleSeedMapper / SysRoleMenuSeedMapper
- [ ] `DictPermissionInitializer` 调用 seedModule 1 次:数据字典菜单 + 10 个 dict:* 按钮 + bindToRoleCodes=["ROLE_ADMIN"]
- [ ] `DictPermissionInitializer` 标注 `@Order(10)`
- [ ] `SysMenuSeed`、`SysRoleSeed`、`SysRoleMenuSeed` 三个实体类已删除
- [ ] `SysMenuSeedMapper`、`SysRoleSeedMapper`、`SysRoleMenuSeedMapper` 三个 Mapper 已删除
- [ ] crm-dict 中无任何代码引用 sys_menu / sys_role / sys_role_menu 物理表
- [ ] `DictPermissionInitializerTest` 改为 mock `PermissionSeeder`,验证传入的 PermissionModuleDescriptor 字段(catalogName、menuName、menuPath、buttons 的 perms 列表、bindToRoleCodes)
- [ ] `DictPermissionInitializerTest` 不再创建 H2 的 sys_menu / sys_role / sys_role_menu 表
- [ ] crm-dict 全部测试通过
- [ ] 系统启动后 dict:* 权限点正确种子化