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