feat:[REQ-3488] integration 依赖从service改为infra

This commit is contained in:
liuyang 2025-01-07 10:57:35 +08:00
parent 5e713cef20
commit eed1b6747c
5 changed files with 64 additions and 29 deletions

View File

@ -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;
}

View File

@ -14,6 +14,12 @@
<dependencies>
<dependency>
<groupId>cn.axzo.orgmanax</groupId>
<artifactId>orgmanax-infra</artifactId>
<version>${project.version}</version>
</dependency>
<!-- 三方依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
@ -36,11 +42,6 @@
<artifactId>elise-new-api</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>cn.axzo.orgmanax</groupId>
<artifactId>orgmanax-server</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>cn.axzo.event-hub</groupId>
<artifactId>event-hub-api</artifactId>

View File

@ -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<OrgCooperateShipDTO> 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, "操作人不能为空 ");
}
}
}

View File

@ -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());

View File

@ -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())