feat:(feature/REQ-2750) 清洗超管角色,修改超管用户查询和创建接口
This commit is contained in:
parent
dbf46f8d5b
commit
1c2c1a1c86
@ -31,6 +31,7 @@ public class TyrServerDevApplication {
|
||||
System.setProperty("spring.redis.host","172.16.2.23");
|
||||
System.setProperty("xxl.job.admin.addresses","http://dev-xxl-job.axzo.cn/xxl-job-admin");
|
||||
System.setProperty("rocketmq.name-server", "172.16.2.82:9876");
|
||||
System.setProperty("spring.datasource.url", "jdbc:mysql://172.16.2.171:3306/pudge?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=true&verifyServerCertificate=false&rewriteBatchedStatements=true");
|
||||
SpringApplication application = new SpringApplication(TyrServerDevApplication.class);
|
||||
ApplicationContext applicationContext = application.run(args);
|
||||
Environment env = applicationContext.getEnvironment();
|
||||
|
||||
@ -11,6 +11,7 @@ import cn.axzo.pokonyan.config.mybatisplus.BaseEntity;
|
||||
import cn.axzo.tyr.client.common.enums.FeatureResourceType;
|
||||
import cn.axzo.tyr.client.common.enums.PageElementFeatureResourceRelationTypeEnum;
|
||||
import cn.axzo.tyr.client.common.enums.RoleTypeEnum;
|
||||
import cn.axzo.tyr.client.model.enums.DictWorkSpaceTypeEnum;
|
||||
import cn.axzo.tyr.client.model.product.ProductSearchListReq;
|
||||
import cn.axzo.tyr.client.model.req.CommonDictQueryReq;
|
||||
import cn.axzo.tyr.client.model.req.GetFeatureResourceTreeReq;
|
||||
@ -26,6 +27,7 @@ import cn.axzo.tyr.client.model.res.FeatureResourceDTO;
|
||||
import cn.axzo.tyr.client.model.res.FeatureResourceTreeNode;
|
||||
import cn.axzo.tyr.client.model.res.SaasRoleGroupDTO;
|
||||
import cn.axzo.tyr.client.model.res.SaasRoleRes;
|
||||
import cn.axzo.tyr.client.model.roleuser.dto.SaasRoleUserV2DTO;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.ListRoleUserRelationParam;
|
||||
import cn.axzo.tyr.client.model.vo.SaasRoleGroupVO;
|
||||
import cn.axzo.tyr.client.model.vo.SaveOrUpdateRoleVO;
|
||||
@ -49,6 +51,7 @@ import cn.axzo.tyr.server.repository.dao.SaasPgroupRoleRelationDao;
|
||||
import cn.axzo.tyr.server.repository.dao.SaasRoleDao;
|
||||
import cn.axzo.tyr.server.repository.dao.SaasRoleGroupDao;
|
||||
import cn.axzo.tyr.server.repository.dao.SaasRoleGroupRelationDao;
|
||||
import cn.axzo.tyr.server.repository.dao.SaasRoleUserRelationDao;
|
||||
import cn.axzo.tyr.server.repository.entity.SaasFeature;
|
||||
import cn.axzo.tyr.server.repository.entity.SaasFeatureResource;
|
||||
import cn.axzo.tyr.server.repository.entity.SaasPageElement;
|
||||
@ -59,6 +62,7 @@ import cn.axzo.tyr.server.repository.entity.SaasProductModuleFeatureRelation;
|
||||
import cn.axzo.tyr.server.repository.entity.SaasRole;
|
||||
import cn.axzo.tyr.server.repository.entity.SaasRoleGroup;
|
||||
import cn.axzo.tyr.server.repository.entity.SaasRoleGroupRelation;
|
||||
import cn.axzo.tyr.server.repository.entity.SaasRoleUserRelation;
|
||||
import cn.axzo.tyr.server.service.ProductFeatureRelationService;
|
||||
import cn.axzo.tyr.server.service.ProductPermissionCacheService;
|
||||
import cn.axzo.tyr.server.service.ProductSaasFeatureResourceCacheService;
|
||||
@ -68,6 +72,7 @@ import cn.axzo.tyr.server.service.RoleService;
|
||||
import cn.axzo.tyr.server.service.SaasCommonDictService;
|
||||
import cn.axzo.tyr.server.service.SaasFeatureResourceService;
|
||||
import cn.axzo.tyr.server.service.SaasPgroupPermissionRelationService;
|
||||
import cn.axzo.tyr.server.service.SaasRoleGroupRelationService;
|
||||
import cn.axzo.tyr.server.service.SaasRoleGroupService;
|
||||
import cn.axzo.tyr.server.service.SaasRoleUserRelationService;
|
||||
import cn.axzo.tyr.server.service.TyrSaasAuthService;
|
||||
@ -103,6 +108,7 @@ import java.io.IOException;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
@ -184,6 +190,10 @@ public class PrivateController {
|
||||
private RoleSaasFeatureResourceCacheService roleSaasFeatureResourceCacheService;
|
||||
@Autowired
|
||||
private SendDingTalkHandler sendDingTalkHandler;
|
||||
@Autowired
|
||||
private SaasRoleGroupRelationService saasRoleGroupRelationService;
|
||||
@Autowired
|
||||
private SaasRoleUserRelationDao saasRoleUserRelationDao;
|
||||
|
||||
/**
|
||||
* 统一层级的roleGroup按照id升序,sort从1递增
|
||||
@ -1398,6 +1408,148 @@ public class PrivateController {
|
||||
return "ok";
|
||||
}
|
||||
|
||||
@PostMapping("/api/private/superAdmin/create")
|
||||
public Object createSuperAdmin(@RequestBody List<CreateSuperAdminParam> request) {
|
||||
|
||||
Date now = new Date();
|
||||
request.forEach(e -> {
|
||||
List<SaasRole> list = saasRoleDao.lambdaQuery()
|
||||
.eq(SaasRole::getRoleCode, e.getRoleCode())
|
||||
.list();
|
||||
if (CollectionUtils.isNotEmpty(list)) {
|
||||
return;
|
||||
}
|
||||
|
||||
SaasRole superAdmin = new SaasRole();
|
||||
superAdmin.setDescription(RoleTypeEnum.SUPER_ADMIN.getDesc());
|
||||
superAdmin.setName(RoleTypeEnum.SUPER_ADMIN.getDesc());
|
||||
superAdmin.setRoleCode(e.getRoleCode());
|
||||
superAdmin.setWorkspaceId(-1L);
|
||||
superAdmin.setWorkspaceType(e.getWorkspaceType());
|
||||
superAdmin.setOwnerOuId(-1L);
|
||||
superAdmin.setRoleType(RoleTypeEnum.SUPER_ADMIN.getValue());
|
||||
superAdmin.setIsDelete(0L);
|
||||
superAdmin.setCreateAt(now);
|
||||
superAdmin.setUpdateAt(now);
|
||||
superAdmin.setCreateBy(e.getCreateBy());
|
||||
superAdmin.setUpdateBy(e.getCreateBy());
|
||||
DictWorkSpaceTypeEnum dictWorkSpaceTypeEnum = DictWorkSpaceTypeEnum.getByValueWorkspaceType(e.getWorkspaceType());
|
||||
superAdmin.setProductUnitType(dictWorkSpaceTypeEnum == null ? 0 : dictWorkSpaceTypeEnum.getSuperAdminProductType());
|
||||
|
||||
saasRoleDao.save(superAdmin);
|
||||
|
||||
if (e.getRoleGroupId() == null) {
|
||||
|
||||
SaasRoleGroupVO saasRoleGroupVO = SaasRoleGroupVO.builder()
|
||||
.workspaceTypeCode(e.getWorkspaceType().toString())
|
||||
.ouId(-1L)
|
||||
.workspaceId(-1L)
|
||||
.name("政务管理员")
|
||||
.ouTypeCode(Lists.newArrayList(dictWorkSpaceTypeEnum == null ? "0" : dictWorkSpaceTypeEnum.getSuperAdminProductType().toString()))
|
||||
.parentId(0L)
|
||||
.code("zw_superadmin_group")
|
||||
.build();
|
||||
Long roleGroupId = saasRoleGroupService.saveOrUpdate(saasRoleGroupVO);
|
||||
|
||||
SaasRoleGroupRelation roleGroupRelation = new SaasRoleGroupRelation();
|
||||
roleGroupRelation.setRoleId(superAdmin.getId());
|
||||
roleGroupRelation.setSaasRoleGroupId(roleGroupId);
|
||||
roleGroupRelation.setCreateAt(now);
|
||||
roleGroupRelation.setUpdateAt(now);
|
||||
saasRoleGroupRelationService.save(roleGroupRelation);
|
||||
} else {
|
||||
SaasRoleGroupRelation roleGroupRelation = new SaasRoleGroupRelation();
|
||||
roleGroupRelation.setRoleId(superAdmin.getId());
|
||||
roleGroupRelation.setSaasRoleGroupId(e.getRoleGroupId());
|
||||
roleGroupRelation.setCreateAt(now);
|
||||
roleGroupRelation.setUpdateAt(now);
|
||||
saasRoleGroupRelationService.save(roleGroupRelation);
|
||||
}
|
||||
});
|
||||
|
||||
return "ok";
|
||||
}
|
||||
|
||||
@PostMapping("/api/private/userSuperAdminRole/refresh")
|
||||
public Object refreshUserSuperAdminRole() {
|
||||
ListRoleReq listRoleReq = ListRoleReq.builder()
|
||||
.roleTypes(Lists.newArrayList(RoleTypeEnum.SUPER_ADMIN.getValue()))
|
||||
.build();
|
||||
|
||||
List<SaasRoleRes> allSuperAdminRoles = roleService.list(listRoleReq);
|
||||
|
||||
if (CollectionUtils.isEmpty(allSuperAdminRoles)) {
|
||||
return "ok";
|
||||
}
|
||||
|
||||
Map<Integer, SaasRoleRes> initSuperAdminRoles = allSuperAdminRoles.stream()
|
||||
.filter(e -> e.getWorkspaceId() == -1L)
|
||||
.collect(Collectors.toMap(SaasRoleRes::getWorkspaceType, Function.identity()));
|
||||
if (initSuperAdminRoles.isEmpty()) {
|
||||
return "ok";
|
||||
}
|
||||
|
||||
List<SaasRoleRes> oldSuperAdminRoles = allSuperAdminRoles.stream()
|
||||
.filter(e -> e.getWorkspaceId() != -1L)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
if (CollectionUtils.isEmpty(oldSuperAdminRoles)) {
|
||||
return "ok";
|
||||
}
|
||||
|
||||
Map<Long, Integer> oldSuperAdminRoleWorkspaceTypeMap = oldSuperAdminRoles.stream()
|
||||
.collect(Collectors.toMap(SaasRoleRes::getId, SaasRoleRes::getWorkspaceType));
|
||||
|
||||
ListRoleUserRelationParam listRoleUserRelationParam = ListRoleUserRelationParam.builder()
|
||||
.roleIds(oldSuperAdminRoles.stream()
|
||||
.map(SaasRoleRes::getId)
|
||||
.collect(Collectors.toList()))
|
||||
.build();
|
||||
List<SaasRoleUserV2DTO> saasRoleUsers = saasRoleUserRelationService.listV2(listRoleUserRelationParam);
|
||||
|
||||
List<SaasRoleUserRelation> update = saasRoleUsers.stream()
|
||||
.map(e -> {
|
||||
SaasRoleUserRelation saasRoleUserRelation = new SaasRoleUserRelation();
|
||||
saasRoleUserRelation.setId(e.getId());
|
||||
|
||||
Integer workspaceType = oldSuperAdminRoleWorkspaceTypeMap.get(e.getRoleId());
|
||||
if (Objects.isNull(workspaceType)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
SaasRoleRes superAdmin = initSuperAdminRoles.get(workspaceType);
|
||||
if (Objects.isNull(superAdmin)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
saasRoleUserRelation.setRoleId(superAdmin.getId());
|
||||
return saasRoleUserRelation;
|
||||
})
|
||||
.filter(Objects::nonNull)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
if (CollectionUtils.isEmpty(update)) {
|
||||
return "ok";
|
||||
}
|
||||
saasRoleUserRelationDao.updateBatchById(update);
|
||||
return "ok";
|
||||
}
|
||||
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class CreateSuperAdminParam {
|
||||
private String roleCode;
|
||||
|
||||
private Integer workspaceType;
|
||||
|
||||
private Long createBy;
|
||||
|
||||
private Long roleGroupId;
|
||||
}
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
|
||||
@ -355,6 +355,11 @@ public class SaasRoleController implements TyrSaasRoleApi {
|
||||
.enabled(req.getEnabled())
|
||||
.roleTypes(req.getRoleTypes())
|
||||
.roleCodes(req.getRoleCodes())
|
||||
.productUnitTypes(Optional.ofNullable(req.getCooperateShipCooperateTypes())
|
||||
.map(e -> e.stream()
|
||||
.map(SaasCooperateShipCooperateTypeEnum::getCode)
|
||||
.collect(Collectors.toSet()))
|
||||
.orElse(null))
|
||||
.build())
|
||||
.stream()
|
||||
.collect(Collectors.toMap(SaasRoleRes::getId, Function.identity()));
|
||||
@ -400,7 +405,6 @@ public class SaasRoleController implements TyrSaasRoleApi {
|
||||
.map(CommonDictResp::getDictCode)
|
||||
.map(Integer::valueOf)
|
||||
.collect(Collectors.toSet()))
|
||||
.workspaceOuPairs(req.getWorkspaceOuPairs())
|
||||
.workspaceIds(Optional.ofNullable(req.getWorkspaceIds())
|
||||
.map(HashSet::new)
|
||||
.orElse(null))
|
||||
@ -416,12 +420,14 @@ public class SaasRoleController implements TyrSaasRoleApi {
|
||||
.orElse(null))
|
||||
.build();
|
||||
|
||||
List<WorkspaceOuPair> workspaceOuPairs = Optional.ofNullable(listSaasRoleGroupParam.getWorkspaceOuPairs())
|
||||
List<WorkspaceOuPair> workspaceOuPairs = Optional.ofNullable(req.getWorkspaceOuPairs())
|
||||
.orElseGet(Lists::newArrayList);
|
||||
if (Boolean.TRUE.equals(req.getNeedPresetRole())) {
|
||||
workspaceOuPairs.add(WorkspaceOuPair.PRESET_WORKSPACE_OU_PAIR);
|
||||
}
|
||||
|
||||
listSaasRoleGroupParam.setWorkspaceOuPairs(workspaceOuPairs);
|
||||
|
||||
List<SaasRoleGroupDTO> roleGroups = saasRoleGroupService.list(listSaasRoleGroupParam)
|
||||
.stream()
|
||||
.sorted(Comparator.comparing(e -> Optional.ofNullable(e.getSort()).orElse(1)))
|
||||
|
||||
@ -18,14 +18,14 @@ import cn.axzo.pokonyan.util.KeysUtil;
|
||||
import cn.axzo.tyr.client.common.enums.RoleResourceTypeEnum;
|
||||
import cn.axzo.tyr.client.common.enums.RoleTypeEnum;
|
||||
import cn.axzo.tyr.client.model.BaseWorkspaceModel;
|
||||
import cn.axzo.tyr.client.model.enums.DictWorkSpaceTypeEnum;
|
||||
import cn.axzo.tyr.client.model.enums.IdentityType;
|
||||
import cn.axzo.tyr.client.model.enums.WorkerLeaderRoleEnum;
|
||||
import cn.axzo.tyr.client.model.req.ListRoleReq;
|
||||
import cn.axzo.tyr.client.model.res.SaasRoleRes;
|
||||
import cn.axzo.tyr.client.model.roleuser.RoleUserUpdateReq;
|
||||
import cn.axzo.tyr.client.model.roleuser.dto.GetUserAutoOwnRoleResp;
|
||||
import cn.axzo.tyr.client.model.roleuser.dto.GetUserFeatureResourceIdsResp;
|
||||
import cn.axzo.tyr.client.model.roleuser.dto.IdentityInfo;
|
||||
import cn.axzo.tyr.client.model.roleuser.dto.SaasRoleUserDTO;
|
||||
import cn.axzo.tyr.client.model.roleuser.dto.SaasRoleUserV2DTO;
|
||||
import cn.axzo.tyr.client.model.roleuser.dto.SuperAminInfoResp;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.AutoOwnRoleUserReq;
|
||||
@ -50,6 +50,7 @@ import cn.axzo.tyr.server.repository.entity.SaasPgroupRoleRelation;
|
||||
import cn.axzo.tyr.server.repository.entity.SaasRole;
|
||||
import cn.axzo.tyr.server.repository.entity.SaasRoleGroupRelation;
|
||||
import cn.axzo.tyr.server.repository.entity.SaasRoleUserRelation;
|
||||
import cn.axzo.tyr.server.service.RoleService;
|
||||
import cn.axzo.tyr.server.service.SaasRoleGroupService;
|
||||
import cn.axzo.tyr.server.service.SaasRoleUserRelationService;
|
||||
import cn.axzo.tyr.server.service.SaasRoleUserService;
|
||||
@ -104,6 +105,7 @@ public class RoleUserService implements SaasRoleUserService {
|
||||
private final OrgJobApi orgJobApi;
|
||||
private final WorkspaceConfigApi workspaceConfigApi;
|
||||
private final OrganizationalNodeUserQueryApi organizationalNodeUserQueryApi;
|
||||
private final RoleService roleService;
|
||||
|
||||
// 单位类型默认角色关系,后面可以座位管理员的逻辑进行迭代
|
||||
@Value("#{${participateUnitDefaultRoleId:{}}}")
|
||||
@ -279,22 +281,19 @@ public class RoleUserService implements SaasRoleUserService {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void createSuperAdminRole(CreateSuperAdminRoleParam param) {
|
||||
//获取超管角色
|
||||
SaasRole superAdmin = findSuperAdmin(param.getWorkspaceId(), param.getOuId(), param.getWorkspaceType());
|
||||
if (superAdmin == null) {
|
||||
superAdmin = new SaasRole();
|
||||
superAdmin.setDescription(RoleTypeEnum.SUPER_ADMIN.getDesc());
|
||||
superAdmin.setName(RoleTypeEnum.SUPER_ADMIN.getDesc());
|
||||
superAdmin.setWorkspaceId(param.getWorkspaceId());
|
||||
superAdmin.setWorkspaceType(param.getWorkspaceType());
|
||||
superAdmin.setOwnerOuId(param.getOuId());
|
||||
superAdmin.setRoleType(RoleTypeEnum.SUPER_ADMIN.getValue());
|
||||
superAdmin.setIsDelete(0L);
|
||||
DictWorkSpaceTypeEnum dictWorkSpaceTypeEnum = DictWorkSpaceTypeEnum.getByValueWorkspaceType(param.getWorkspaceType());
|
||||
superAdmin.setProductUnitType(dictWorkSpaceTypeEnum == null ? 0 : dictWorkSpaceTypeEnum.getSuperAdminProductType());
|
||||
// 因为以前一个项目一个超管,但是上线为了保证兼容,所以这里要根据workspaceId = -1,ouId = -1,
|
||||
// 不根据code查询,是因为增加一个业务的超管,就需要维护
|
||||
ListRoleReq listRoleReq = ListRoleReq.builder()
|
||||
.roleTypes(Lists.newArrayList(RoleTypeEnum.SUPER_ADMIN.getValue()))
|
||||
.workspaceType(param.getWorkspaceType())
|
||||
.needPresetRole(true)
|
||||
.build();
|
||||
SaasRoleRes superAdmin = roleService.list(listRoleReq).stream()
|
||||
.findFirst()
|
||||
.orElse(null);
|
||||
|
||||
AssertUtil.notNull(superAdmin, "超管角色不存在,请联系业务初始化超管角色");
|
||||
|
||||
checkRoleName(RoleTypeEnum.SUPER_ADMIN.getDesc(), param.getWorkspaceId(), param.getOuId());
|
||||
saasRoleDao.save(superAdmin);
|
||||
}
|
||||
//删除当前超管角色
|
||||
removeOldSuperAdmin(superAdmin.getId(), param.getWorkspaceId(), param.getOuId());
|
||||
|
||||
@ -341,25 +340,29 @@ public class RoleUserService implements SaasRoleUserService {
|
||||
|
||||
@Override
|
||||
public List<SuperAminInfoResp> batchSuperAdminList(List<SuperAdminParam> param) {
|
||||
LambdaQueryChainWrapper<SaasRole> roleWrapper = saasRoleDao.lambdaQuery();
|
||||
roleWrapper.and(w ->
|
||||
param.forEach(c -> w.or()
|
||||
.eq(SaasRole::getOwnerOuId, c.getOuId())
|
||||
.eq(SaasRole::getWorkspaceId, c.getWorkspaceId())));
|
||||
roleWrapper.eq(SaasRole::getIsDelete, TableIsDeleteEnum.NORMAL.value)
|
||||
.eq(SaasRole::getRoleType, RoleTypeEnum.SUPER_ADMIN.getValue());
|
||||
List<SaasRole> roleList = roleWrapper.list();
|
||||
// 兼容上线历史数据还没清洗的间隙,查询超管角色需要根据workspaceId和预设的超管一起
|
||||
ListRoleReq listRoleReq = ListRoleReq.builder()
|
||||
.roleTypes(Lists.newArrayList(RoleTypeEnum.SUPER_ADMIN.getValue()))
|
||||
.workspaceOuPairs(param.stream()
|
||||
.map(e -> ListRoleUserRelationParam.WorkspaceOuPair.builder()
|
||||
.workspaceId(e.getWorkspaceId())
|
||||
.ouId(e.getOuId())
|
||||
.build())
|
||||
.collect(Collectors.toList()))
|
||||
.needPresetRole(true)
|
||||
.build();
|
||||
List<SaasRoleRes> roleList = roleService.list(listRoleReq);
|
||||
if (CollectionUtils.isEmpty(roleList)) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
LambdaQueryChainWrapper<SaasRoleUserRelation> userRoleWrapper = roleUserRelationDao.lambdaQuery();
|
||||
userRoleWrapper.and(w ->
|
||||
roleList.forEach(c -> w.or()
|
||||
.eq(SaasRoleUserRelation::getOuId, c.getOwnerOuId())
|
||||
param.forEach(c -> w.or()
|
||||
.eq(SaasRoleUserRelation::getOuId, c.getOuId())
|
||||
.eq(SaasRoleUserRelation::getWorkspaceId, c.getWorkspaceId())
|
||||
.eq(SaasRoleUserRelation::getRoleId, c.getId())
|
||||
));
|
||||
userRoleWrapper.in(SaasRoleUserRelation::getRoleId, roleList.stream().map(SaasRoleRes::getId).collect(Collectors.toList()));
|
||||
userRoleWrapper.eq(SaasRoleUserRelation::getIsDelete, TableIsDeleteEnum.NORMAL.value);
|
||||
List<SaasRoleUserRelation> relations = userRoleWrapper.list();
|
||||
|
||||
@ -381,15 +384,24 @@ public class RoleUserService implements SaasRoleUserService {
|
||||
if (param.getWorkspaceId() == null || Objects.isNull(param.getOuId())) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
SaasRole saasRole = saasRoleDao.findRoleByTypeAndWorkspaceIdAndOuId(RoleTypeEnum.SUPER_ADMIN.getValue(),
|
||||
param.getWorkspaceId(), param.getOuId());
|
||||
if (Objects.isNull(saasRole)) {
|
||||
|
||||
// 兼容上线历史数据还没清洗的间隙,查询超管角色需要根据workspaceId和预设的超管一起
|
||||
ListRoleReq listRoleReq = ListRoleReq.builder()
|
||||
.roleTypes(Lists.newArrayList(RoleTypeEnum.SUPER_ADMIN.getValue()))
|
||||
.workspaceOuPairs(Lists.newArrayList(ListRoleUserRelationParam.WorkspaceOuPair.builder()
|
||||
.workspaceId(param.getWorkspaceId())
|
||||
.ouId(param.getOuId())
|
||||
.build()))
|
||||
.needPresetRole(true)
|
||||
.build();
|
||||
List<SaasRoleRes> saasRoles = roleService.list(listRoleReq);
|
||||
if (CollectionUtils.isEmpty(saasRoles)) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
List<SaasRoleUserRelation> relations = roleUserRelationDao.lambdaQuery()
|
||||
.eq(SaasRoleUserRelation::getWorkspaceId, param.getWorkspaceId())
|
||||
.eq(SaasRoleUserRelation::getOuId, param.getOuId())
|
||||
.eq(SaasRoleUserRelation::getRoleId, saasRole.getId())
|
||||
.in(SaasRoleUserRelation::getRoleId, saasRoles.stream().map(SaasRoleRes::getId).collect(Collectors.toList()))
|
||||
.eq(SaasRoleUserRelation::getIsDelete, TableIsDeleteEnum.NORMAL.value).list();
|
||||
if (CollectionUtils.isEmpty(relations)) {
|
||||
return Collections.emptyList();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user