From b04b02aa6a6cb50da58c1a7165394252c94f78e9 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Sat, 20 Jan 2024 17:56:13 +0800
Subject: [PATCH] 物业公司人员查询数据过滤

---
 src/main/java/org/springblade/modules/system/service/impl/RoleServiceImpl.java |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/src/main/java/org/springblade/modules/system/service/impl/RoleServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/RoleServiceImpl.java
index dd62abc..8070d36 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/RoleServiceImpl.java
+++ b/src/main/java/org/springblade/modules/system/service/impl/RoleServiceImpl.java
@@ -26,6 +26,7 @@
 import org.springblade.core.tool.constant.BladeConstant;
 import org.springblade.core.tool.constant.RoleConstant;
 import org.springblade.core.tool.node.ForestNodeMerger;
+import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.CollectionUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.modules.system.entity.Role;
@@ -72,13 +73,21 @@
 	@Override
 	public List<RoleVO> tree(String tenantId) {
 		String userRole = AuthUtil.getUserRole();
+		String roleId = AuthUtil.getUser().getRoleId();
 		String excludeRole = null;
 		if (!CollectionUtil.contains(Func.toStrArray(userRole), RoleConstant.ADMIN) && !CollectionUtil.contains(Func.toStrArray(userRole), RoleConstant.ADMINISTRATOR)) {
 			excludeRole = RoleConstant.ADMIN;
 		}
-		return ForestNodeMerger.merge(baseMapper.tree(tenantId, excludeRole));
+		List<RoleVO> merge = ForestNodeMerger.merge(baseMapper.tree(tenantId, excludeRole));
+		List<RoleVO> copy = BeanUtil.copy(merge, RoleVO.class);
+		if (!AuthUtil.isAdministrator()) {
+			List<RoleVO> collect = copy.stream().filter(item -> roleId.contains(item.getId().toString())).collect(Collectors.toList());
+			return collect;
+		}
+		return merge;
 	}
 
+
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public boolean grant(@NotEmpty List<Long> roleIds, List<Long> menuIds, List<Long> dataScopeIds, List<Long> apiScopeIds) {

--
Gitblit v1.9.3