From eed1b6747c49ed984ccb8fdc681b9686de319af9 Mon Sep 17 00:00:00 2001 From: liuyang Date: Tue, 7 Jan 2025 10:57:35 +0800 Subject: [PATCH] =?UTF-8?q?feat:[REQ-3488]=20integration=20=E4=BE=9D?= =?UTF-8?q?=E8=B5=96=E4=BB=8Eservice=E6=94=B9=E4=B8=BAinfra?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../req/CreateOrgCooperateShipReq.java | 44 +++++++++++++++++++ orgmanax-integration/pom.xml | 11 ++--- .../service/CooperateShipService.java | 28 +++--------- .../impl/CooperateShipServiceImpl.java | 6 ++- .../processor/impl/CreateNodeProcessor.java | 4 +- 5 files changed, 64 insertions(+), 29 deletions(-) create mode 100644 orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/cooperateship/req/CreateOrgCooperateShipReq.java diff --git a/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/cooperateship/req/CreateOrgCooperateShipReq.java b/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/cooperateship/req/CreateOrgCooperateShipReq.java new file mode 100644 index 0000000..3b934e6 --- /dev/null +++ b/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/cooperateship/req/CreateOrgCooperateShipReq.java @@ -0,0 +1,44 @@ +package cn.axzo.orgmanax.dto.cooperateship.req; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@NoArgsConstructor +@AllArgsConstructor +@Data +@Builder +public class CreateOrgCooperateShipReq { + + /** + * 工作台ID + */ + private Long workspaceId; + + /** + * 组织节点ID + */ + private Long organizationalNodeId; + + /** + * 上级节点 + */ + private Long parentId; + + /** + * 协同关系类型 + */ + private Integer cooperateType; + + /** + * 协作关系 + */ + private Integer partnerShip; + + /** + * 操作人 + */ + private Long operatorId; + +} diff --git a/orgmanax-integration/pom.xml b/orgmanax-integration/pom.xml index 5886622..1e42e50 100644 --- a/orgmanax-integration/pom.xml +++ b/orgmanax-integration/pom.xml @@ -14,6 +14,12 @@ + + cn.axzo.orgmanax + orgmanax-infra + ${project.version} + + org.springframework.cloud @@ -36,11 +42,6 @@ elise-new-api ${project.version} - - cn.axzo.orgmanax - orgmanax-server - ${revision} - cn.axzo.event-hub event-hub-api 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 0d28a89..8066226 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 @@ -1,6 +1,7 @@ package cn.axzo.orgmanax.server.cooperateship.service; import cn.axzo.foundation.exception.Axssert; +import cn.axzo.orgmanax.dto.cooperateship.req.CreateOrgCooperateShipReq; import cn.axzo.orgmanax.dto.cooperateship.req.ListOrgCooperateShipReq; import cn.axzo.orgmanax.dto.cooperateship.dto.OrgCooperateShipDTO; import cn.axzo.orgmanax.infra.dao.cooperateship.entity.SaasCooperateShip; @@ -18,28 +19,13 @@ public interface CooperateShipService { * @param req * @return */ - SaasCooperateShip create(CreateReq req); + SaasCooperateShip create(CreateOrgCooperateShipReq req); + /** + * 查询协同关系 + * @param req + * @return + */ List list(ListOrgCooperateShipReq req); - @NoArgsConstructor - @AllArgsConstructor - @Data - @Builder - class CreateReq { - private Long workspaceId; - private Long organizationalNodeId; - private Long parentId; - private Integer cooperateType; - private Integer partnerShip; - private Long operatorId; - - public void check() { - Axssert.checkNonNull(workspaceId, "工作台id不能为空"); - Axssert.checkNonNull(organizationalNodeId, "部门id不能为空"); - Axssert.checkNonNull(parentId, "上级协同部门不能为空"); - Axssert.checkNonNull(cooperateType, "参建类型不能为空"); - Axssert.checkNonNull(operatorId, "操作人不能为空 "); - } - } } 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 0947d32..1414042 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 @@ -5,6 +5,7 @@ import cn.axzo.apollo.workspace.api.v2.workspace.resp.WorkspaceDetailResp; import cn.axzo.foundation.event.support.Event; import cn.axzo.foundation.event.support.producer.EventProducer; import cn.axzo.foundation.exception.Axssert; +import cn.axzo.orgmanax.dto.cooperateship.req.CreateOrgCooperateShipReq; import cn.axzo.orgmanax.dto.cooperateship.req.ListOrgCooperateShipReq; import cn.axzo.orgmanax.dto.cooperateship.enums.CooperateShipStatusEnum; import cn.axzo.orgmanax.dto.cooperateship.enums.CooperateShipTypeEnum; @@ -63,10 +64,13 @@ public class CooperateShipServiceImpl implements CooperateShipService { private final OrgJobFoundationService orgJobFoundationService; @Override - public SaasCooperateShip create(CreateReq req) { + public SaasCooperateShip create(CreateOrgCooperateShipReq req) { // node check OrganizationalNode node = nodeQueryRepository.oneOpt(NodeQueryRepository.OneReq.builder().id(req.getOrganizationalNodeId()).build()) .orElseThrow(() -> BizResultCode.ENTITY_NOT_FOUND.toException("部门不存在{}", req.getOrganizationalNodeId())); + +// OrganizationalNode node = nodeQueryRepository.one(NodeQueryRepository.OneReq.builder().id(req.getOrganizationalNodeId()).build()); + Axssert.check(node.isTopNode(), BizResultCode.INVALID_PARAM, "只有顶级节点才能添加协同关系"); // workspace check WorkspaceDetailResp workspace = workspaceGateway.getDetail(WorkspaceDetailReq.builder().id(req.getWorkspaceId()).build()); diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/service/processor/impl/CreateNodeProcessor.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/service/processor/impl/CreateNodeProcessor.java index ea5103c..f41a6e6 100644 --- a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/service/processor/impl/CreateNodeProcessor.java +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/service/processor/impl/CreateNodeProcessor.java @@ -6,6 +6,7 @@ import cn.axzo.apollo.workspace.api.v2.workspace.resp.WorkspaceDTO; import cn.axzo.apollo.workspace.api.v2.workspace.resp.WorkspaceDetailListResp; import cn.axzo.orgmanax.dto.cooperateship.enums.CooperateShipTypeEnum; import cn.axzo.orgmanax.common.config.BizResultCode; +import cn.axzo.orgmanax.dto.cooperateship.req.CreateOrgCooperateShipReq; import cn.axzo.orgmanax.dto.nodeuser.enums.NodeUserTypeEnum; import cn.axzo.orgmanax.infra.client.workspace.WorkspaceGateway; import cn.axzo.orgmanax.infra.client.workspace.dto.Workspace; @@ -69,9 +70,8 @@ public class CreateNodeProcessor implements NodeProcessor { .build()).stream().findFirst().orElseThrow(() -> BizResultCode.ENTITY_NOT_FOUND.toException("没有企业工作台")); // 创建协同关系 - cooperateShipService.create(CooperateShipService.CreateReq.builder() + cooperateShipService.create(CreateOrgCooperateShipReq.builder() .workspaceId(workspace.getId()) - // TODO TOCHECK .cooperateType(CooperateShipTypeEnum.ENT_COMMON.getCode()) .partnerShip(SaasCooperateShip.ParterShipEnum.OWNED.getCode()) .organizationalNodeId(node.getTopNodeId())