From dbf2eb07287e56cc87c3ab7568adf2a1259ea4cd Mon Sep 17 00:00:00 2001
From: Mlxa0324 <mlx950324@163.com>
Date: Mon, 26 Dec 2022 23:11:04 +0800
Subject: [PATCH] =?UTF-8?q?=E9=99=A2=E6=A0=A1=E5=8F=AA=E8=83=BD=E6=9F=A5?=
 =?UTF-8?q?=E7=9C=8B=E8=87=AA=E5=B7=B1=E9=99=A2=E6=A0=A1=E7=9A=84=E6=9C=BA?=
 =?UTF-8?q?=E6=9E=84=E4=BF=A1=E6=81=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../admin/core/service/CorePlatformService.java  | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/admin-core/src/main/java/com/ibeetl/admin/core/service/CorePlatformService.java b/admin-core/src/main/java/com/ibeetl/admin/core/service/CorePlatformService.java
index a40efe4e..c1842a69 100644
--- a/admin-core/src/main/java/com/ibeetl/admin/core/service/CorePlatformService.java
+++ b/admin-core/src/main/java/com/ibeetl/admin/core/service/CorePlatformService.java
@@ -1,5 +1,6 @@
 package com.ibeetl.admin.core.service;
 
+import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.extra.spring.SpringUtil;
 import com.ibeetl.admin.core.dao.*;
 import com.ibeetl.admin.core.entity.*;
@@ -24,6 +25,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
+import java.util.stream.Collectors;
 
 import static com.ibeetl.admin.core.util.servlet.ServletUtils.getRequest;
 
@@ -193,7 +195,19 @@ public class CorePlatformService {
             OrgItem root = self.buildOrg();
             return root;
         }
-        OrgItem current = getCurrentOrgItem();
+
+        // 院校管理员只能查看自己组织下的信息
+        CoreUser currentUser = getCurrentUser();
+        boolean uniAdmin = currentUser.isUniAdmin();
+        OrgItem currentOrgItem = getCurrentOrgItem();
+
+        if (uniAdmin && ObjectUtil.isNotEmpty(currentOrgItem.getChildren())) {
+            List<OrgItem> children = currentOrgItem.getChildren();
+
+            List<OrgItem> collect = children.stream().filter(item -> item.getOrg().getId().equals(currentUser.getOrgId())).collect(Collectors.toList());
+            currentOrgItem.setChildren(collect);
+        }
+        OrgItem current = currentOrgItem;
         OrgItem item= dataAccessFactory.getUserOrgTree(current);
 
         return item;