From 3681150010ac500908ab0138ad1800b1c921f9d8 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期四, 27 六月 2024 15:38:36 +0800
Subject: [PATCH] !555 优化用户ID查询角色列表 Merge pull request !555 from AprilWind/dev
---
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