From a8d11819563fcd3d237f354574ccadb92ccf57e4 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Mon, 15 May 2023 20:15:10 +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 | 49 +++++++++++++++++++++++++++++++++++--------------
1 files changed, 35 insertions(+), 14 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 e3a74a8..557ee51 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()));
}
@@ -308,38 +317,50 @@
List<MenuVO> routes = routes(roleId, null);
List<MenuVO> list = routes.stream().filter(r -> Func.equals(r.getAlias(), "web")).collect(Collectors.toList());
- MenuVO menuVO = list.get(0);
- int level = 0;
- WebMenuVO webMenuVO = buildWebMenuVO(menuVO,level);
- return webMenuVO.getChildren();
+ if (list.size()>0){
+ MenuVO menuVO = list.get(0);
+// int level = 0;
+ WebMenuVO webMenuVO = buildWebMenuVO(menuVO);
+ return webMenuVO.getChildren();
+ }else {
+ return null;
+ }
+
+ }
+
+ @Override
+ public List<MenuVO> getButtonList(String roleId) {
+ return baseMapper.getButtonList(Func.toLongList(roleId));
}
- public WebMenuVO buildWebMenuVO(MenuVO menuVO,int level){
+ public WebMenuVO buildWebMenuVO(MenuVO menuVO){
WebMenuVO webMenuVO = new WebMenuVO();
Meta meta = new Meta();
webMenuVO.setMeta(meta);
- webMenuVO.getMeta().setLevel(level);
- level++;
- final int levelTemp = level;
+ webMenuVO.getMeta().setLevel(menuVO.getLevel());
+// level++;
+// final int levelTemp = level;
//设置基础信息
webMenuVO.setPath(menuVO.getPath());
webMenuVO.setComponent(menuVO.getComponents());
webMenuVO.getMeta().setIcon(menuVO.getIconPath());
webMenuVO.getMeta().setTitle(menuVO.getName());
+ webMenuVO.setComponentPath(menuVO.getComponentPath());
+ if (Func.equals(menuVO.getHasSubMenu(),"1")){
+ webMenuVO.getMeta().setHasSubMenu(true);
+ }else {
+ webMenuVO.getMeta().setHasSubMenu(false);
+ }
if (menuVO.getChildren().size()>0){
//有子菜单
- webMenuVO.getMeta().setHasSubMenu(true);
List<WebMenuVO> list = new ArrayList<>();
menuVO.getChildren().forEach(menu->{
- WebMenuVO webMenuVO1 = buildWebMenuVO(menu,levelTemp);
+ WebMenuVO webMenuVO1 = buildWebMenuVO(menu);
list.add(webMenuVO1);
});
webMenuVO.setChildren(list);
- }else {
- //无子菜单
- webMenuVO.getMeta().setHasSubMenu(false);
}
return webMenuVO;
--
Gitblit v1.9.3