菜单功能修改
This commit is contained in:
@@ -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);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -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
|
||||
*/
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user