From f0b4fcbdf053f81d61e14ee5294cd84e1cd661a8 Mon Sep 17 00:00:00 2001 From: AprilWind <2100166581@qq.com> Date: 星期四, 27 六月 2024 15:30:24 +0800 Subject: [PATCH] update 优化用户ID查询角色列表 --- ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysRoleServiceImpl.java | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysRoleServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysRoleServiceImpl.java index 3a0ace0..6c89082 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysRoleServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysRoleServiceImpl.java @@ -37,6 +37,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.*; +import java.util.stream.Collectors; /** * 瑙掕壊 涓氬姟灞傚鐞� @@ -104,12 +105,11 @@ public List<SysRoleVo> selectRolesAuthByUserId(Long userId) { List<SysRoleVo> userRoles = baseMapper.selectRolePermissionByUserId(userId); List<SysRoleVo> roles = selectRoleAll(); + // 浣跨敤HashSet鎻愰珮鏌ユ壘鏁堢巼 + Set<Long> userRoleIds = userRoles.stream().map(SysRoleVo::getRoleId).collect(Collectors.toSet()); for (SysRoleVo role : roles) { - for (SysRoleVo userRole : userRoles) { - if (role.getRoleId().longValue() == userRole.getRoleId().longValue()) { - role.setFlag(true); - break; - } + if (userRoleIds.contains(role.getRoleId())) { + role.setFlag(true); } } return roles; -- Gitblit v1.9.3