fe6c07cc4b8c2ef56f3eb76c3068d94693a2182b
build / build-push (push) Failing after 2m2s
1. 父级选中态(组授权 / 角色授权口径统一)
两页 isAppChecked 由「全部子模块都勾选才 true」改为「任一子孙被勾选即 true」,
配合前端样式把 zTree checkbox_true_part 图标指向 checkbox_true_full,
折叠态也能一眼看出「部分授权」,不再依赖视觉很弱的半选。
2. 无子模块应用(如「一周安排」)此前勾选不落库、刷新即失效
- 新增 constant/AppLevelModuleId:用 -appId 作「整应用授权」的 module_id 哨兵。
两套授权表都是 (owner_id, module_id) 唯一键,用 0 会让同组/同角色的第二个
无模块应用撞唯一键;真实模块 id 恒正,负数段天然空闲且权限判定永不命中。
- GroupAuthzService#resolveModuleIds:应用无任何模块时返回 -appId,使「整应用」
授权能落库;findGroupAppsWithModules 按 -appId 回填应用级 checked / inheritFlag。
- AppRoleService:findRoleModuleTree 同口径回填 checked;saveRoleModules 对负数项
跳过模块校验,改为校验应用存在性与角色授权范围(角色授权是全量覆盖,哨兵必须原样落库)。
- GroupAuthzService#buildModuleTree:脏数据兜底——parent_id 指向已删模块导致根节点
全丢时,把全部模块提升为根,避免「有模块的应用」被误判成无模块应用。
涉及前端配套改动见 UserBaseFront 同名提交(GroupAuth.vue / AppModuleCheckTree.vue)。
Description
managed by projman
1.5 MiB
Languages
Java
99.1%
JavaScript
0.6%
Python
0.2%