feat:[REQ-3488] TreeUtil迁移到dto包中

This commit is contained in:
liuyang 2025-01-07 11:19:15 +08:00
parent eed1b6747c
commit ca0b8e1cf5
2 changed files with 11 additions and 5 deletions

View File

@ -1,4 +1,4 @@
package cn.axzo.orgmanax.common.util;
package cn.axzo.orgmanax.dto.common.util;
import cn.axzo.orgmanax.dto.common.IBaseTree;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.Assert;

View File

@ -34,6 +34,8 @@ import com.google.common.collect.ImmutableSet;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.support.TransactionTemplate;
import java.util.*;
import java.util.stream.Collectors;
@ -61,20 +63,22 @@ public class CooperateShipServiceImpl implements CooperateShipService {
private final WorkspaceGateway workspaceGateway;
private final EventProducer eventProducer;
private final CooperateShipFoundationService cooperateShipFoundationService;
private final OrgJobFoundationService orgJobFoundationService;
private final TransactionTemplate transactionTemplate;
@Transactional
@Override
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());
Axssert.checkNonNull(workspace, "工作台不存在{}", req.getWorkspaceId());
// cooperate check
SaasCooperateShip parentShip = null;
if (!ALLOWED_TOP_COOPERATE_TYPES.contains(req.getCooperateType())) {
Axssert.check(req.getParentId() > 0L, BizResultCode.INVALID_PARAM, "父级协同类型不能为空");
@ -84,6 +88,7 @@ public class CooperateShipServiceImpl implements CooperateShipService {
Axssert.check(Objects.equals(parentShip.getWorkspaceId(), req.getWorkspaceId()), BizResultCode.INVALID_PARAM, "父级协同部门和要加入部门不是同一个工作台");
}
// unit check
UnitQueryRepository.UnitResp unit = unitQueryRepository.oneOpt(UnitQueryRepository.OneReq.builder()
.id(node.getId())
.build()).orElseThrow(() -> BizResultCode.ENTITY_NOT_FOUND.toException("单位不存在{}", node.getOrganizationalUnitId()));
@ -102,6 +107,7 @@ public class CooperateShipServiceImpl implements CooperateShipService {
.partnerShip(req.getPartnerShip())
.createBy(req.getOperatorId())
.build();
SaasCooperateShip savedCooperateShip = cooperateShipUpsertRepository.create(cooperateShip);
// update path