菜单接口修改

This commit is contained in:
张松 2025-02-17 15:23:41 +08:00
parent 87b896cd1c
commit bd64722905
1 changed files with 15 additions and 0 deletions

View File

@ -66,6 +66,7 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
@Override
public Boolean add(MenuAddDTO menuAddDTO) {
checkExIsis(menuAddDTO.getTitle(), null);
if (menuAddDTO.getType() == 2 && menuAddDTO.getPid() == null) {
throw new ApiNotPrintException("二级菜单必须传递父id");
}
@ -82,6 +83,7 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
@Override
public Boolean edit(MenuEditDTO menuEditDTO) {
checkExIsis(menuEditDTO.getTitle(), menuEditDTO.getId());
SysMenu menu = getById(menuEditDTO.getId());
if (menu == null) {
throw new ApiNotPrintException("菜单不存在");
@ -90,6 +92,19 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
return updateById(menu);
}
private void checkExIsis(String title, Integer id) {
QueryWrapper queryWrapper = new QueryWrapper();
if (id != null) {
queryWrapper.ne(SysMenu::getMenuId, id);
}
queryWrapper.eq(SysMenu::getTitle, title);
long count = count(queryWrapper);
if (count > 0) {
throw new ApiNotPrintException("名称已存在");
}
}
private List<MenuVO> buildMenuTree(List<SysMenu> allMenus) {
List<MenuVO> menuVos = allMenus.stream()
.map(menu -> BeanUtil.copyProperties(menu, MenuVO.class))