feat:[REQ-3282] 增加协同关系类型查询
This commit is contained in:
parent
d02a5b2a26
commit
2a07843626
@ -19,6 +19,7 @@ import java.util.List;
|
||||
public class OrgNodeDTO implements Serializable {
|
||||
|
||||
protected Long id;
|
||||
|
||||
/**
|
||||
* 上级id,为0时为顶级节点
|
||||
*/
|
||||
|
||||
@ -90,6 +90,12 @@ public class ListNodeReq extends PageReqV2 {
|
||||
@Builder.Default
|
||||
private Boolean includeCooperateShip = false;
|
||||
|
||||
/**
|
||||
* 指定的协同关系类型, 当includeCooperateShip=true时生效
|
||||
*/
|
||||
@Builder.Default
|
||||
private Set<Integer> includeCooperateTypes = Collections.emptySet();
|
||||
|
||||
/**
|
||||
* 只返回topNode
|
||||
*/
|
||||
|
||||
@ -145,7 +145,7 @@ public class NodeServiceImpl implements NodeService {
|
||||
|
||||
// 是否包含协同关系
|
||||
if (req.getIncludeCooperateShip()) {
|
||||
assembleCooperateShip(records);
|
||||
assembleCooperateShip(records, req.getIncludeCooperateTypes());
|
||||
}
|
||||
|
||||
|
||||
@ -270,9 +270,12 @@ public class NodeServiceImpl implements NodeService {
|
||||
});
|
||||
}
|
||||
|
||||
private void assembleCooperateShip(List<OrgNodeDTO> nodes) {
|
||||
private void assembleCooperateShip(List<OrgNodeDTO> nodes, Set<Integer> cooperateTypes) {
|
||||
List<Long> nodeTopNodeIds = nodes.stream().map(OrgNodeDTO::getTopNodeId).distinct().collect(Collectors.toList());
|
||||
Map<Long, SaasCooperateShip> cooperateShips = cooperateShipQueryRepository.list(CooperateShipQueryRepository.ListReq.builder().organizationNodeIds(nodeTopNodeIds).build()).stream().collect(Collectors.toMap(SaasCooperateShip::getOrganizationalNodeId, Function.identity()));
|
||||
Map<Long, SaasCooperateShip> cooperateShips = cooperateShipQueryRepository.list(CooperateShipQueryRepository.ListReq.builder()
|
||||
.organizationNodeIds(nodeTopNodeIds)
|
||||
.includeCooperateTypes(cooperateTypes)
|
||||
.build()).stream().collect(Collectors.toMap(SaasCooperateShip::getOrganizationalNodeId, Function.identity()));
|
||||
// 补充 workspaceId 和 cooperateType
|
||||
nodes.forEach(node -> {
|
||||
SaasCooperateShip cooperateShip = cooperateShips.get(node.getTopNodeId());
|
||||
|
||||
Loading…
Reference in New Issue
Block a user