菜单优化
parent
3c0f032769
commit
73255242fa
|
@ -22,7 +22,8 @@ public interface SysMenuMapper extends BaseMapper<SysMenu> {
|
||||||
public List<SysMenu> selectMenuList (SysMenu menu);
|
public List<SysMenu> selectMenuList (SysMenu menu);
|
||||||
|
|
||||||
|
|
||||||
public List<SysMenu> selectSyeMenuList(@Param("longs") List<Long> longs);
|
public List<SysMenu> selectSysMenuList(@Param("longs") List<Long> longs);
|
||||||
|
public List<SysMenu> selectSysChdMenuList(@Param("longs") List<Long> longs);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据用户所有权限
|
* 根据用户所有权限
|
||||||
|
|
|
@ -62,7 +62,7 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||||
if (longs.size()==0){
|
if (longs.size()==0){
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
List<SysMenu> sysMenus = menuMapper.selectSyeMenuList(longs);
|
List<SysMenu> sysMenus = menuMapper.selectSysMenuList(longs);
|
||||||
List<SysMenu> sysMenus1 = selectSysMenuList(sysMenus);
|
List<SysMenu> sysMenus1 = selectSysMenuList(sysMenus);
|
||||||
|
|
||||||
if (sysMenus1 !=null){
|
if (sysMenus1 !=null){
|
||||||
|
@ -72,6 +72,23 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public List<SysMenu> selectSysChaMenuList(List<SysMenu> menuList){
|
||||||
|
List<Long> longs = menuList.stream()
|
||||||
|
.map(menu -> menu.getMenuId())
|
||||||
|
.toList();
|
||||||
|
List<SysMenu> sysMenus = menuMapper.selectSysChdMenuList(longs);
|
||||||
|
if (sysMenus != null && sysMenus.size() !=0){
|
||||||
|
List<SysMenu> sysMenus1 = selectSysMenuList(sysMenus);
|
||||||
|
if (sysMenus1 !=null){
|
||||||
|
sysMenus.addAll(sysMenus1);
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return sysMenus;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询系统菜单列表
|
* 查询系统菜单列表
|
||||||
*
|
*
|
||||||
|
@ -85,14 +102,23 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||||
// 管理员显示所有菜单信息
|
// 管理员显示所有菜单信息
|
||||||
if (SysUser.isAdmin(userId)) {
|
if (SysUser.isAdmin(userId)) {
|
||||||
menuList = menuMapper.selectMenuList(menu);
|
menuList = menuMapper.selectMenuList(menu);
|
||||||
menuList.addAll(selectSysMenuList(menuList));
|
List<SysMenu> sysMenus = selectSysMenuList(menuList);
|
||||||
|
if (sysMenus !=null && sysMenus.size() !=0){
|
||||||
|
menuList.addAll(sysMenus);
|
||||||
|
}
|
||||||
|
List<SysMenu> sysMenus1 = selectSysChaMenuList(menuMapper.selectMenuList(menu));
|
||||||
|
|
||||||
|
if (sysMenus1 !=null && sysMenus1.size() !=0){
|
||||||
|
menuList.addAll(sysMenus1);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
menu.getParams().put("userId", userId);
|
menu.getParams().put("userId", userId);
|
||||||
menuList = menuMapper.selectMenuListByUserId(menu);
|
menuList = menuMapper.selectMenuListByUserId(menu);
|
||||||
}
|
}
|
||||||
menuList.stream()
|
menuList=menuList.stream()
|
||||||
.distinct()
|
.distinct()
|
||||||
.toList();
|
.toList();
|
||||||
|
System.out.println(menuList.stream().toList());
|
||||||
return menuList;
|
return menuList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -185,7 +185,7 @@
|
||||||
<include refid="selectMenuVo"/>
|
<include refid="selectMenuVo"/>
|
||||||
where menu_name=#{menuName} and parent_id = #{parentId} limit 1
|
where menu_name=#{menuName} and parent_id = #{parentId} limit 1
|
||||||
</select>
|
</select>
|
||||||
<select id="selectSyeMenuList" resultType="com.muyu.system.domain.SysMenu">
|
<select id="selectSysMenuList" resultType="com.muyu.system.domain.SysMenu">
|
||||||
<include refid="selectMenuVo"/>
|
<include refid="selectMenuVo"/>
|
||||||
|
|
||||||
<where>
|
<where>
|
||||||
|
@ -199,6 +199,17 @@
|
||||||
</where>
|
</where>
|
||||||
order by parent_id,order_num
|
order by parent_id,order_num
|
||||||
</select>
|
</select>
|
||||||
|
<select id="selectSysChdMenuList" resultType="com.muyu.system.domain.SysMenu">
|
||||||
|
<include refid="selectMenuVo"/>
|
||||||
|
<where>
|
||||||
|
parent_id in (
|
||||||
|
<foreach collection="longs" separator="," item="id">
|
||||||
|
#{id}
|
||||||
|
</foreach>
|
||||||
|
)
|
||||||
|
</where>
|
||||||
|
order by parent_id,order_num
|
||||||
|
</select>
|
||||||
|
|
||||||
<update id="updateMenu" parameterType="com.muyu.system.domain.SysMenu">
|
<update id="updateMenu" parameterType="com.muyu.system.domain.SysMenu">
|
||||||
update sys_menu
|
update sys_menu
|
||||||
|
|
Loading…
Reference in New Issue