菜单功能修改

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

View File

@@ -16,7 +16,7 @@ import java.util.List;
* @since 2022-12-15
*/
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();
@Select("select * from sys_menu where pid = #{pid}")
@@ -32,6 +32,7 @@ public interface SysMenuMapper extends BaseMapper<SysMenu> {
/**
* 根据id获取权限
*
* @param userId
* @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.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.system.domain.vo.MenuMetaVo;
import org.nl.modules.system.domain.vo.MenuVo;
@@ -30,14 +31,14 @@ import java.util.stream.Collectors;
*/
@Service
@RequiredArgsConstructor
@Slf4j
public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> implements ISysMenuService {
private final SysMenuMapper baseMapper;
@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");
/*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());
}
@@ -83,7 +84,7 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
@Override
public void create(SysMenu resources) {
if (resources.getPid().equals(0L)) {
if (resources.getPid().equals("0")) {
resources.setPid(null);
}
if (resources.getIFrame()) {
@@ -124,7 +125,7 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
throw new BadRequestException("外链必须以http://或者https://开头");
}
}
if (resources.getPid().equals(0L)) {
if (resources.getPid().equals("0")) {
resources.setPid(null);
}