菜单功能修改

This commit is contained in:
ludj
2022-12-16 17:12:51 +08:00
parent 349c5d5f01
commit 40a319fb37
3 changed files with 42 additions and 25 deletions

View File

@@ -19,56 +19,72 @@ import java.util.Set;
*/ */
public interface ISysMenuService extends IService<SysMenu> { public interface ISysMenuService extends IService<SysMenu> {
/** /**
* 查询全部数据,菜单不用分页 * 查询全部数据,菜单不使用分页
* *
* @param param 条件 * @param param 查询条件
* @return / * @return
* @throws Exception /
*/ */
List<MenuDto> queryAll(Map<String, Object> param) throws Exception; List<MenuDto> queryAll(Map<String, Object> param);
/** /**
* 根据ID获取同级与上级数据 * 根据ID获取同级与上级数据
* @param menuDto / *
* @param menus / * @param menuDto 菜单对象
* @param menus
* @return / * @return /
*/ */
List<MenuDto> getSuperior(MenuDto menuDto, List<SysMenu> menus); List<MenuDto> getSuperior(MenuDto menuDto, List<SysMenu> menus);
/** /**
* 根据ID查询 * 根据ID查询 菜单对象
* @param id / *
* @return / * @param id 菜单标识
* @return 菜单对象
*/ */
SysMenu findById(String id); SysMenu findById(String id);
/**
* 根据菜单父节点标识查询菜单列表
*
* @param pid
* @return 菜单列表
*/
List<SysMenu> findByPid(String pid); List<SysMenu> findByPid(String pid);
/**
* 查询父节点为空的菜单列表
*
* @return 菜单列表
*/
List<SysMenu> findByPidIsNull(); List<SysMenu> findByPidIsNull();
/** /**
* 获取所有子节点包含自身ID * 获取所有子节点包含自身ID
* *
* @param menuList / * @param menuList
* @param menuSet / * @param menuSet
* @return / * @return /
*/ */
Set<SysMenu> getChildMenus(List<SysMenu> menuList, Set<SysMenu> menuSet); Set<SysMenu> getChildMenus(List<SysMenu> menuList, Set<SysMenu> menuSet);
/** /**
* 创建 * 创建
* @param menu / *
* @param menu
*/ */
void create(SysMenu menu); void create(SysMenu menu);
/** /**
* 删除 * 删除
* @param menuSet / *
* @param menuSet
*/ */
void delete(Set<SysMenu> menuSet); void delete(Set<SysMenu> menuSet);
/** /**
* 编辑 * 编辑
* @param menu / *
* @param menu
*/ */
void update(SysMenu menu); void update(SysMenu menu);
@@ -78,14 +94,14 @@ public interface ISysMenuService extends IService<SysMenu> {
/** /**
* 构建菜单树 * 构建菜单树
* *
* @param menuDtos / * @param menuDtos
* @return / * @return /
*/ */
List<MenuVo> buildMenus(List<MenuDto> menuDtos); List<MenuVo> buildMenus(List<MenuDto> menuDtos);
/** /**
* 构建菜单树 * 构建菜单树
*
* @param menuDtos 原始数据 * @param menuDtos 原始数据
* @return / * @return /
*/ */
@@ -105,5 +121,4 @@ public interface ISysMenuService extends IService<SysMenu> {
*/ */
MenuDto doToDto(SysMenu sysMenu); MenuDto doToDto(SysMenu sysMenu);
} }

View File

@@ -16,7 +16,7 @@ import java.util.List;
* @since 2022-12-15 * @since 2022-12-15
*/ */
public interface SysMenuMapper extends BaseMapper<SysMenu> { public interface SysMenuMapper extends BaseMapper<SysMenu> {
@Select("select * from sys_menu where pid is null") @Select("select * from sys_menu where (pid is null or pid = '' or pid = 0 )")
List<SysMenu> findByPidIsNull(); List<SysMenu> findByPidIsNull();
@Select("select * from sys_menu where pid = #{pid}") @Select("select * from sys_menu where pid = #{pid}")
@@ -32,6 +32,7 @@ public interface SysMenuMapper extends BaseMapper<SysMenu> {
/** /**
* 根据id获取权限 * 根据id获取权限
*
* @param userId * @param userId
* @return * @return
*/ */

View File

@@ -6,6 +6,7 @@ import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.system.domain.vo.MenuMetaVo; import org.nl.modules.system.domain.vo.MenuMetaVo;
import org.nl.modules.system.domain.vo.MenuVo; import org.nl.modules.system.domain.vo.MenuVo;
@@ -30,14 +31,14 @@ import java.util.stream.Collectors;
*/ */
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
@Slf4j
public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> implements ISysMenuService { public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> implements ISysMenuService {
private final SysMenuMapper baseMapper; private final SysMenuMapper baseMapper;
@Override @Override
public List<MenuDto> queryAll(Map<String, Object> param) throws Exception { public List<MenuDto> queryAll(Map<String, Object> param) {
// 父节点标识
String pid = MapUtil.getStr(param, "pid"); String pid = MapUtil.getStr(param, "pid");
/*List<SysMenu> sysMenus = baseMapper.selectList(null);
List<MenuDto> menus = sysMenus.stream().map(menu -> doToDto(menu)).collect(Collectors.toList());*/
return getMenus(pid).stream().map(menu -> this.doToDto(menu)).collect(Collectors.toList()); return getMenus(pid).stream().map(menu -> this.doToDto(menu)).collect(Collectors.toList());
} }
@@ -83,7 +84,7 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
@Override @Override
public void create(SysMenu resources) { public void create(SysMenu resources) {
if (resources.getPid().equals(0L)) { if (resources.getPid().equals("0")) {
resources.setPid(null); resources.setPid(null);
} }
if (resources.getIFrame()) { if (resources.getIFrame()) {
@@ -124,7 +125,7 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
throw new BadRequestException("外链必须以http://或者https://开头"); throw new BadRequestException("外链必须以http://或者https://开头");
} }
} }
if (resources.getPid().equals(0L)) { if (resources.getPid().equals("0")) {
resources.setPid(null); resources.setPid(null);
} }