Merge remote-tracking branch 'origin/feature/REQ-1102' into feature/REQ-1102
This commit is contained in:
commit
26e1438414
@ -49,6 +49,7 @@ public class OMSRoleJobHandler extends IJobHandler {
|
||||
|
||||
/**
|
||||
* 清洗OMS角色相关数据(注:先通过SQL检查和清除脏数据,要不然无法保证各个实体的关联关系)
|
||||
*
|
||||
* @param s
|
||||
* @return
|
||||
* @throws Exception
|
||||
@ -57,6 +58,7 @@ public class OMSRoleJobHandler extends IJobHandler {
|
||||
@Override
|
||||
@XxlJob("OMSRoleJobHandler")
|
||||
public ReturnT<String> execute(String s) throws Exception {
|
||||
log.info("OMSRoleJobHandler start");
|
||||
// 创建角色分组
|
||||
SaasRoleGroup roleGroup = new SaasRoleGroup();
|
||||
roleGroup.setWorkspaceTypeCode("6");
|
||||
@ -74,7 +76,6 @@ public class OMSRoleJobHandler extends IJobHandler {
|
||||
oldRole.forEach(e -> {
|
||||
e.setWorkspaceId(-1l);
|
||||
e.setOwnerOuId(-1l);
|
||||
e.setWorkspaceType(-1);
|
||||
e.setFitOuTypeBit(-1);
|
||||
e.setFitOuNodeTypeBit(-1);
|
||||
e.setPositionTemplateId(-1l);
|
||||
@ -93,6 +94,8 @@ public class OMSRoleJobHandler extends IJobHandler {
|
||||
roleGroupRelationDao.saveBatch(roleGroupRelation);
|
||||
// 查询角色关联的角色,打包成新的权限集
|
||||
ArrayList<SaasPermissionGroup> deletePgroup = new ArrayList<>();
|
||||
ArrayList<SaasPgroupRoleRelation> deletePgroupRoleRelation = new ArrayList<>();
|
||||
ArrayList<SaasPgroupPermissionRelation> deletePgroupPermissionRelation = new ArrayList<>();
|
||||
oldRole.forEach(role -> {
|
||||
List<SaasPgroupRoleRelation> pgroupRoleRelation = pgroupRoleRelationDao.lambdaQuery().eq(SaasPgroupRoleRelation::getRoleId, role.getId()).list();
|
||||
if (CollectionUtils.isEmpty(pgroupRoleRelation)) {
|
||||
@ -101,58 +104,25 @@ public class OMSRoleJobHandler extends IJobHandler {
|
||||
List<SaasPermissionGroup> permissionGroup = saasPermissionGroupDao.lambdaQuery().in(BaseEntity::getId, pgroupRoleRelation.stream().map(SaasPgroupRoleRelation::getGroupId).collect(Collectors.toList())).list();
|
||||
if (CollectionUtils.isEmpty(permissionGroup)) {
|
||||
// 删除角色权限集关联关系
|
||||
pgroupRoleRelation.forEach(e -> {
|
||||
pgroupRoleRelationDao.lambdaUpdate()
|
||||
.eq(BaseEntity::getId, e.getId())
|
||||
.set(BaseEntity::getIsDelete, e.getId())
|
||||
.update();
|
||||
});
|
||||
deletePgroupRoleRelation.addAll(pgroupRoleRelation);
|
||||
return;
|
||||
}
|
||||
List<SaasPgroupPermissionRelation> pgroupPermissionRelation = pgroupPermissionRelationDao.lambdaQuery().in(SaasPgroupPermissionRelation::getGroupId, permissionGroup.stream().map(BaseEntity::getId).collect(Collectors.toList())).list();
|
||||
if (CollectionUtils.isEmpty(pgroupPermissionRelation)) {
|
||||
// 如果没查到权限则表示当前权限集是无意义的,删掉
|
||||
permissionGroup.forEach(e -> {
|
||||
// 只能通过这种方式删除 update不能删除
|
||||
saasPermissionGroupDao.lambdaUpdate()
|
||||
.eq(BaseEntity::getId, e.getId())
|
||||
.set(BaseEntity::getIsDelete, e.getId())
|
||||
.update();
|
||||
});
|
||||
deletePgroup.addAll(permissionGroup);
|
||||
// 删除角色权限集关联关系
|
||||
pgroupRoleRelation.forEach(e -> {
|
||||
pgroupRoleRelationDao.lambdaUpdate()
|
||||
.eq(BaseEntity::getId, e.getId())
|
||||
.set(BaseEntity::getIsDelete, e.getId())
|
||||
.update();
|
||||
});
|
||||
deletePgroupRoleRelation.addAll(pgroupRoleRelation);
|
||||
return;
|
||||
}
|
||||
List<SaasFeature> feature = featureDao.lambdaQuery().in(BaseEntity::getId, pgroupPermissionRelation.stream().map(SaasPgroupPermissionRelation::getFeatureId).collect(Collectors.toList())).list();
|
||||
if (CollectionUtils.isEmpty(feature)) {
|
||||
// 删除权限集权限关联关系
|
||||
pgroupPermissionRelation.forEach(e -> {
|
||||
// 只能通过这种方式删除 update不能删除
|
||||
pgroupPermissionRelationDao.lambdaUpdate()
|
||||
.eq(BaseEntity::getId, e.getId())
|
||||
.set(BaseEntity::getIsDelete, e.getId())
|
||||
.update();
|
||||
});
|
||||
deletePgroupPermissionRelation.addAll(pgroupPermissionRelation);
|
||||
// 如果没查到权限则表示当前权限集是无意义的,删掉
|
||||
permissionGroup.forEach(e -> {
|
||||
// 只能通过这种方式删除 update不能删除
|
||||
saasPermissionGroupDao.lambdaUpdate()
|
||||
.eq(BaseEntity::getId, e.getId())
|
||||
.set(BaseEntity::getIsDelete, e.getId())
|
||||
.update();
|
||||
});
|
||||
deletePgroup.addAll(permissionGroup);
|
||||
// 删除角色权限集关联关系
|
||||
pgroupRoleRelation.forEach(e -> {
|
||||
pgroupRoleRelationDao.lambdaUpdate()
|
||||
.eq(BaseEntity::getId, e.getId())
|
||||
.set(BaseEntity::getIsDelete, e.getId())
|
||||
.update();
|
||||
});
|
||||
deletePgroupRoleRelation.addAll(pgroupRoleRelation);
|
||||
return;
|
||||
}
|
||||
// 创建新的权限集
|
||||
@ -181,20 +151,25 @@ public class OMSRoleJobHandler extends IJobHandler {
|
||||
saasPgroupPermissionRelation.setUpdateBy(-1L);
|
||||
pgroupPermissionRelationDao.save(saasPgroupPermissionRelation);
|
||||
});
|
||||
// 删除老的权限集权限关联关系
|
||||
pgroupPermissionRelation.forEach(e -> {
|
||||
pgroupPermissionRelationDao.lambdaUpdate()
|
||||
.eq(BaseEntity::getId, e.getId())
|
||||
.set(BaseEntity::getIsDelete, e.getId())
|
||||
.update();
|
||||
});
|
||||
// 删除老的角色权限集关联关系
|
||||
pgroupRoleRelation.forEach(e -> {
|
||||
pgroupRoleRelationDao.lambdaUpdate()
|
||||
.eq(BaseEntity::getId, e.getId())
|
||||
.set(BaseEntity::getIsDelete, e.getId())
|
||||
.update();
|
||||
});
|
||||
// 暂存待删除数据
|
||||
deletePgroupPermissionRelation.addAll(pgroupPermissionRelation);
|
||||
// 暂存待删除数据
|
||||
deletePgroupRoleRelation.addAll(pgroupRoleRelation);
|
||||
});
|
||||
// 所有的数据都不能在循环中删,要不然下一次循环中就查不到了
|
||||
// 删除老的权限集权限关联关系
|
||||
deletePgroupPermissionRelation.forEach(e -> {
|
||||
pgroupPermissionRelationDao.lambdaUpdate()
|
||||
.eq(BaseEntity::getId, e.getId())
|
||||
.set(BaseEntity::getIsDelete, e.getId())
|
||||
.update();
|
||||
});
|
||||
// 删除老的角色权限集关联关系
|
||||
deletePgroupRoleRelation.forEach(e -> {
|
||||
pgroupRoleRelationDao.lambdaUpdate()
|
||||
.eq(BaseEntity::getId, e.getId())
|
||||
.set(BaseEntity::getIsDelete, e.getId())
|
||||
.update();
|
||||
});
|
||||
// 删除权限集
|
||||
deletePgroup.forEach(e -> {
|
||||
@ -203,6 +178,7 @@ public class OMSRoleJobHandler extends IJobHandler {
|
||||
.set(BaseEntity::getIsDelete, e.getId())
|
||||
.update();
|
||||
});
|
||||
log.info("OMSRoleJobHandler end");
|
||||
return ReturnT.SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user