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.
 
 
 
 
 

1.6 KiB

03 — 迁移 DictPermissionInitializer + 删除影子实体

What to build: 重写 crm-dict 的 DictPermissionInitializer——用 1 次 seedModule 调用替代影子实体 + 内联逻辑(数据字典菜单 + 10 个 dict:* 按钮、绑给 ROLE_ADMIN)。加 @Order(10)。删除三个影子实体(SysMenuSeedSysRoleSeedSysRoleMenuSeed)和对应的三个 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)
  • SysMenuSeedSysRoleSeedSysRoleMenuSeed 三个实体类已删除
  • SysMenuSeedMapperSysRoleSeedMapperSysRoleMenuSeedMapper 三个 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:* 权限点正确种子化