From 300444069180cb53db9ccab9d608f9b3ba0b1a22 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Wed, 15 May 2019 16:07:19 +0800 Subject: [PATCH] =?UTF-8?q?[=E8=8F=9C=E5=8D=95][=E4=BF=AE=E6=94=B9]:?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E4=B8=8D=E6=98=BE=E7=A4=BA=E7=A7=BB=E5=8A=A8?= =?UTF-8?q?=E7=AB=AF=E6=95=B0=E6=8D=AE=E5=A1=94=E5=8F=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/sys/SysMenuController.java | 6 +-- .../service/MallPermissionService.java | 6 +-- .../impl/MallPermissionServiceImpl.java | 39 +++++++++---------- .../controller/sys/SysMenuController.java | 2 +- 4 files changed, 26 insertions(+), 27 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/sys/SysMenuController.java b/mallinkAdmin/src/main/java/com/iformall/controller/sys/SysMenuController.java index e2597e63e..c45a9cc6a 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/sys/SysMenuController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/sys/SysMenuController.java @@ -55,7 +55,7 @@ public class SysMenuController extends BaseController { public ResultData nav(){ logger.debug("[" + getIpAddr() + "] MallPermissionController::nav"); MallUserInfo user = getUser(); - List menuList = mallPermissionService.getUserMenuList(user, 0L); + List menuList = mallPermissionService.getUserMenuList(user, 0L, true); Set permissions = mallUserInfoService.getUserPermissions(user); Map map = new HashMap<>(); map.put("menuList", menuList); @@ -90,7 +90,7 @@ public class SysMenuController extends BaseController { public ResultData getMenuIdsById(Long parentId) { logger.debug("[" + getIpAddr() + "] MallPermissionController::getMenusById"); MallUserInfo user = getUser(); - return new ResultData(Result.SUCCESS, "成功", mallPermissionService.queryUserMenuIds(user, parentId)); + return new ResultData(Result.SUCCESS, "成功", mallPermissionService.queryUserMenuIds(user, parentId, false)); } @ApiOperation("获取父子菜单信息") @@ -100,7 +100,7 @@ public class SysMenuController extends BaseController { public ResultData getMenusById(Long parentId) { logger.debug("[" + getIpAddr() + "] MallPermissionController::getMenusById"); MallUserInfo user = getUser(); - return new ResultData(Result.SUCCESS, "成功", mallPermissionService.getUserMenuList(user, parentId)); + return new ResultData(Result.SUCCESS, "成功", mallPermissionService.getUserMenuList(user, parentId, false)); } } diff --git a/mallinkService/src/main/java/com/iformall/service/MallPermissionService.java b/mallinkService/src/main/java/com/iformall/service/MallPermissionService.java index 59a39688d..c7521dbb9 100644 --- a/mallinkService/src/main/java/com/iformall/service/MallPermissionService.java +++ b/mallinkService/src/main/java/com/iformall/service/MallPermissionService.java @@ -14,7 +14,7 @@ public interface MallPermissionService { * @param menuIdList * @return */ - List queryListParentId(Long parentId, List menuIdList); + List queryListParentId(Long parentId, List menuIdList, boolean boolNav); /** @@ -35,14 +35,14 @@ public interface MallPermissionService { * @param userInfo * @return */ - List getUserMenuList(MallUserInfo userInfo, Long parentId); + List getUserMenuList(MallUserInfo userInfo, Long parentId, boolean boolNav); /** * 用户菜单ID List * @param userInfo * @return */ - List queryUserMenuIds(MallUserInfo userInfo, Long parentId); + List queryUserMenuIds(MallUserInfo userInfo, Long parentId, boolean boolNav); /** * 根据实体查询分页列表 diff --git a/mallinkService/src/main/java/com/iformall/service/impl/MallPermissionServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/MallPermissionServiceImpl.java index e2673d807..01c54a592 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/MallPermissionServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/MallPermissionServiceImpl.java @@ -8,6 +8,7 @@ import com.github.pagehelper.PageInfo; import com.iformall.common.IdWorker; import com.iformall.domain.po.MallPermission; import com.iformall.domain.po.MallUserInfo; +import com.iformall.enums.EnumMenuType; import com.iformall.enums.EnumPermissionType; import com.iformall.enums.EnumUserAdmin; import com.iformall.mapper.MallPermissionMapper; @@ -36,7 +37,7 @@ public class MallPermissionServiceImpl implements MallPermissionService { private WxMallMapper wxMallMapper; @Override - public List queryListParentId(Long parentId, List menuIdList) { + public List queryListParentId(Long parentId, List menuIdList, boolean boolNav) { List menuList = queryListParentId(parentId); if(menuIdList == null){ return menuList; @@ -44,6 +45,11 @@ public class MallPermissionServiceImpl implements MallPermissionService { List userMenuList = new ArrayList<>(); for(MallPermission menu : menuList){ + if(boolNav) { + if(menu.getId().longValue() == (long)EnumMenuType.MOBILE_ADMIN.getCode()) { + continue; + } + } if(menuIdList.contains(menu.getId())){ userMenuList.add(menu); } @@ -70,18 +76,18 @@ public class MallPermissionServiceImpl implements MallPermissionService { } @Override - public List queryUserMenuIds(MallUserInfo userInfo, Long parentId) { + public List queryUserMenuIds(MallUserInfo userInfo, Long parentId, boolean boolNav) { List mpList = new ArrayList(); if(userInfo.isFmSuperAdmin() || userInfo.getIsAdmin().equals(EnumUserAdmin.ADMIN.getCode())) { - List mps = getAllMenuListByParentId(parentId, null); + List mps = getAllMenuListByParentId(parentId, null, boolNav); mps.stream().forEach(mp->{ mpList.add(mp.getId()); }); return mpList; } else { List menuIdList = mallUserInfoMapper.queryAllMenuId(userInfo.getId()); - List mps = getAllMenuListByParentId(parentId, menuIdList); + List mps = getAllMenuListByParentId(parentId, menuIdList, boolNav); mps.stream().forEach(mp->{ mpList.add(mp.getId()); }); @@ -90,38 +96,31 @@ public class MallPermissionServiceImpl implements MallPermissionService { } @Override - public List getUserMenuList(MallUserInfo userInfo, Long parentId) { + public List getUserMenuList(MallUserInfo userInfo, Long parentId, boolean boolNav) { if(userInfo.isFmSuperAdmin()) { // 富茂系统管理员,返回所有菜单 - return getAllMenuListByParentId(parentId, null); + return getAllMenuListByParentId(parentId, null, boolNav); } else if(userInfo.getIsAdmin().equals(EnumUserAdmin.ADMIN.getCode())) { // 租户超管 String menus = wxMallMapper.queryMenusByTenantId(userInfo.getTenantId()); JSONArray menuIdList = JSON.parseArray(menus); - return getAllMenuListByParentId(0L, menuIdList.toJavaList(Long.class)); + return getAllMenuListByParentId(0L, menuIdList.toJavaList(Long.class), boolNav); } else { //用户菜单列表 List menuIdList = mallUserInfoMapper.queryAllMenuId(userInfo.getId()); - return getAllMenuListByParentId(0L, menuIdList); + return getAllMenuListByParentId(0L, menuIdList, boolNav); } } /** * 获取所有菜单列表 */ - private List getAllMenuList(List menuIdList){ - return getAllMenuListByParentId(0L, menuIdList); - } - - /** - * 获取所有菜单列表 - */ - private List getAllMenuListByParentId(Long parentId, List menuIdList){ + private List getAllMenuListByParentId(Long parentId, List menuIdList, boolean boolNav){ //查询根菜单列表 - List menuList = queryListParentId(parentId, menuIdList); + List menuList = queryListParentId(parentId, menuIdList, boolNav); //递归获取子菜单 - getMenuTreeList(menuList, menuIdList); + getMenuTreeList(menuList, menuIdList, boolNav); return menuList; } @@ -129,13 +128,13 @@ public class MallPermissionServiceImpl implements MallPermissionService { /** * 递归 */ - private List getMenuTreeList(List menuList, List menuIdList){ + private List getMenuTreeList(List menuList, List menuIdList, boolean boolNav){ List subMenuList = new ArrayList(); for(MallPermission entity : menuList){ //目录 if(entity.getResourceType().equals(EnumPermissionType.CATALOG.getCode())){ - entity.setChildren(getMenuTreeList(queryListParentId(entity.getId(), menuIdList), menuIdList)); + entity.setChildren(getMenuTreeList(queryListParentId(entity.getId(), menuIdList, boolNav), menuIdList, boolNav)); } subMenuList.add(entity); } diff --git a/mallinkSysAdmin/src/main/java/com/iformall/controller/sys/SysMenuController.java b/mallinkSysAdmin/src/main/java/com/iformall/controller/sys/SysMenuController.java index 99e123e55..ede5d0c89 100644 --- a/mallinkSysAdmin/src/main/java/com/iformall/controller/sys/SysMenuController.java +++ b/mallinkSysAdmin/src/main/java/com/iformall/controller/sys/SysMenuController.java @@ -62,7 +62,7 @@ public class SysMenuController extends BaseController { public ResultData nav(){ logger.debug("[" + getIpAddr() + "] MallPermissionController::nav"); MallUserInfo user = getUser(); - List menuList = mallPermissionService.getUserMenuList(user, 0L); + List menuList = mallPermissionService.getUserMenuList(user, 0L, true); Set permissions = mallUserInfoService.getUserPermissions(user); Map map = new HashMap<>(); map.put("menuList", menuList);