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 121e905..3740c78 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 @@ -23,6 +23,7 @@ public interface SysMenuMapper extends BaseMapper { public List selectMenuList (SysMenu menu); 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 3b11298..bd33b77 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 @@ -68,6 +68,22 @@ public class SysMenuServiceImpl extends ServiceImpl impl return sysMenus; } + public List selectSysChdMenuList(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; + } + /** * 查询系统菜单列表 * @@ -81,7 +97,15 @@ public class SysMenuServiceImpl extends ServiceImpl impl // 管理员显示所有菜单信息 if (SysUser.isAdmin(userId)) { menuList = menuMapper.selectMenuList(menu); - menuList.addAll(selectSysMenuList(menuList)); + List sysMenus1 = selectSysMenuList(menuList); + if (sysMenus1!=null && sysMenus1.size()!=0){ + menuList.addAll(sysMenus1); + } + List sysMenus = selectSysChdMenuList(menuMapper.selectMenuList(menu)); + if (sysMenus!=null && sysMenus.size()!=0){ + menuList.addAll(sysMenus); + } + } else { menu.getParams().put("userId", userId); menuList = menuMapper.selectMenuListByUserId(menu); 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 bcd87d8..804b232 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 @@ -196,6 +196,17 @@ order by parent_id, order_num + update sys_menu