From 9f84116de7f7837225851434f8e876b4959af2b1 Mon Sep 17 00:00:00 2001 From: gulongcheng <474084054@qq.com> Date: Fri, 20 Mar 2026 17:21:03 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix=EF=BC=9A=E6=96=87=E4=BB=B6=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=E8=B7=B3=E8=BF=87=E6=9D=83=E9=99=90=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sdm/data/service/impl/FileSimulationMappingServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/data/src/main/java/com/sdm/data/service/impl/FileSimulationMappingServiceImpl.java b/data/src/main/java/com/sdm/data/service/impl/FileSimulationMappingServiceImpl.java index e9d48140..68ec0389 100644 --- a/data/src/main/java/com/sdm/data/service/impl/FileSimulationMappingServiceImpl.java +++ b/data/src/main/java/com/sdm/data/service/impl/FileSimulationMappingServiceImpl.java @@ -111,6 +111,7 @@ public class FileSimulationMappingServiceImpl extends ServiceImpl fileMetadataInfos = fileMetadataInfoService .lambdaQuery() .in(FileMetadataInfo::getId, list.stream().map(FileSimulationMapping::getFileId).toList()) + .isNull(FileMetadataInfo::getDeletedAt) // ===================== 兼容 userId 为空 ===================== // 如果 userId 不为空:区分自己/别人 .nested(!Objects.isNull(userId), wrapper -> wrapper From 87016e95e9133476790b738d2798de8d3e7d42a6 Mon Sep 17 00:00:00 2001 From: zhuxinru Date: Fri, 20 Mar 2026 17:49:56 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix:=E5=88=86=E7=89=87=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E5=90=8C=E5=90=8D=E6=96=87=E4=BB=B6=E8=A6=86=E7=9B=96&?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E6=8A=A5=E5=91=8A=E5=90=8D=E7=A7=B0=E4=B8=BA?= =?UTF-8?q?=E5=B7=A5=E5=86=B5+=E6=97=B6=E9=97=B4=E6=88=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/MinioFileIDataFileServiceImpl.java | 28 +++++++++++++------ .../impl/SimulationRunServiceImpl.java | 3 +- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/data/src/main/java/com/sdm/data/service/impl/MinioFileIDataFileServiceImpl.java b/data/src/main/java/com/sdm/data/service/impl/MinioFileIDataFileServiceImpl.java index 20386fe4..ba183e79 100644 --- a/data/src/main/java/com/sdm/data/service/impl/MinioFileIDataFileServiceImpl.java +++ b/data/src/main/java/com/sdm/data/service/impl/MinioFileIDataFileServiceImpl.java @@ -2315,7 +2315,15 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService { SdmResponse existsResponse = ensureFileNotExists(fileMinioObjectKey); if (!existsResponse.isSuccess()) { - return SdmResponse.failed(existsResponse.getMessage()); + if (!req.getIsConverSameNameFile()) { + return SdmResponse.failed(existsResponse.getMessage()); + } else { + // 同名文件覆盖 更新一下时间 + FileMetadataInfo fileMetadataInfo = fileMetadataInfoService.lambdaQuery().eq(FileMetadataInfo::getObjectKey, fileMinioObjectKey).one(); + fileMetadataInfo.setUpdateTime(LocalDateTime.now()); + fileMetadataInfoService.updateById(fileMetadataInfo); + return buildBatchUploadSuccess(originalName, fileMetadataInfo.getId(), uploadFileId, req.getUploadTaskId(), fileMinioObjectKey); + } } try { @@ -2343,19 +2351,23 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService { bindSimulationPool(req, fileInfo); createFilePermission(fileInfo.getId()); - BatchAddFileInfoResp addFileInfoResp = new BatchAddFileInfoResp(); - addFileInfoResp.setSourceFileName(originalName); - addFileInfoResp.setBusinessId(fileInfo.getId()); - addFileInfoResp.setUploadFileId(uploadFileId); - addFileInfoResp.setUploadTaskId(req.getUploadTaskId()); - addFileInfoResp.setObjectKey(fileMinioObjectKey); - return SdmResponse.success(addFileInfoResp); + return buildBatchUploadSuccess(originalName, fileInfo.getId(), uploadFileId, req.getUploadTaskId(), fileMinioObjectKey); } catch (Exception e) { log.error("上传文件失败", e); throw new RuntimeException("上传文件失败: " + e.getMessage(), e); } } + private SdmResponse buildBatchUploadSuccess(String originalName, Long fileId, String uploadFileId, String uploadTaskId, String fileMinioObjectKey) { + BatchAddFileInfoResp addFileInfoResp = new BatchAddFileInfoResp(); + addFileInfoResp.setSourceFileName(originalName); + addFileInfoResp.setBusinessId(fileId); + addFileInfoResp.setUploadFileId(uploadFileId); + addFileInfoResp.setUploadTaskId(uploadTaskId); + addFileInfoResp.setObjectKey(fileMinioObjectKey); + return SdmResponse.success(addFileInfoResp); + } + private SdmResponse resolveUploadDirectory(UploadFilesReq req) { diff --git a/project/src/main/java/com/sdm/project/service/impl/SimulationRunServiceImpl.java b/project/src/main/java/com/sdm/project/service/impl/SimulationRunServiceImpl.java index 3f7f4e1f..f4be41a1 100644 --- a/project/src/main/java/com/sdm/project/service/impl/SimulationRunServiceImpl.java +++ b/project/src/main/java/com/sdm/project/service/impl/SimulationRunServiceImpl.java @@ -1162,8 +1162,9 @@ public class SimulationRunServiceImpl extends ServiceImpl