feat:[REQ-3282] 解决代码冲突问题

This commit is contained in:
liuyang 2024-12-24 15:53:52 +08:00
parent d312067a57
commit 597aa0319c
5 changed files with 14 additions and 15 deletions

View File

@ -3,6 +3,8 @@ package cn.axzo.orgmanax.server.cooperateship.foundation.impl;
import cn.axzo.orgmanax.dto.nodeuser.dto.NodeUserDTO;
import cn.axzo.orgmanax.dto.nodeuser.req.ListNodeUserReq;
import cn.axzo.orgmanax.infra.dao.cooperateship.entity.SaasCooperateShip;
import cn.axzo.orgmanax.infra.dao.nodeuser.entity.OrganizationalNodeUser;
import cn.axzo.orgmanax.infra.dao.nodeuser.repository.NodeUserQueryRepository;
import cn.axzo.orgmanax.server.cooperateship.foundation.CooperateShipFoundationService;
import cn.axzo.orgmanax.server.nodeuser.service.NodeUserService;
import cn.hutool.core.util.StrUtil;
@ -18,8 +20,7 @@ import org.springframework.stereotype.Service;
@Service
public class CooperateShipFoundationServiceImpl implements CooperateShipFoundationService {
@Autowired
private NodeUserService nodeUserService;
private NodeUserQueryRepository nodeUserQueryRepository;
@Override
public void filterByPerson(Long filterPersonId, List<SaasCooperateShip> list) {
@ -28,11 +29,11 @@ public class CooperateShipFoundationServiceImpl implements CooperateShipFoundati
return;
}
Set<Long> organizationalNodeIds = list.stream().map(SaasCooperateShip::getOrganizationalNodeId).collect(Collectors.toSet());
Set<Long> personInNodeIds = nodeUserService.list(ListNodeUserReq.builder()
Set<Long> personInNodeIds = nodeUserQueryRepository.list(NodeUserQueryRepository.ListReq.builder()
.personId(filterPersonId)
.organizationalNodeIds(organizationalNodeIds)
.build())
.stream().map(NodeUserDTO::getTopNodeId).collect(Collectors.toSet());
.stream().map(OrganizationalNodeUser::getTopNodeId).collect(Collectors.toSet());
list.removeIf(t -> !personInNodeIds.contains(t.getOrganizationalNodeId()));
}

View File

@ -28,7 +28,6 @@ import cn.hutool.core.util.ObjectUtil;
import com.google.common.collect.ImmutableSet;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
@ -55,9 +54,7 @@ public class CooperateShipServiceImpl implements CooperateShipService {
private final UnitQueryRepository unitQueryRepository;
private final WorkspaceGateway workspaceGateway;
private final EventProducer eventProducer;
@Autowired
private CooperateShipFoundationService cooperateShipFoundationService;
private final NodeUserQueryRepository nodeUserQueryRepository;
private final CooperateShipFoundationService cooperateShipFoundationService;
@Override
public SaasCooperateShip create(CreateReq req) {

View File

@ -11,6 +11,7 @@ import cn.axzo.orgmanax.dto.nodeuser.req.ListNodeUserReq;
import cn.axzo.orgmanax.infra.dao.cooperateship.entity.SaasCooperateShip;
import cn.axzo.orgmanax.infra.dao.cooperateship.repository.CooperateShipQueryRepository;
import cn.axzo.orgmanax.infra.dao.node.repository.NodeQueryRepository;
import cn.axzo.orgmanax.infra.dao.nodeuser.entity.OrganizationalNodeUser;
import cn.axzo.orgmanax.infra.dao.nodeuser.repository.NodeUserQueryRepository;
import cn.axzo.orgmanax.infra.dao.orgjob.repository.OrgJobQueryRepository;
import cn.axzo.orgmanax.server.node.foundation.NodeFoundationService;
@ -32,6 +33,8 @@ import java.util.stream.Collectors;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Service;
@ -47,8 +50,6 @@ public class NodeServiceImpl implements NodeService {
private final NodeUserFoundationService nodeUserFoundationService;
private final CooperateShipQueryRepository cooperateShipQueryRepository;
private final NodeFoundationService nodeFoundationService;
@Autowired
private NodeUserService nodeUserService;
@Override
public NodeProcessor.ProcessResult process(ProcessNodeReq req) {
@ -95,7 +96,7 @@ public class NodeServiceImpl implements NodeService {
// 获取部门用户信息, 若获取不到直接返回
if (Objects.nonNull(req.getPersonId())) {
List<NodeUserDTO> nodeUsers = nodeUserService.list(ListNodeUserReq
List<NodeUserQueryRepository.NodeUserResp> nodeUsers = nodeUserQueryRepository.list(NodeUserQueryRepository.ListReq
.builder().personId(req.getPersonId()).build());
if (CollUtil.isEmpty(nodeUsers)) {
return emptyPageResp;
@ -104,7 +105,7 @@ public class NodeServiceImpl implements NodeService {
// 获取岗位信息
if (CollUtil.isNotEmpty(req.getJobCodes())) {
List<OrgJobQueryRepository.JobResp> orgJobs = orgJobQueryRepository.list(OrgJobQueryRepository.ListReq.builder()
.ids(CollUtil.map(nodeUsers, NodeUserDTO::getOrganizationalJobId, true))
.ids(CollUtil.map(nodeUsers, OrganizationalNodeUser::getOrganizationalJobId, true))
.codes(req.getJobCodes())
.build());
nodeUserFoundationService.filterByJobs(nodeUsers, orgJobs);
@ -113,7 +114,7 @@ public class NodeServiceImpl implements NodeService {
if (CollUtil.isEmpty(nodeUsers)) {
return emptyPageResp;
}
reqListBuilder.ids(nodeUsers.stream().map(NodeUserDTO::getOrganizationalNodeId).collect(Collectors.toSet()));
reqListBuilder.ids(nodeUsers.stream().map(OrganizationalNodeUser::getOrganizationalNodeId).collect(Collectors.toSet()));
}
// 根据项目ID获取topNodeId进行组织节点过滤

View File

@ -34,5 +34,5 @@ public interface NodeUserFoundationService {
* @param nodeUsers
* @param orgJobs
*/
<T extends NodeUserDTO, Job extends OrgJob> void filterByJobs(List<T> nodeUsers, List<Job> orgJobs);
<T extends NodeUserQueryRepository.NodeUserResp, Job extends OrgJob> void filterByJobs(List<T> nodeUsers, List<Job> orgJobs);
}

View File

@ -136,7 +136,7 @@ public class NodeUserFoundationServiceImpl implements NodeUserFoundationService
}
@Override
public <T extends NodeUserDTO, Job extends OrgJob> void filterByJobs(List<T> nodeUsers, List<Job> orgJobs) {
public <T extends NodeUserQueryRepository.NodeUserResp, Job extends OrgJob> void filterByJobs(List<T> nodeUsers, List<Job> orgJobs) {
List<Long> jobIds = CollUtil.map(orgJobs, OrgJob::getId, true);
nodeUsers.removeIf(e -> !jobIds.contains(e.getOrganizationalJobId()));
}