diff --git a/backend-java/pom.xml b/backend-java/pom.xml index f26012d..b77e5f9 100644 --- a/backend-java/pom.xml +++ b/backend-java/pom.xml @@ -22,7 +22,7 @@ 3.5.7 1.2.23 0.12.6 - 4.5.0 + 4.4.0 1.5.5.Final 5.8.32 2.0.53 diff --git a/backend-java/src/main/java/com/competition/modules/sys/service/impl/SysMenuServiceImpl.java b/backend-java/src/main/java/com/competition/modules/sys/service/impl/SysMenuServiceImpl.java index 4d40d62..a8e51fa 100644 --- a/backend-java/src/main/java/com/competition/modules/sys/service/impl/SysMenuServiceImpl.java +++ b/backend-java/src/main/java/com/competition/modules/sys/service/impl/SysMenuServiceImpl.java @@ -56,16 +56,26 @@ public class SysMenuServiceImpl extends ServiceImpl impl .eq(SysMenu::getValidState, 1) .orderByAsc(SysMenu::getSort)); - if (isSuperAdmin) { - // 超管看到所有菜单 - return buildTree(allMenus, null); - } - // 获取租户分配的菜单 ID List tenantMenus = tenantMenuMapper.selectList( new LambdaQueryWrapper().eq(SysTenantMenu::getTenantId, tenantId)); Set tenantMenuIds = tenantMenus.stream().map(SysTenantMenu::getMenuId).collect(Collectors.toSet()); + if (isSuperAdmin) { + // 超管:按租户菜单过滤,但不做权限码过滤 + List filteredMenus = allMenus.stream() + .filter(menu -> tenantMenuIds.contains(menu.getId())) + .collect(Collectors.toList()); + + // 补全父菜单 + Set 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 userPermissions = userMapper.selectPermissionsByUserId(userId); Set permSet = new HashSet<>(userPermissions); diff --git a/backend-java/src/main/resources/application.yml b/backend-java/src/main/resources/application.yml index 827bae7..f5f9ace 100644 --- a/backend-java/src/main/resources/application.yml +++ b/backend-java/src/main/resources/application.yml @@ -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