From 1dd5d8f8a616f5cf3caa7828d46989c7d3dcafc4 Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Thu, 19 Oct 2023 15:01:43 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jtdev' into jtdev

---
 skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/impl/MenuServiceImpl.java |   21 +++++++++++++++++++--
 1 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/impl/MenuServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/impl/MenuServiceImpl.java
index 689b7e7..13036c9 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/impl/MenuServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/impl/MenuServiceImpl.java
@@ -71,6 +71,10 @@
 		if (Func.isEmpty(Func.toStr(param.get(PARENT_ID)))) {
 			parentId = null;
 		}
+		// 如果不是超级管理员
+		if (!AuthUtil.isAdministrator()){
+			param.put("super",1);
+		}
 		return baseMapper.lazyList(parentId, param);
 	}
 
@@ -146,7 +150,12 @@
 
 	@Override
 	public List<TreeNode> grantTree(BladeUser user) {
-		List<TreeNode> menuTree = user.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID) ? baseMapper.grantTree() : baseMapper.grantTreeByRole(Func.toLongList(user.getRoleId()));
+		Map<String, Object> param = new HashMap<>(1);
+		// 如果不是超级管理员
+		if(!AuthUtil.isAdministrator()){
+			return ForestNodeMerger.merge(tenantPackageTree(baseMapper.grantTreeNew(), user.getTenantId()));
+		}
+		List<TreeNode> menuTree = user.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID) ? baseMapper.grantTree(param) : baseMapper.grantTreeByRole(Func.toLongList(user.getRoleId()));
 		return ForestNodeMerger.merge(tenantPackageTree(menuTree, user.getTenantId()));
 	}
 
@@ -299,7 +308,8 @@
 
 	@Override
 	public List<MenuVO> getAppMenu(String roleId) {
-		return baseMapper.selectAppMenu(roleId);
+		String[] ids = roleId.split(",");
+		return baseMapper.selectAppMenu(ids);
 	}
 
 	@Override
@@ -308,6 +318,8 @@
 		List<MenuVO> routes = routes(roleId, null);
 
 		List<MenuVO> list = routes.stream().filter(r -> Func.equals(r.getAlias(), "web")).collect(Collectors.toList());
+		list.addAll(routes.stream().filter(r -> Func.equals(r.getAlias(), "newWeb")).collect(Collectors.toList()));
+		list.addAll(routes.stream().filter(r -> Func.equals(r.getAlias(), "superWeb")).collect(Collectors.toList()));
 		if (list.size()>0){
 			MenuVO menuVO = list.get(0);
 //			int level = 0;
@@ -319,6 +331,11 @@
 
 	}
 
+	@Override
+	public List<MenuVO> getButtonList(String roleId) {
+		return baseMapper.getButtonList(Func.toLongList(roleId));
+	}
+
 
 	public WebMenuVO buildWebMenuVO(MenuVO menuVO){
 		WebMenuVO webMenuVO = new WebMenuVO();

--
Gitblit v1.9.3