feat(spec58): 模块注册表后端与模块硬编码收敛(#60)

- 新增 gxmu/module 包:ModuleRegistry 实体/Mapper/Service,listEnabled 按 sort_number 升序,titleOf 未注册回退 module 原串
- 新增 GET /api/gxmu/module-registry/list(需登录),返回启用模块元数据
- ReviewFlowConfigServiceImpl / ReviewListServiceImpl 的模块名映射改读注册表,查不到回退原串
- DeclareGuardServiceImpl 的模块集合改为注册表驱动,含 enabled=0(停用模块存量仍可撤回/作废)
- 启动期一致性校验:table_name≠module 或业务表缺失即启动失败,gxmu.module-registry.strict=false 可关闭
- 单测 13 例:注册表加载与排序、titleOf 回退、启动校验、module 名回退
This commit is contained in:
2026-11-03 22:29:27 +08:00
parent 1f2a837609
commit 11f0f90f7a
13 changed files with 758 additions and 46 deletions
+5
View File
@@ -204,6 +204,11 @@ gxmu:
timeout-ms: 10000
# 名册外的账号默认拒绝登录,见 ADR-0001:学生须先同步进名册
allow-unknown-user: false
# 模块注册表(spec #58 / ADR 0006):启动期校验注册表 table_name 与 module 一致、
# 且注册表引用的业务表在库里存在,不一致直接启动失败(用户故事 21)。
# strict 默认 true;本地无库启动可临时设为 false 跳过校验。
module-registry:
strict: true
openplat-sync:
enabled: true
# 每天 03:30