diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java index bc32f9d..1d57e83 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java @@ -60,9 +60,11 @@ public class SysMenuServiceImpl extends ServiceImpl impl */ @Override public List selectMenuList (SysMenu menu, Long userId) { + List allMenuList = null; List menuList = null; + boolean isAdmin = SysUser.isAdmin(userId); // 管理员显示所有菜单信息 - if (SysUser.isAdmin(userId)) { + if (isAdmin) { menuList = menuMapper.selectMenuList(menu); } else { menu.getParams().put("userId", userId); @@ -71,8 +73,11 @@ public class SysMenuServiceImpl extends ServiceImpl impl if(menuList.size()==1){ SysMenu sysMenu = menuList.get(0); this.getMenuList(menuList,sysMenu); - List childList = this.getChildList(menuMapper.selectMenuList(null), sysMenu); + SysMenu newMenu = new SysMenu(); + newMenu.setParams(menu.getParams()); + allMenuList=isAdmin?menuMapper.selectMenuList(null):menuMapper.selectMenuListByUserId(newMenu); //找子节点 + List childList = this.getChildList(allMenuList, sysMenu); menuList.addAll(childList); } return menuList;