|
@@ -4,6 +4,7 @@ import lombok.AllArgsConstructor;
|
|
import org.springblade.archive.external.bean.ExternalDataInfo;
|
|
import org.springblade.archive.external.bean.ExternalDataInfo;
|
|
import org.springblade.archive.external.utils.TransUtil;
|
|
import org.springblade.archive.external.utils.TransUtil;
|
|
import org.springblade.archive.trans.ArchiveReq;
|
|
import org.springblade.archive.trans.ArchiveReq;
|
|
|
|
+import org.springblade.manager.feign.ArchiveTreeContractClient;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
@@ -18,8 +19,11 @@ public class ExternalDataArchiveBuildService {
|
|
@Autowired
|
|
@Autowired
|
|
private ExternalDataArchiveTreeService externalTreeService;
|
|
private ExternalDataArchiveTreeService externalTreeService;
|
|
|
|
|
|
|
|
+
|
|
private ExternalDataArchiveMetaService externalMetaService;
|
|
private ExternalDataArchiveMetaService externalMetaService;
|
|
|
|
|
|
|
|
+ private final ArchiveTreeContractClient archiveTreeContractClient;
|
|
|
|
+
|
|
|
|
|
|
/**
|
|
/**
|
|
*
|
|
*
|
|
@@ -31,7 +35,39 @@ public class ExternalDataArchiveBuildService {
|
|
throw new IllegalArgumentException("请求参数不能为空");
|
|
throw new IllegalArgumentException("请求参数不能为空");
|
|
}
|
|
}
|
|
|
|
|
|
- ExternalDataInfo externalDataInfo = externalTreeService.getDataByIds(req.getNodeId(),req.getRemoteId());
|
|
|
|
|
|
+ // 当 transType 为 1 时,使用新方式获取 remoteId, 并且在传输开始时设置
|
|
|
|
+ if (req.getTransType() != null && req.getTransType() == 1 && req.getType()== 0) {
|
|
|
|
+ // 获取节点ID
|
|
|
|
+ Long remoteIdLong = archiveTreeContractClient.getNodeIdByName(
|
|
|
|
+ req.getProjectName(),
|
|
|
|
+ req.getContractName(),
|
|
|
|
+ req.getNodeName()
|
|
|
|
+ );
|
|
|
|
+
|
|
|
|
+ if (remoteIdLong == null) {
|
|
|
|
+ throw new RuntimeException("无法找到匹配的节点: " +
|
|
|
|
+ req.getProjectName() + "/" +
|
|
|
|
+ req.getContractName() + "/" +
|
|
|
|
+ req.getNodeName());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 将 Long 转换为 String
|
|
|
|
+ req.setRemoteId(String.valueOf(remoteIdLong));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 调用获取数据的方法
|
|
|
|
+ ExternalDataInfo externalDataInfo = externalTreeService.getDataByIds(
|
|
|
|
+ req.getNodeId(),
|
|
|
|
+ req.getRemoteId(),
|
|
|
|
+ req.getProjectName(),
|
|
|
|
+ req.getContractName(),
|
|
|
|
+ req.getNodeName(),
|
|
|
|
+ req.getTransType()
|
|
|
|
+ );
|
|
|
|
+
|
|
|
|
+ if (externalDataInfo == null) {
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
|
|
switch (req.getType()) {
|
|
switch (req.getType()) {
|
|
case 0:
|
|
case 0:
|