feat: (feature/REQ-3714) 修改用户角色不支持移除的问题,因为底层拦截器在update的时候把is_delete字段给排除了
This commit is contained in:
parent
5bd53eeef7
commit
02b57f0d68
@ -223,46 +223,49 @@ public class SaasRoleUserRelationServiceImpl extends ServiceImpl<SaasRoleUserRel
|
|||||||
.collect(Collectors.groupingBy(e -> e.getIdentityId() + "_" + e.getIdentityType() +
|
.collect(Collectors.groupingBy(e -> e.getIdentityId() + "_" + e.getIdentityType() +
|
||||||
"_" + e.getSaasRoleUser().getPersonId() + "_" + e.getWorkspaceId() + "_" + e.getOuId()));
|
"_" + e.getSaasRoleUser().getPersonId() + "_" + e.getWorkspaceId() + "_" + e.getOuId()));
|
||||||
// 根据入参解析insert、delete的记录
|
// 根据入参解析insert、delete的记录
|
||||||
List<SaasRoleUserRelation> upsert = Lists.newArrayList();
|
List<SaasRoleUserRelation> insert = Lists.newArrayList();
|
||||||
assembleInsertData(roleUserMap, param, roles, upsert);
|
List<SaasRoleUserRelation> remove = Lists.newArrayList();
|
||||||
|
assembleInsertData(roleUserMap, param, roles, insert);
|
||||||
|
|
||||||
assembleDeleteData(roleUserMap, param, roles, upsert);
|
assembleDeleteData(roleUserMap, param, roles, remove);
|
||||||
|
|
||||||
// 批量insert、delete
|
// 批量insert、delete
|
||||||
if (CollectionUtils.isEmpty(upsert)) {
|
if (CollectionUtils.isEmpty(insert) && CollectionUtils.isEmpty(remove)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this.saveOrUpdateBatch(upsert);
|
|
||||||
|
if (!CollectionUtils.isEmpty(insert)) {
|
||||||
|
this.saveBatch(insert);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!CollectionUtils.isEmpty(remove)) {
|
||||||
|
this.removeByIds(Lists.transform(remove, SaasRoleUserRelation::getId));
|
||||||
|
}
|
||||||
|
|
||||||
// 发送mq
|
// 发送mq
|
||||||
List<SaasRoleUserRelation> inserts = upsert.stream()
|
if (!CollectionUtils.isEmpty(insert)) {
|
||||||
.filter(saasRoleUserRelation -> Objects.isNull(saasRoleUserRelation.getIsDelete()) || Objects.equals(TableIsDeleteEnum.NORMAL.value, saasRoleUserRelation.getIsDelete()))
|
|
||||||
.collect(Collectors.toList());
|
|
||||||
if (!CollectionUtils.isEmpty(inserts)) {
|
|
||||||
Event event = Event.builder()
|
Event event = Event.builder()
|
||||||
.targetType(TARGET_TYPE)
|
.targetType(TARGET_TYPE)
|
||||||
.eventCode(SAAS_ROLE_USER_RELATION_UPSERT.getEventCode())
|
.eventCode(SAAS_ROLE_USER_RELATION_UPSERT.getEventCode())
|
||||||
.data(SaasRoleUserRelationUpsertPayload.builder()
|
.data(SaasRoleUserRelationUpsertPayload.builder()
|
||||||
.newValues(inserts)
|
.newValues(insert)
|
||||||
.build())
|
.build())
|
||||||
.build();
|
.build();
|
||||||
mqProducer.send(event);
|
mqProducer.send(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
List<SaasRoleUserRelation> deletes = upsert.stream()
|
if (!CollectionUtils.isEmpty(remove)) {
|
||||||
.filter(saasRoleUserRelation -> Objects.nonNull(saasRoleUserRelation.getIsDelete()) && !Objects.equals(TableIsDeleteEnum.NORMAL.value, saasRoleUserRelation.getIsDelete()))
|
|
||||||
.collect(Collectors.toList());
|
|
||||||
if (!CollectionUtils.isEmpty(deletes)) {
|
|
||||||
Event event = Event.builder()
|
Event event = Event.builder()
|
||||||
.targetType(TARGET_TYPE)
|
.targetType(TARGET_TYPE)
|
||||||
.eventCode(SAAS_ROLE_USER_RELATION_REMOVED.getEventCode())
|
.eventCode(SAAS_ROLE_USER_RELATION_REMOVED.getEventCode())
|
||||||
.data(SaasRoleUserRelationRemovePayload.builder()
|
.data(SaasRoleUserRelationRemovePayload.builder()
|
||||||
.values(deletes)
|
.values(remove)
|
||||||
.build())
|
.build())
|
||||||
.build();
|
.build();
|
||||||
mqProducer.send(event);
|
mqProducer.send(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
insert.addAll(remove);
|
||||||
|
|
||||||
operateLogService.save(LogAddReq.builder()
|
operateLogService.save(LogAddReq.builder()
|
||||||
.scene("UPSERT_USER_ROLE")
|
.scene("UPSERT_USER_ROLE")
|
||||||
@ -274,7 +277,7 @@ public class SaasRoleUserRelationServiceImpl extends ServiceImpl<SaasRoleUserRel
|
|||||||
.message(new JSONObject()
|
.message(new JSONObject()
|
||||||
.fluentPut("param", param)
|
.fluentPut("param", param)
|
||||||
.fluentPut("oldValues", oldRoleUsers)
|
.fluentPut("oldValues", oldRoleUsers)
|
||||||
.fluentPut("newValues", upsert)
|
.fluentPut("newValues", insert)
|
||||||
.toJSONString())
|
.toJSONString())
|
||||||
.build());
|
.build());
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user