From 2d9d0d1e38f23f97a837524a3219f1b52b7aabc1 Mon Sep 17 00:00:00 2001 From: zhuxinru Date: Thu, 16 Apr 2026 13:52:51 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E6=8A=A5=E5=91=8A=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E5=8D=87=E7=89=88=E7=BB=91=E5=AE=9A=E7=9A=84=E6=96=87=E4=BB=B6?= =?UTF-8?q?id=E4=B8=8D=E5=A4=8D=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SimulationReportTemplateServiceImpl.java | 35 +++++++++++++++---- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/capability/src/main/java/com/sdm/capability/service/impl/SimulationReportTemplateServiceImpl.java b/capability/src/main/java/com/sdm/capability/service/impl/SimulationReportTemplateServiceImpl.java index e1573c48..d0dfe148 100644 --- a/capability/src/main/java/com/sdm/capability/service/impl/SimulationReportTemplateServiceImpl.java +++ b/capability/src/main/java/com/sdm/capability/service/impl/SimulationReportTemplateServiceImpl.java @@ -159,15 +159,36 @@ public class SimulationReportTemplateServiceImpl extends ServiceImpl response = dataFeignClient.uploadReportTemplateFile(req); + // 升版选了新的报告模板 + file = templateDto.getFile(); + } else { + // 升版继承了上次的报告模板 需要重新下载再上传 不然删除一个版本会把相同fileId的级联删除 + GetFileBaseInfoReq fileBaseInfoReq = new GetFileBaseInfoReq(); + fileBaseInfoReq.setFileId(templateDto.getFileId()); + SdmResponse fileBaseInfoResp = dataFeignClient.getFileBaseInfo(fileBaseInfoReq); + if (!fileBaseInfoResp.isSuccess() || fileBaseInfoResp.getData() == null) { + return SdmResponse.failed("获取文件失败"); + } + SdmResponse response = dataFeignClient.getMultipartFileByFileId(templateDto.getFileId()); if (!response.isSuccess()) { return response; } - upgradeTemplate.setFileId(response.getData()); + file = new MockMultipartFile( + fileBaseInfoResp.getData().getOriginalName(), + fileBaseInfoResp.getData().getOriginalName(), + "application/octet-stream", + response.getData() + ); } + UploadFilesReq req = new UploadFilesReq(); + req.setFile(file); + SdmResponse response = dataFeignClient.uploadReportTemplateFile(req); + if (!response.isSuccess()) { + return response; + } + upgradeTemplate.setFileId(response.getData()); this.save(upgradeTemplate); return SdmResponse.success(upgradeTemplate.getUuid()); } @@ -214,9 +235,9 @@ public class SimulationReportTemplateServiceImpl extends ServiceImpl