lin
2024-04-12 a50116fdba9f2ed5ff92380db1338243e76ddd5f
系统管理可以查询所有的机构
2 files modified
17 ■■■■■ changed files
src/main/java/org/springblade/common/utils/AuthUtils.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java 9 ●●●●● patch | view | raw | blame | history
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);
    }
}
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) {