diff --git a/src/main/java/com/example/demo/serviceImpl/MenuServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/MenuServiceImpl.java index f64e61f..801ef9d 100644 --- a/src/main/java/com/example/demo/serviceImpl/MenuServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/MenuServiceImpl.java @@ -1,5 +1,6 @@ package com.example.demo.serviceImpl; +import com.example.demo.domain.entity.Role; import com.example.demo.domain.vo.MenuVo; import com.example.demo.domain.vo.Result; import com.example.demo.domain.vo.RoleMenu; @@ -114,8 +115,11 @@ public class MenuServiceImpl implements MenuService { if (roleVo.getRoleName().length() < 2 || roleVo.getRoleName().length() > 20) { return Result.error("角色名长度需在2-20个字符之间"); } - if (roleMapper.selectByRoleName(roleVo.getRoleName()) != null) { - return Result.error("角色名重复"); + Role role = roleMapper.selectByRoleName(roleVo.getRoleName()); + if (role != null) { + if(!role.getId().equals(roleVo.getId())) { + return Result.error("角色名重复"); + } } if(roleVo.getMenuIds() == null||roleVo.getMenuIds().isEmpty()) { return Result.error("角色权限为空");