fix():修改菜单无法保存
parent
4df7caea12
commit
acb3bca308
|
@ -92,12 +92,11 @@ public class SysMenuController extends BaseController {
|
||||||
@PostMapping
|
@PostMapping
|
||||||
public Result<String> add (@Validated @RequestBody SysMenuAddReq sysMenuAddReq) {
|
public Result<String> add (@Validated @RequestBody SysMenuAddReq sysMenuAddReq) {
|
||||||
SysMenuAddModel sysMenuAddModel = SysMenuAddModel.of(sysMenuAddReq);
|
SysMenuAddModel sysMenuAddModel = SysMenuAddModel.of(sysMenuAddReq);
|
||||||
if (!menuService.checkMenuNameUnique(sysMenuAddModel)) {
|
if (menuService.checkMenuNameUnique(null, sysMenuAddModel.getMenuName())) {
|
||||||
return error("新增菜单'" + sysMenuAddModel.getMenuName() + "'失败,菜单名称已存在");
|
return error("新增菜单'" + sysMenuAddModel.getMenuName() + "'失败,菜单名称已存在");
|
||||||
} else if (UserConstants.YES_FRAME.equals(sysMenuAddModel.getIsFrame()) && !StringUtils.ishttp(sysMenuAddModel.getPath())) {
|
} else if (UserConstants.YES_FRAME.equals(sysMenuAddModel.getIsFrame()) && !StringUtils.ishttp(sysMenuAddModel.getPath())) {
|
||||||
return error("新增菜单'" + sysMenuAddModel.getMenuName() + "'失败,地址必须以http(s)://开头");
|
return error("新增菜单'" + sysMenuAddModel.getMenuName() + "'失败,地址必须以http(s)://开头");
|
||||||
}
|
}
|
||||||
SysMenu menu = SysMenu.buildSysMenu(sysMenuAddReq);
|
|
||||||
menuService.insertMenu(SysMenuAddModel.of(sysMenuAddReq));
|
menuService.insertMenu(SysMenuAddModel.of(sysMenuAddReq));
|
||||||
return Result.success();
|
return Result.success();
|
||||||
}
|
}
|
||||||
|
@ -109,11 +108,11 @@ public class SysMenuController extends BaseController {
|
||||||
@Log(title = "菜单管理", businessType = BusinessType.UPDATE)
|
@Log(title = "菜单管理", businessType = BusinessType.UPDATE)
|
||||||
@PutMapping
|
@PutMapping
|
||||||
public Result<String> edit (@Validated @RequestBody SysMenuUpdReq sysMenuUpdReq) {
|
public Result<String> edit (@Validated @RequestBody SysMenuUpdReq sysMenuUpdReq) {
|
||||||
SysMenuAddModel sysMenuAddModel = SysMenuAddModel.buildSysMenuAddModel(sysMenuUpdReq);
|
SysMenuUpdModel sysMenuUpdModel = SysMenuUpdModel.of(sysMenuUpdReq);
|
||||||
if (!menuService.checkMenuNameUnique(sysMenuAddModel)) {
|
if (menuService.checkMenuNameUnique(sysMenuUpdReq.getMenuId(), sysMenuUpdReq.getMenuName())) {
|
||||||
return error("新增菜单'" + sysMenuAddModel.getMenuName() + "'失败,菜单名称已存在");
|
return error("修改菜单'" + sysMenuUpdModel.getMenuName() + "'失败,菜单名称已存在");
|
||||||
} else if (UserConstants.YES_FRAME.equals(sysMenuAddModel.getIsFrame()) && !StringUtils.ishttp(sysMenuAddModel.getPath())) {
|
} else if (UserConstants.YES_FRAME.equals(sysMenuUpdModel.getIsFrame()) && !StringUtils.ishttp(sysMenuUpdModel.getPath())) {
|
||||||
return error("新增菜单'" + sysMenuAddModel.getMenuName() + "'失败,地址必须以http(s)://开头");
|
return error("修改菜单'" + sysMenuUpdModel.getMenuName() + "'失败,地址必须以http(s)://开头");
|
||||||
}
|
}
|
||||||
menuService.updateMenu(SysMenuUpdModel.of(sysMenuUpdReq));
|
menuService.updateMenu(SysMenuUpdModel.of(sysMenuUpdReq));
|
||||||
return Result.success();
|
return Result.success();
|
||||||
|
|
|
@ -150,10 +150,10 @@ public interface SysMenuService extends IService<SysMenu> {
|
||||||
/**
|
/**
|
||||||
* 校验菜单名称是否唯一
|
* 校验菜单名称是否唯一
|
||||||
*
|
*
|
||||||
* @param sysMenuAddModel 菜单信息
|
* @param menuId 菜单ID
|
||||||
|
* @param menuName 菜单名称
|
||||||
*
|
*
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public boolean checkMenuNameUnique (SysMenuAddModel sysMenuAddModel);
|
boolean checkMenuNameUnique(Long menuId, String menuName);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -345,15 +345,16 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||||
/**
|
/**
|
||||||
* 校验菜单名称是否唯一
|
* 校验菜单名称是否唯一
|
||||||
*
|
*
|
||||||
* @param sysMenuAddModel 菜单信息
|
* @param menuId 菜单ID
|
||||||
|
* @param menuName 菜单名称
|
||||||
*
|
*
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean checkMenuNameUnique (SysMenuAddModel sysMenuAddModel) {
|
public boolean checkMenuNameUnique (Long menuId, String menuName) {
|
||||||
LambdaQueryWrapper<SysMenu> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<SysMenu> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
lambdaQueryWrapper.eq(SysMenu::getMenuName, sysMenuAddModel.getMenuName());
|
lambdaQueryWrapper.eq(SysMenu::getMenuName, menuName);
|
||||||
lambdaQueryWrapper.ne(sysMenuAddModel.getMenuId() != null, SysMenu::getParentId, sysMenuAddModel.getParentId());
|
lambdaQueryWrapper.ne(menuId != null, SysMenu::getParentId, menuId);
|
||||||
if (this.count(lambdaQueryWrapper) > 0) {
|
if (this.count(lambdaQueryWrapper) > 0) {
|
||||||
return UserConstants.NOT_UNIQUE;
|
return UserConstants.NOT_UNIQUE;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue