fix(code2identity): 处理合并冲突
This commit is contained in:
parent
a47ff15c4a
commit
ce880c2686
@ -11,6 +11,7 @@ import cn.axzo.tyr.client.model.enums.IdentityType;
|
||||
import cn.axzo.tyr.client.model.roleuser.dto.SuperAminInfoResp;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.CreateAgencyAdminRoleParam;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.CreateSuperAdminRoleParam;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.DeleteUserRoleIncludeAdminParam;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.RoleUserReq;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.SuperAdminParam;
|
||||
import cn.axzo.tyr.server.repository.dao.SaasRoleDao;
|
||||
@ -229,74 +230,6 @@ public class RoleUserService implements SaasRoleUserService {
|
||||
}).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean deleteUserRoleIncludeAdmin(List<DeleteUserRoleIncludeAdminParam> params) {
|
||||
if (CollectionUtils.isEmpty(params)) {
|
||||
return false;
|
||||
}
|
||||
params.forEach(param -> {
|
||||
List<SaasRole> roles = saasRoleDao.lambdaQuery()
|
||||
.eq(SaasRole::getWorkspaceId, param.getWorkspaceId()).eq(SaasRole::getOwnerOuId, param.getOuId()).eq(SaasRole::getIsDelete, TableIsDeleteEnum.NORMAL.value).list();
|
||||
if (CollectionUtils.isEmpty(roles)) {
|
||||
return;
|
||||
}
|
||||
List<Long> roleIds = roles.stream().map(SaasRole::getId).sorted().collect(Collectors.toList());
|
||||
List<SaasRoleUserRelation> relations = roleUserRelationDao.lambdaQuery().in(SaasRoleUserRelation::getRoleId, roleIds)
|
||||
.eq(SaasRoleUserRelation::getIdentityId, param.getIdentityId()).eq(SaasRoleUserRelation::getIdentityType, param.getIdentityType().getCode())
|
||||
.eq(SaasRoleUserRelation::getIsDelete, TableIsDeleteEnum.NORMAL.value).list();
|
||||
if (CollectionUtils.isNotEmpty(relations)) {
|
||||
relations.forEach(r -> r.setIsDelete(r.getId()));
|
||||
roleUserRelationDao.updateBatchById(relations);
|
||||
}
|
||||
});
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void createAgencyAdminRole(CreateAgencyAdminRoleParam param) {
|
||||
/*
|
||||
* 根据传入的角色id和适用单位类型,筛选出符合添加权限的角色
|
||||
*/
|
||||
List<SaasRoleGroupRelation> matchedRelations = filterAgencyAdminRoleGroupRelation(param);
|
||||
List<Long> matchedRoleIds = matchedRelations.stream().map(SaasRoleGroupRelation::getRoleId).sorted().collect(Collectors.toList());
|
||||
|
||||
// 如果用户已经存在对应的权限,忽略,如果不存在,添加
|
||||
List<Long> existUserRoleIds = roleUserRelationDao.lambdaQuery().in(SaasRoleUserRelation::getRoleId, matchedRoleIds).eq(SaasRoleUserRelation::getWorkspaceId, param.getWorkspaceId())
|
||||
.eq(SaasRoleUserRelation::getOuId, param.getOuId()).eq(SaasRoleUserRelation::getIdentityId, param.getIdentityId()).eq(SaasRoleUserRelation::getIdentityType, param.getIdentityType())
|
||||
.eq(SaasRoleUserRelation::getIsDelete, TableIsDeleteEnum.NORMAL.value).list().stream().map(SaasRoleUserRelation::getRoleId).collect(Collectors.toList());
|
||||
|
||||
Collection<Long> insertRoleIds = org.apache.commons.collections4.CollectionUtils.subtract(matchedRoleIds, existUserRoleIds);
|
||||
if (CollectionUtils.isEmpty(insertRoleIds)) {
|
||||
return;
|
||||
}
|
||||
List<SaasRoleUserRelation> newUserRoleRelations = insertRoleIds.stream().map(rid -> {
|
||||
SaasRoleUserRelation roleUserRelation = new SaasRoleUserRelation();
|
||||
roleUserRelation.setIdentityId(param.getIdentityId());
|
||||
roleUserRelation.setIdentityType(param.getIdentityType().getCode());
|
||||
roleUserRelation.setRoleId(rid);
|
||||
roleUserRelation.setNaturalPersonId(param.getNaturalPersonId());
|
||||
roleUserRelation.setCreateBy(0L);
|
||||
roleUserRelation.setUpdateBy(0L);
|
||||
roleUserRelation.setOuId(param.getOuId());
|
||||
roleUserRelation.setWorkspaceId(param.getWorkspaceId());
|
||||
roleUserRelation.setResourceType(0);
|
||||
roleUserRelation.setResourceId(0L);
|
||||
return roleUserRelation;
|
||||
}).collect(Collectors.toList());
|
||||
roleUserRelationDao.saveBatch(newUserRoleRelations);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SaasRoleUserRelation> listByRoleIds(List<Long> roleIds) {
|
||||
if (CollectionUtil.isEmpty(roleIds)) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return roleUserRelationDao.list(new LambdaQueryWrapper<SaasRoleUserRelation>()
|
||||
.in(SaasRoleUserRelation::getRoleId, roleIds));
|
||||
}
|
||||
|
||||
private List<SaasRoleGroupRelation> filterAgencyAdminRoleGroupRelation(CreateAgencyAdminRoleParam param) {
|
||||
// 根据传入的角色id筛选出内置角色
|
||||
List<SaasRole> saasRoles = saasRoleDao.lambdaQuery().in(SaasRole::getId, param.getUpdateRoleIds())
|
||||
@ -333,4 +266,14 @@ public class RoleUserService implements SaasRoleUserService {
|
||||
}
|
||||
return roleGroupRelations.stream().filter(r -> matchedRoleGroupIds.contains(r.getSaasRoleGroupId())).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SaasRoleUserRelation> listByRoleIds(List<Long> roleIds) {
|
||||
if (CollectionUtil.isEmpty(roleIds)) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return roleUserRelationDao.list(new LambdaQueryWrapper<SaasRoleUserRelation>()
|
||||
.in(SaasRoleUserRelation::getRoleId, roleIds));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user