Commit 562119b7 authored by 施翔轲's avatar 施翔轲

修复角色管理:取消授权bug

parent 9fd654c2
...@@ -7,13 +7,9 @@ import cn.hutool.core.util.ObjectUtil; ...@@ -7,13 +7,9 @@ import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Assert;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dsk.common.constant.TenantConstants; import com.dsk.common.constant.TenantConstants;
import com.dsk.system.domain.*;
import com.dsk.system.mapper.*;
import com.dsk.system.service.ISysRoleService;
import com.dsk.common.constant.UserConstants; import com.dsk.common.constant.UserConstants;
import com.dsk.common.core.domain.PageQuery; import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.domain.model.LoginUser; import com.dsk.common.core.domain.model.LoginUser;
...@@ -22,6 +18,9 @@ import com.dsk.common.exception.ServiceException; ...@@ -22,6 +18,9 @@ import com.dsk.common.exception.ServiceException;
import com.dsk.common.helper.LoginHelper; import com.dsk.common.helper.LoginHelper;
import com.dsk.common.utils.StreamUtils; import com.dsk.common.utils.StreamUtils;
import com.dsk.common.utils.StringUtils; import com.dsk.common.utils.StringUtils;
import com.dsk.system.domain.*;
import com.dsk.system.mapper.*;
import com.dsk.system.service.ISysRoleService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -406,8 +405,12 @@ public class SysRoleServiceImpl implements ISysRoleService { ...@@ -406,8 +405,12 @@ public class SysRoleServiceImpl implements ISysRoleService {
*/ */
@Override @Override
public int deleteAuthUser(SysUserRole userRole) { public int deleteAuthUser(SysUserRole userRole) {
//校验企业管理员角色下是否至少有一个账号 Set<String> rolePermission = Objects.requireNonNull(LoginHelper.getLoginUser()).getRolePermission();
checkAdminHasUsers(userRole.getRoleId()); if (rolePermission.contains(TenantConstants.TENANT_SUPER_ADMIN_ROLE_KEY)
|| rolePermission.contains(TenantConstants.TENANT_ADMIN_ROLE_KEY)) {
//校验企业管理员角色下是否至少有一个可用账号
checkAdminHasUsers(userRole.getRoleId());
}
//若该账号仅有一个角色,则不允许取消授权 //若该账号仅有一个角色,则不允许取消授权
SysUser sysUser = userMapper.selectUserById(userRole.getUserId()); SysUser sysUser = userMapper.selectUserById(userRole.getUserId());
...@@ -447,7 +450,7 @@ public class SysRoleServiceImpl implements ISysRoleService { ...@@ -447,7 +450,7 @@ public class SysRoleServiceImpl implements ISysRoleService {
//将缺少角色的账号返回给前端 //将缺少角色的账号返回给前端
if (lackRoleAccount.toString().contains(",")) { if (lackRoleAccount.toString().contains(",")) {
throw new ServiceException(lackRoleAccount.substring(0, lackRoleAccount.length()-1)); throw new ServiceException(lackRoleAccount.substring(0, lackRoleAccount.length() - 1));
} }
//如果取消授权企业管理员角色下所有账号,则抛异常 //如果取消授权企业管理员角色下所有账号,则抛异常
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment