diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysMenuMapper.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysMenuMapper.java index c26d3ff..6838fdf 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysMenuMapper.java +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysMenuMapper.java @@ -22,7 +22,8 @@ public interface SysMenuMapper extends BaseMapper { public List selectMenuList (SysMenu menu); - public List selectSyeMenuList(@Param("longs") List longs); + public List selectSysMenuList(@Param("longs") List longs); + public List selectSysChdMenuList(@Param("longs") List longs); /** * 根据用户所有权限 diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysMenuServiceImpl.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysMenuServiceImpl.java index 1406a28..9ff7531 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysMenuServiceImpl.java +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysMenuServiceImpl.java @@ -62,7 +62,7 @@ public class SysMenuServiceImpl extends ServiceImpl impl if (longs.size()==0){ return null; } - List sysMenus = menuMapper.selectSyeMenuList(longs); + List sysMenus = menuMapper.selectSysMenuList(longs); List sysMenus1 = selectSysMenuList(sysMenus); if (sysMenus1 !=null){ @@ -72,6 +72,23 @@ public class SysMenuServiceImpl extends ServiceImpl impl } + public List selectSysChaMenuList(List menuList){ + List longs = menuList.stream() + .map(menu -> menu.getMenuId()) + .toList(); + List sysMenus = menuMapper.selectSysChdMenuList(longs); + if (sysMenus != null && sysMenus.size() !=0){ + List sysMenus1 = selectSysMenuList(sysMenus); + if (sysMenus1 !=null){ + sysMenus.addAll(sysMenus1); + } + }else { + return null; + } + return sysMenus; + } + + /** * 查询系统菜单列表 * @@ -85,14 +102,23 @@ public class SysMenuServiceImpl extends ServiceImpl impl // 管理员显示所有菜单信息 if (SysUser.isAdmin(userId)) { menuList = menuMapper.selectMenuList(menu); - menuList.addAll(selectSysMenuList(menuList)); + List sysMenus = selectSysMenuList(menuList); + if (sysMenus !=null && sysMenus.size() !=0){ + menuList.addAll(sysMenus); + } + List sysMenus1 = selectSysChaMenuList(menuMapper.selectMenuList(menu)); + + if (sysMenus1 !=null && sysMenus1.size() !=0){ + menuList.addAll(sysMenus1); + } } else { menu.getParams().put("userId", userId); menuList = menuMapper.selectMenuListByUserId(menu); } - menuList.stream() + menuList=menuList.stream() .distinct() .toList(); + System.out.println(menuList.stream().toList()); return menuList; } diff --git a/muyu-modules/muyu-system/src/main/resources/mapper/system/SysMenuMapper.xml b/muyu-modules/muyu-system/src/main/resources/mapper/system/SysMenuMapper.xml index c91386d..5afffe2 100644 --- a/muyu-modules/muyu-system/src/main/resources/mapper/system/SysMenuMapper.xml +++ b/muyu-modules/muyu-system/src/main/resources/mapper/system/SysMenuMapper.xml @@ -185,7 +185,7 @@ where menu_name=#{menuName} and parent_id = #{parentId} limit 1 - @@ -199,6 +199,17 @@ order by parent_id,order_num + update sys_menu