From 8586161442cbe058fae93bfd35a468485b9b505e Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期一, 30 六月 2025 21:15:46 +0800 Subject: [PATCH] bug修改 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java | 45 ++++++++++++++++++++++++--------------------- 1 files changed, 24 insertions(+), 21 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java index a310cf7..b4855e9 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java @@ -1,17 +1,8 @@ package com.ruoyi.system.service.impl; -import java.util.*; -import java.util.stream.Collectors; - import com.ruoyi.common.basic.PageInfo; -import com.ruoyi.common.core.domain.entity.SysMenu; -import com.ruoyi.system.dto.SysRoleDTO; -import com.ruoyi.system.mapper.*; -import com.ruoyi.system.query.SysRoleQuery; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import com.ruoyi.common.constant.UserConstants; +import com.ruoyi.common.core.domain.entity.SysMenu; import com.ruoyi.common.core.domain.entity.SysRole; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.exception.ServiceException; @@ -21,8 +12,16 @@ import com.ruoyi.system.domain.SysRoleDept; import com.ruoyi.system.domain.SysRoleMenu; import com.ruoyi.system.domain.SysUserRole; +import com.ruoyi.system.dto.SysRoleDTO; +import com.ruoyi.system.mapper.*; +import com.ruoyi.system.query.SysRoleQuery; import com.ruoyi.system.service.ISysRoleService; -import org.springframework.util.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import java.util.stream.Collectors; /** * 角色 业务层处理 @@ -517,19 +516,23 @@ public List<SysMenu> getMenuLevelList(List<Long> menusId) { //获取当前的权限菜单 List<SysMenu> all = menuMapper.getAllInIds(menusId); - // 第三级 - List<SysMenu> s3 = all.stream().filter(e -> e.getMenuType().equals("F")).collect(Collectors.toList()); - // 第二级 - List<SysMenu> s2 = all.stream().filter(e -> e.getMenuType().equals("C")).collect(Collectors.toList()); + List<SysMenu> collect4 = all.stream().filter(e -> e.getParentId() != null).collect(Collectors.toList()); // 第一级 List<SysMenu> s1 = all.stream().filter(e -> e.getMenuType().equals("M")).collect(Collectors.toList()); - - for (SysMenu menu : s2) { - List<SysMenu> collect = s3.stream().filter(e -> e.getParentId().equals(menu.getMenuId())).collect(Collectors.toList()); - menu.setChildren(collect); - } for (SysMenu menu : s1) { - List<SysMenu> collect = s2.stream().filter(e -> e.getParentId().equals(menu.getMenuId())).collect(Collectors.toList()); + List<SysMenu> collect = collect4.stream().filter(e -> e.getParentId().equals(menu.getMenuId())).collect(Collectors.toList()); + for (SysMenu sysMenu : collect) { + List<SysMenu> collect1 = collect4.stream().filter(e -> e.getParentId().equals(sysMenu.getMenuId())).collect(Collectors.toList()); + for (SysMenu sysMenu1 : collect1) { + List<SysMenu> collect2 = collect4.stream().filter(e -> e.getParentId().equals(sysMenu1.getMenuId())).collect(Collectors.toList()); + for (SysMenu sysMenu2 : collect2) { + List<SysMenu> collect3 = collect4.stream().filter(e -> e.getParentId().equals(sysMenu2.getMenuId())).collect(Collectors.toList()); + sysMenu2.setChildren(collect3); + } + sysMenu1.setChildren(collect2); + } + sysMenu.setChildren(collect1); + } menu.setChildren(collect); } return s1; -- Gitblit v1.7.1