diff --git a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/cooperateship/req/ListOrgCooperateShipReq.java b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/cooperateship/req/ListOrgCooperateShipReq.java index 9fc8b96..badc735 100644 --- a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/cooperateship/req/ListOrgCooperateShipReq.java +++ b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/cooperateship/req/ListOrgCooperateShipReq.java @@ -7,6 +7,7 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import java.util.Collections; import java.util.Set; @NoArgsConstructor @@ -14,67 +15,111 @@ import java.util.Set; @Data @Builder public class ListOrgCooperateShipReq { - @CriteriaField - private Long id; + /** + * 协同关系集合 + */ @CriteriaField(field = "id", operator = Operator.IN) - private Set ids; - @CriteriaField - private Long parentId; - @CriteriaField(field = "parentId", operator = Operator.IN) - private Set parentIds; + @Builder.Default + private Set ids = Collections.emptySet(); /** - * 用于遍历数据 + * 工作台id */ - @CriteriaField(field = "id", operator = Operator.GT) - private Long idGt; - - /** - * 工作台ID - */ - @CriteriaField - private Long workspaceId; @CriteriaField(field = "workspaceId", operator = Operator.IN) - private Long workspaceIds; - - @CriteriaField - private Integer workspaceType; - @CriteriaField(field = "workspaceType", operator = Operator.IN) - private Set workspaceTypes; - - @CriteriaField - private Integer status; - @CriteriaField(field = "status", operator = Operator.IN) - private Set statuses; - - @CriteriaField - private Integer cooperateType; - @CriteriaField(field = "cooperateType", operator = Operator.IN) - private Set cooperateTypes; - - - @CriteriaField - private Integer partnerShip; - @CriteriaField(field = "partnerShip", operator = Operator.IN) - private Set partnerShips; + @Builder.Default + private Set workspaceIds = Collections.emptySet(); /** - * 组织节点id + * 工作台类型 */ - @CriteriaField - private Long organizationalNodeId; - @CriteriaField(field = "organizationalNodeId", operator = Operator.IN) - private Set organizationalNodeIds; + @CriteriaField(field = "workspaceType", operator = Operator.IN) + @Builder.Default + private Set workspaceType = Collections.emptySet(); - @CriteriaField - private Long organizationalUnitId; + /** + * 单位id集合(如果是班组则插入队伍id) + */ @CriteriaField(field = "organizationalUnitId", operator = Operator.IN) - private Long organizationalUnitIds; + @Builder.Default + private Set ouIds = Collections.emptySet(); - @CriteriaField(ignore = true) - private Long personId; + /** + * 指定的协同关系类型 + */ + @CriteriaField(field = "cooperateType", operator = Operator.IN) + @Builder.Default + private Set includeCooperateTypes = Collections.emptySet(); + /** + * 待排除的协同关系类型 + */ + @CriteriaField(field = "cooperateType", operator = Operator.NOT_IN) + @Builder.Default + private Set excludeCooperateTypes = Collections.emptySet(); - @CriteriaField(ignore = true) - private Boolean needParent; + /** + * 节点id + */ + @CriteriaField(field = "organizationalNodeId", operator = Operator.IN) + @Builder.Default + private Set organizationNodeIds = Collections.emptySet(); + + /** + * 合作关系 1.合作 2.直属 + */ + @CriteriaField(field = "partnerShip", operator = Operator.IN) + @Builder.Default + private Set partnerShips = Collections.emptySet(); + + + /** + * 在场状态集合 + */ + @CriteriaField(field = "status", operator = Operator.IN) + @Builder.Default + private Set statuses = Collections.emptySet(); + + /** + * 需要过滤的personId + * personId + */ + private Long filterPersonId; + + /** + * 当personId有值时,为必填项 + * 1只过滤当前节点数据 2过滤当前节点及以下数据 + */ + private Integer filterPersonType; + + /** + * 是否过滤工人 + */ + @Builder.Default + private Boolean isFilterWorker = false; + + + /** + * 人员过滤是否包含已退场 + */ + @Builder.Default + private Boolean includeExitPerson = false; + + /** + * 是否查询祖先节点 + */ + @Builder.Default + private Boolean isSelectAncestors = false; + + /** + * 是否查询子孙节点 + */ + @Builder.Default + private Boolean isSelectDescendant = false; + + /** + * 条件:当需要查询上下级数据时启用 + * 是否只查一级 + */ + @Builder.Default + private Boolean isSelectLevelOne = false; } diff --git a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/cooperateship/resp/OrgCooperateShipDTO.java b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/cooperateship/resp/OrgCooperateShipDTO.java index bd36abc..eeafa89 100644 --- a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/cooperateship/resp/OrgCooperateShipDTO.java +++ b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/cooperateship/resp/OrgCooperateShipDTO.java @@ -90,28 +90,4 @@ public class OrgCooperateShipDTO implements Serializable { */ private JSONObject ext; - /** - * 创建时间 - */ - private Date createAt; - - /** - * 修改时间 - */ - private Date updateAt; - - /** - * 创建人 - */ - private Long createBy; - - /** - * 修改人 - */ - private Long updateBy; - - /** - * 是否删除 - */ - private Long isDelete = 0L; } diff --git a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/node/req/ListNodeReq.java b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/node/req/ListNodeReq.java index 1dc13ec..9394c9a 100644 --- a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/node/req/ListNodeReq.java +++ b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/node/req/ListNodeReq.java @@ -16,36 +16,109 @@ import java.util.Set; @Data @Builder public class ListNodeReq implements IPageReq { - @CriteriaField - private Long id; - @CriteriaField(field = "id", operator = Operator.IN) + /** + * 页数 + */ + private Integer page; + + /** + * 条数 + */ + private Integer pageSize; + + /** + * ids + */ private Set ids; - @CriteriaField - private Long parentId; - @CriteriaField(field = "parentId", operator = Operator.IN) - private Set parentIds; - /** - * 用于遍历数据 - */ - @CriteriaField(field = "id", operator = Operator.GT) - private Long idGt; - @CriteriaField - private Long organizationalUnitId; - @CriteriaField(field = "organizationalUnitId", operator = Operator.IN) - private Long organizationalUnitIds; - @CriteriaField(ignore = true) - private Boolean needParent; - - @CriteriaField(ignore = true) - @Builder.Default - Integer page = 1; /** - * 最大支持1000条数据,不支持单页超过1000的查询,接入方按需分页 + * 组织单位ids */ - @Builder.Default - @CriteriaField(ignore = true) - Integer pageSize = 1000; - @CriteriaField(ignore = true) - List sort; + private Set ouIds; + + /** + * 节点名称集合 + */ + private Set nodeNames; + + /** + * 节点名称查询(模糊) + */ + private Set nodeName; + + /** + * 指定部门类型 + */ + private Set includeOrgNodeTypes; + /** + * 排除部门类型 + */ + private Set excludeOrgNodeTypes; + + /** + * 顶级节点ID集合 + */ + private Set topNodeIds; + + /** + * 是否查询祖先节点 + */ + private Boolean isSelectAncestors; + + /** + * 是否查询子孙节点 + */ + private Boolean isSelectDescendant; + + /** + * 是否查询节点用户 + */ + private Boolean isSelectNodeUser; + + /** + * 是否查询删除的 + */ + private Boolean isSelectDelete; + + /** + * 数据权限缓存数据key + */ + private String dataPermissionCacheKey; + + /** + * 只返回topNode + */ + private Boolean isSelectTopNodeOnly; + + + /** + * 根据workspace和ouId组合查询 + */ + private Set workspaceOuPairs; + + /** + * 需要返回管理员信息 + */ + private Boolean needAdmin; + + /** + * 岗位编码 + */ + private Set jobCodes; + + /** + * 当前用户personId + */ + private Long personId; + + + @NoArgsConstructor + @AllArgsConstructor + @Data + @Builder + public static class WorkspaceOuPair { + private Long workspaceId; + private Long ouId; + } + } diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/cooperateship/entity/SaasCooperateShip.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/cooperateship/entity/SaasCooperateShip.java index 018535d..fd1973c 100644 --- a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/cooperateship/entity/SaasCooperateShip.java +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/cooperateship/entity/SaasCooperateShip.java @@ -18,8 +18,8 @@ import lombok.experimental.Accessors; import lombok.experimental.SuperBuilder; import java.io.Serializable; -import java.util.Date; -import java.util.Objects; +import java.util.*; +import java.util.stream.Collectors; /** * (SaasCooperateShip)表实体类 @@ -37,6 +37,9 @@ import java.util.Objects; @EqualsAndHashCode(callSuper = false) public class SaasCooperateShip implements Serializable { + + public static final String PATH_SPLITER = ","; + /** * 主健 */ @@ -164,5 +167,37 @@ public class SaasCooperateShip implements Serializable { private final String desc; } + /** + * 是否为根节点 + * @param path + * @return + */ + public boolean isRootNode(String path) { + return !path.contains(PATH_SPLITER); + } + + /** + * 从path中提取祖先的节点id + * @return + */ + public List parseAncestorIdsFromPath() { + if (isRootNode(path)) { + // 根节点没有父节点 + return Collections.emptyList(); + } + List parentIds = parsePath(path); + // 移除路径的最后一个结点 + return parentIds.subList(0, parentIds.size() - 1); + } + + /** + * 解析path + * @param path + * @return + */ + public List parsePath(String path) { + return Arrays.stream(path.split(PATH_SPLITER)).map(e -> Long.valueOf(e.trim())).collect(Collectors.toList()); + } + } diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/cooperateship/repository/CooperateShipQueryRepository.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/cooperateship/repository/CooperateShipQueryRepository.java index 99aeed3..2f9afb9 100644 --- a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/cooperateship/repository/CooperateShipQueryRepository.java +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/cooperateship/repository/CooperateShipQueryRepository.java @@ -15,13 +15,13 @@ import java.util.Optional; public interface CooperateShipQueryRepository { - List list(ListOrgCooperateShipReq req); + List list(ListOrgCooperateShipReq req); - default CooperateShipResp one(OneReq req) { + default SaasCooperateShip one(OneReq req) { return oneOpt(req).orElse(null); } - default Optional oneOpt(OneReq req) { + default Optional oneOpt(OneReq req) { req.check(); ListOrgCooperateShipReq listReq = BeanUtil.toBean(req, ListOrgCooperateShipReq.class); return list(listReq).stream().findFirst(); @@ -45,7 +45,7 @@ public interface CooperateShipQueryRepository { @AllArgsConstructor @Data @SuperBuilder - class CooperateShipResp extends SaasCooperateShip { + class CooperateShip extends SaasCooperateShip { // 按需扩展字段,占个位。避免报错 private String todo; } diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/cooperateship/repository/impl/CooperateShipQueryRepositoryImpl.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/cooperateship/repository/impl/CooperateShipQueryRepositoryImpl.java index 2c91018..623f9b4 100644 --- a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/cooperateship/repository/impl/CooperateShipQueryRepositoryImpl.java +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/cooperateship/repository/impl/CooperateShipQueryRepositoryImpl.java @@ -27,29 +27,29 @@ public class CooperateShipQueryRepositoryImpl implements CooperateShipQueryRepos private final NodeUserQueryRepository nodeUserQueryRepository; @Override - public List list(ListOrgCooperateShipReq req) { + public List list(ListOrgCooperateShipReq req) { QueryWrapper wrapper = QueryWrapperHelper.fromBean(req, SaasCooperateShip.class); if (wrapper.isEmptyOfWhere()) { // log.warn("CooperateShipResp empty of where query. return empty list. req = {}", req); return Collections.emptyList(); } - List results = cooperateShipDao.list(wrapper) - .stream().map(e -> BeanUtil.toBean(e, CooperateShipResp.class)).collect(Collectors.toList()); + List results = cooperateShipDao.list(wrapper) + .stream().map(e -> BeanUtil.toBean(e, SaasCooperateShip.class)).collect(Collectors.toList()); results = filterByPersonIds(results, req); return results; } - private List filterByPersonIds(List results, ListOrgCooperateShipReq req) { - if (req.getPersonId() == null) { + private List filterByPersonIds(List results, ListOrgCooperateShipReq req) { + if (req.getFilterPersonId() == null) { // filter by personIds return results; } Set organizationalNodeIds = results.stream().map(SaasCooperateShip::getOrganizationalNodeId).collect(Collectors.toSet()); Set personInNodeIds = nodeUserQueryRepository.list(ListNodeUserReq.builder() - .personId(req.getPersonId()) + .personId(req.getFilterPersonId()) .organizationalNodeIds(organizationalNodeIds) .build()) .stream().map(NodeUserQueryRepository.NodeUserResp::getTopNodeId).collect(Collectors.toSet()); diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/cooperateship/foundation/CooperateShipFoundationService.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/cooperateship/foundation/CooperateShipFoundationService.java new file mode 100644 index 0000000..4a640db --- /dev/null +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/cooperateship/foundation/CooperateShipFoundationService.java @@ -0,0 +1,23 @@ +package cn.axzo.orgmanax.server.cooperateship.foundation; + +import cn.axzo.orgmanax.infra.dao.cooperateship.entity.SaasCooperateShip; + +import java.util.List; +import java.util.Set; + +public interface CooperateShipFoundationService { + + /** + * 通过person进行过滤 + * @param filterPersonId + * @param list + */ + void filterByPerson(Long filterPersonId, List list); + + /** + * 提取祖级的数据 + * @param list + * @return + */ + Set extractAncestorIds(List list); +} diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/cooperateship/foundation/impl/CooperateShipFoundationServiceImpl.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/cooperateship/foundation/impl/CooperateShipFoundationServiceImpl.java new file mode 100644 index 0000000..525d851 --- /dev/null +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/cooperateship/foundation/impl/CooperateShipFoundationServiceImpl.java @@ -0,0 +1,44 @@ +package cn.axzo.orgmanax.server.cooperateship.foundation.impl; + +import cn.axzo.orgmanax.api.nodeuser.req.ListNodeUserReq; +import cn.axzo.orgmanax.infra.dao.cooperateship.entity.SaasCooperateShip; +import cn.axzo.orgmanax.infra.dao.nodeuser.repository.NodeUserQueryRepository; +import cn.axzo.orgmanax.server.cooperateship.foundation.CooperateShipFoundationService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; + +@RequiredArgsConstructor +@Service +public class CooperateShipFoundationServiceImpl implements CooperateShipFoundationService { + + + private final NodeUserQueryRepository nodeUserQueryRepository; + + @Override + public void filterByPerson(Long filterPersonId, List list) { + + if (filterPersonId == null) { + return; + } + Set organizationalNodeIds = list.stream().map(SaasCooperateShip::getOrganizationalNodeId).collect(Collectors.toSet()); + Set personInNodeIds = nodeUserQueryRepository.list(ListNodeUserReq.builder() + .personId(filterPersonId) + .organizationalNodeIds(organizationalNodeIds) + .build()) + .stream().map(NodeUserQueryRepository.NodeUserResp::getTopNodeId).collect(Collectors.toSet()); + list.removeIf(t -> !personInNodeIds.contains(t.getOrganizationalNodeId())); + + } + + @Override + public Set extractAncestorIds(List list) { + return list.stream() + .flatMap(e -> e.parseAncestorIdsFromPath().stream()) + .collect(Collectors.toSet()); + } + +} diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/cooperateship/service/CooperateShipService.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/cooperateship/service/CooperateShipService.java index 0e31668..93600f7 100644 --- a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/cooperateship/service/CooperateShipService.java +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/cooperateship/service/CooperateShipService.java @@ -3,6 +3,7 @@ package cn.axzo.orgmanax.server.cooperateship.service; import cn.axzo.foundation.exception.Axssert; import cn.axzo.orgmanax.api.cooperateship.req.ListOrgCooperateShipReq; import cn.axzo.orgmanax.api.cooperateship.resp.OrgCooperateShipDTO; +import cn.axzo.orgmanax.infra.dao.cooperateship.entity.SaasCooperateShip; import cn.axzo.orgmanax.infra.dao.cooperateship.repository.CooperateShipQueryRepository; import lombok.AllArgsConstructor; import lombok.Builder; @@ -13,7 +14,7 @@ import java.util.List; public interface CooperateShipService { - CooperateShipQueryRepository.CooperateShipResp create(CreateReq req); + SaasCooperateShip create(CreateReq req); List list(ListOrgCooperateShipReq req); diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/cooperateship/service/impl/CooperateShipServiceImpl.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/cooperateship/service/impl/CooperateShipServiceImpl.java index 00c8cd2..8faa697 100644 --- a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/cooperateship/service/impl/CooperateShipServiceImpl.java +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/cooperateship/service/impl/CooperateShipServiceImpl.java @@ -9,26 +9,29 @@ import cn.axzo.orgmanax.api.cooperateship.req.ListOrgCooperateShipReq; import cn.axzo.orgmanax.api.cooperateship.resp.CooperateShipStatusEnum; import cn.axzo.orgmanax.api.cooperateship.resp.CooperateShipTypeEnum; import cn.axzo.orgmanax.api.cooperateship.resp.OrgCooperateShipDTO; +import cn.axzo.orgmanax.api.nodeuser.req.ListNodeUserReq; import cn.axzo.orgmanax.common.config.BizResultCode; import cn.axzo.orgmanax.infra.client.workspace.WorkspaceGateway; import cn.axzo.orgmanax.infra.dao.cooperateship.entity.SaasCooperateShip; import cn.axzo.orgmanax.infra.dao.cooperateship.repository.CooperateShipQueryRepository; import cn.axzo.orgmanax.infra.dao.cooperateship.repository.CooperateShipUpsertRepository; import cn.axzo.orgmanax.infra.dao.node.repository.NodeQueryRepository; +import cn.axzo.orgmanax.infra.dao.nodeuser.repository.NodeUserQueryRepository; import cn.axzo.orgmanax.infra.dao.unit.repository.UnitQueryRepository; import cn.axzo.orgmanax.server.cooperateship.event.inner.CooperateShipEventType; import cn.axzo.orgmanax.server.cooperateship.event.inner.payload.CoopeateShipUpsertedPayload; +import cn.axzo.orgmanax.server.cooperateship.foundation.CooperateShipFoundationService; import cn.axzo.orgmanax.server.cooperateship.service.CooperateShipService; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.BooleanUtil; +import cn.hutool.core.util.ObjectUtil; import com.google.common.collect.ImmutableSet; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.Set; +import java.util.*; import java.util.stream.Collectors; @Slf4j @@ -53,9 +56,11 @@ public class CooperateShipServiceImpl implements CooperateShipService { private final UnitQueryRepository unitQueryRepository; private final WorkspaceGateway workspaceGateway; private final EventProducer eventProducer; + private final CooperateShipFoundationService cooperateShipFoundationService; + private final NodeUserQueryRepository nodeUserQueryRepository; @Override - public CooperateShipQueryRepository.CooperateShipResp create(CreateReq req) { + public SaasCooperateShip create(CreateReq req) { // node check NodeQueryRepository.NodeResp node = nodeQueryRepository.oneOpt(NodeQueryRepository.OneReq.builder().id(req.getOrganizationalNodeId()).build()) .orElseThrow(() -> BizResultCode.ENTITY_NOT_FOUND.toException("部门不存在{}", req.getOrganizationalNodeId())); @@ -63,7 +68,7 @@ public class CooperateShipServiceImpl implements CooperateShipService { // workspace check WorkspaceDetailResp workspace = workspaceGateway.getDetail(WorkspaceDetailReq.builder().id(req.getWorkspaceId()).build()); Axssert.checkNonNull(workspace, "工作台不存在{}", req.getWorkspaceId()); - CooperateShipQueryRepository.CooperateShipResp parentShip = null; + SaasCooperateShip parentShip = null; if (!ALLOWED_TOP_COOPERATE_TYPES.contains(req.getCooperateType())) { Axssert.check(req.getParentId() > 0L, BizResultCode.INVALID_PARAM, "父级协同类型不能为空"); parentShip = cooperateShipQueryRepository @@ -119,9 +124,26 @@ public class CooperateShipServiceImpl implements CooperateShipService { @Override public List list(ListOrgCooperateShipReq req) { - List results = cooperateShipQueryRepository.list(req).stream() - .map(e -> BeanUtil.toBean(e, OrgCooperateShipDTO.class)).collect(Collectors.toList()); - // assemble other data - return results; + + boolean isFilterCurrentNodeByPerson = ObjectUtil.isNotNull(req.getFilterPersonId()) && Objects.equals(req.getFilterPersonType(), 1); + + // 根据入参查询数据 + List list = cooperateShipQueryRepository.list(req); + if (CollUtil.isEmpty(list)) { + return Collections.emptyList(); + } + + // 是否根据person过滤当前节点 + if (isFilterCurrentNodeByPerson) { + cooperateShipFoundationService.filterByPerson(req.getFilterPersonId(), list); + } + + // 是否查询祖先 + if (BooleanUtil.isTrue(req.getIsSelectAncestors())) { + Set ancestorIds = cooperateShipFoundationService.extractAncestorIds(list); + List ancestorShipNodes = cooperateShipQueryRepository.list(ListOrgCooperateShipReq.builder().ids(ancestorIds).build()); + list.addAll(ancestorShipNodes); + } + return BeanUtil.copyToList(list, OrgCooperateShipDTO.class); } } diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/nodeuser/foundation/impl/NodeUserFoundationServiceImpl.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/nodeuser/foundation/impl/NodeUserFoundationServiceImpl.java index 1d346f9..16e6371 100644 --- a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/nodeuser/foundation/impl/NodeUserFoundationServiceImpl.java +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/nodeuser/foundation/impl/NodeUserFoundationServiceImpl.java @@ -7,6 +7,7 @@ import cn.axzo.orgmanax.common.config.BizResultCode; import cn.axzo.orgmanax.infra.client.profile.PersonProfileGateway; import cn.axzo.orgmanax.infra.client.profile.dto.ProfileIdentityResp; import cn.axzo.orgmanax.infra.client.profile.dto.ProfilePersonResp; +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.entity.OrganizationalNode; import cn.axzo.orgmanax.infra.dao.node.repository.NodeQueryRepository; @@ -134,7 +135,7 @@ public class NodeUserFoundationServiceImpl implements NodeUserFoundationService } return cooperateShipQueryRepository.oneOpt(CooperateShipQueryRepository.OneReq.builder() .organizationalNodeId(node.getOrganizationalUnitId()) - .build()).map(CooperateShipQueryRepository.CooperateShipResp::getWorkspaceId) + .build()).map(SaasCooperateShip::getWorkspaceId) .orElseThrow(() -> BizResultCode.ENTITY_NOT_FOUND.toException("部门人员所属项目未找到,请稍后重试")); }