diff --git a/tyr-server/src/main/java/job/OMSRoleJobHandler.java b/tyr-server/src/main/java/job/OMSRoleJobHandler.java index f823f561..3a41b6ca 100644 --- a/tyr-server/src/main/java/job/OMSRoleJobHandler.java +++ b/tyr-server/src/main/java/job/OMSRoleJobHandler.java @@ -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 deletePgroup = new ArrayList<>(); oldRole.forEach(role -> { List pgroupRoleRelation = pgroupRoleRelationDao.lambdaQuery().eq(SaasPgroupRoleRelation::getRoleId, role.getId()).list(); List 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; } }