From a50116fdba9f2ed5ff92380db1338243e76ddd5f Mon Sep 17 00:00:00 2001
From: lin <sbla5888@163.com>
Date: Fri, 12 Apr 2024 09:50:35 +0800
Subject: [PATCH] 系统管理可以查询所有的机构

---
 src/main/java/org/springblade/common/utils/AuthUtils.java                      |    8 ++++++++
 src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java |    9 +++------
 2 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/src/main/java/org/springblade/common/utils/AuthUtils.java b/src/main/java/org/springblade/common/utils/AuthUtils.java
index 7821a60..65c8b4b 100644
--- a/src/main/java/org/springblade/common/utils/AuthUtils.java
+++ b/src/main/java/org/springblade/common/utils/AuthUtils.java
@@ -28,4 +28,12 @@
 	public static boolean isAdmin(String roleName) {
 		return StringUtil.containsAny(roleName, new CharSequence[]{"admin"});
 	}
+
+	/**
+	 * 是否超级或者管理员角色
+	 * @return
+	 */
+	public static boolean isAdministratorOrAdmin(String roleName) {
+		return isAdministrator() || isAdmin(roleName);
+	}
 }
diff --git a/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
index bd17e82..945d82e 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
+++ b/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
@@ -21,9 +21,9 @@
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springblade.common.cache.SysCache;
-import org.springblade.common.node.TreeStringNode;
-import org.springblade.common.utils.SpringUtils;
+import org.springblade.common.utils.AuthUtils;
 import org.springblade.common.utils.NodeTreeUtil;
+import org.springblade.common.utils.SpringUtils;
 import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.constant.BladeConstant;
@@ -44,17 +44,14 @@
 import org.springblade.modules.system.entity.Region;
 import org.springblade.modules.system.mapper.DeptMapper;
 import org.springblade.modules.system.node.DeptUserTreeNode;
-import org.springblade.modules.system.node.TreeNode;
 import org.springblade.modules.system.service.IDeptService;
 import org.springblade.modules.system.service.IRegionService;
-import org.springblade.modules.system.vo.DeptDetailVO;
 import org.springblade.modules.system.vo.DeptVO;
 import org.springblade.modules.system.wrapper.DeptWrapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.Comparator;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -90,7 +87,7 @@
 			parentId = 0L;
 		}
 		// 判断数据权限控制,非超管角色只可看到本级及以下数据
-		if (Func.toLong(parentId) == 0L && !AuthUtil.isAdministrator()) {
+		if (Func.toLong(parentId) == 0L && !AuthUtils.isAdministratorOrAdmin(AuthUtil.getUserRole())) {
 			Long deptId = Func.firstLong(AuthUtil.getDeptId());
 			Dept dept = SysCache.getDept(deptId);
 			if (dept != null && dept.getParentId() != 0) {

--
Gitblit v1.9.3