|
@@ -101,15 +101,18 @@ public class RoleService extends ServiceImpl<RoleMapper, Role> implements IRoleS
|
|
|
if (roleMapper.updateById(role) == 0) {
|
|
|
return RestResponse.fail(ApiConstants.RESULT_ERROR, "更新角色信息失败");
|
|
|
}
|
|
|
- //删除角色原来关联的菜单信息
|
|
|
- if (roleMenuService.deleteRoleMenu(role.getId()) == 0) {
|
|
|
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
- return RestResponse.fail(ApiConstants.RESULT_ERROR, "更新角色信息失败");
|
|
|
+ int roleMenuCount = roleMenuService.count(new QueryWrapper<RoleMenu>().eq("role_id", role.getId()));
|
|
|
+ if (roleMenuCount > 0) {
|
|
|
+ //删除角色原来关联的菜单信息
|
|
|
+ if (roleMenuService.deleteRoleMenu(role.getId()) == 0) {
|
|
|
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
+ return RestResponse.fail(ApiConstants.RESULT_ERROR, "原有菜单删除失败");
|
|
|
+ }
|
|
|
}
|
|
|
//保存角色关联的新的菜单信息
|
|
|
- if (roleMenuService.saveRoleMenu(role.getId(), roleRequest.getMenuIds())) {
|
|
|
+ if (!roleMenuService.saveRoleMenu(role.getId(), roleRequest.getMenuIds())) {
|
|
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
- return RestResponse.fail(ApiConstants.RESULT_ERROR, "更新角色信息失败");
|
|
|
+ return RestResponse.fail(ApiConstants.RESULT_ERROR, "保存新菜单失败");
|
|
|
}
|
|
|
return RestResponse.success(role, ApiConstants.RESULT_SUCCESS, "更新角色信息成功");
|
|
|
}
|