修复超管端菜单错乱 + Knife4j版本兼容
- SysMenuServiceImpl: 超管也按 tenant_menus 过滤菜单(之前返回全部52个菜单导致错乱) - 远程数据库: 超管端 tenant_menus 补全至27条(活动监管8子+数据统计2子+内容管理3子+机构管理+用户中心2子+系统设置5子) - Knife4j 版本 4.5.0→4.4.0(修复 SpringDocConfigProperties bean 找不到) - Flyway 禁用(同事已删除迁移脚本) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
483740f10b
commit
5b5af63f58
@ -22,7 +22,7 @@
|
||||
<mybatis-plus.version>3.5.7</mybatis-plus.version>
|
||||
<druid.version>1.2.23</druid.version>
|
||||
<jjwt.version>0.12.6</jjwt.version>
|
||||
<knife4j.version>4.5.0</knife4j.version>
|
||||
<knife4j.version>4.4.0</knife4j.version>
|
||||
<mapstruct.version>1.5.5.Final</mapstruct.version>
|
||||
<hutool.version>5.8.32</hutool.version>
|
||||
<fastjson2.version>2.0.53</fastjson2.version>
|
||||
|
||||
@ -56,16 +56,26 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||
.eq(SysMenu::getValidState, 1)
|
||||
.orderByAsc(SysMenu::getSort));
|
||||
|
||||
if (isSuperAdmin) {
|
||||
// 超管看到所有菜单
|
||||
return buildTree(allMenus, null);
|
||||
}
|
||||
|
||||
// 获取租户分配的菜单 ID
|
||||
List<SysTenantMenu> tenantMenus = tenantMenuMapper.selectList(
|
||||
new LambdaQueryWrapper<SysTenantMenu>().eq(SysTenantMenu::getTenantId, tenantId));
|
||||
Set<Long> tenantMenuIds = tenantMenus.stream().map(SysTenantMenu::getMenuId).collect(Collectors.toSet());
|
||||
|
||||
if (isSuperAdmin) {
|
||||
// 超管:按租户菜单过滤,但不做权限码过滤
|
||||
List<SysMenu> filteredMenus = allMenus.stream()
|
||||
.filter(menu -> tenantMenuIds.contains(menu.getId()))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
// 补全父菜单
|
||||
Set<Long> filteredIds = filteredMenus.stream().map(SysMenu::getId).collect(Collectors.toSet());
|
||||
for (SysMenu menu : new ArrayList<>(filteredMenus)) {
|
||||
addParentsIfMissing(menu, allMenus, filteredMenus, filteredIds);
|
||||
}
|
||||
|
||||
return buildTree(filteredMenus, null);
|
||||
}
|
||||
|
||||
// 获取用户权限
|
||||
List<String> userPermissions = userMapper.selectPermissionsByUserId(userId);
|
||||
Set<String> permSet = new HashSet<>(userPermissions);
|
||||
|
||||
@ -15,7 +15,7 @@ spring:
|
||||
|
||||
# Flyway 数据库迁移
|
||||
flyway:
|
||||
enabled: true
|
||||
enabled: false
|
||||
locations: classpath:db/migration
|
||||
baseline-on-migrate: true
|
||||
baseline-version: 0
|
||||
@ -47,9 +47,9 @@ jwt:
|
||||
# Knife4j 文档配置
|
||||
springdoc:
|
||||
api-docs:
|
||||
enabled: true
|
||||
enabled: false
|
||||
swagger-ui:
|
||||
enabled: true
|
||||
enabled: false
|
||||
|
||||
knife4j:
|
||||
enable: true
|
||||
|
||||
Loading…
Reference in New Issue
Block a user