补充删除权限集逻辑

This commit is contained in:
陈维伟 2023-09-11 16:36:10 +08:00
parent 8409db6023
commit 4633c44cc6

View File

@ -1,5 +1,6 @@
package job;
import java.util.ArrayList;
import java.util.Date;
import cn.axzo.pokonyan.config.mybatisplus.BaseEntity;
@ -91,6 +92,7 @@ public class OMSRoleJobHandler extends IJobHandler {
roleGroupRelationDao.saveBatch(roleGroupRelation);
// 查询角色关联的角色打包成新的权限集
ArrayList<SaasPermissionGroup> deletePgroup = new ArrayList<>();
oldRole.forEach(role -> {
List<SaasPgroupRoleRelation> pgroupRoleRelation = pgroupRoleRelationDao.lambdaQuery().eq(SaasPgroupRoleRelation::getRoleId, role.getId()).list();
List<SaasPermissionGroup> permissionGroup = saasPermissionGroupDao.lambdaQuery().in(BaseEntity::getId, pgroupRoleRelation.stream().map(SaasPgroupRoleRelation::getGroupId).collect(Collectors.toList())).list();
@ -105,6 +107,7 @@ public class OMSRoleJobHandler extends IJobHandler {
saasPermissionGroup.setType("feature");
saasPermissionGroup.setIsCommon(1);
saasPermissionGroupDao.save(saasPermissionGroup);
deletePgroup.addAll(permissionGroup);
// 创建新的角色权限集关联关系
SaasPgroupRoleRelation saasPgroupRoleRelation = new SaasPgroupRoleRelation();
saasPgroupRoleRelation.setRoleId(role.getId());
@ -122,12 +125,15 @@ public class OMSRoleJobHandler extends IJobHandler {
pgroupPermissionRelationDao.save(saasPgroupPermissionRelation);
});
// 删除老的权限集权限关联关系
pgroupPermissionRelation.forEach(e -> e.setIsDelete(1l));
pgroupPermissionRelation.forEach(e -> e.setIsDelete(e.getId()));
pgroupPermissionRelationDao.updateBatchById(pgroupPermissionRelation);
// 删除老的角色权限集关联关系
pgroupRoleRelation.forEach(e -> e.setIsDelete(1l));
pgroupRoleRelation.forEach(e -> e.setIsDelete(e.getId()));
pgroupRoleRelationDao.updateBatchById(pgroupRoleRelation);
});
// 删除权限集
deletePgroup.forEach(e -> e.setIsDelete(e.getId()));
saasPermissionGroupDao.updateBatchById(deletePgroup);
return ReturnT.SUCCESS;
}
}