From dd8f900beca04ab5ec40da7ac81c450d64eff899 Mon Sep 17 00:00:00 2001 From: chenxudong Date: Mon, 24 Mar 2025 14:18:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=A8=E6=81=A2=E5=A4=8D=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E6=96=B0=E5=A2=9E=E4=BA=86=E5=90=8C=E5=90=8D?= =?UTF-8?q?=E5=90=8C=E5=90=8E=E7=BC=80=E7=9A=84=E5=88=A4=E6=96=AD=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/serviceimpl/FileRecycleServiceImpl.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/FileRecycleServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/FileRecycleServiceImpl.java index 1a6cfd3..abe6046 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/FileRecycleServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/FileRecycleServiceImpl.java @@ -153,6 +153,19 @@ public class FileRecycleServiceImpl implements FileRecycleService { .eq(EdFileInfo::getFileId, fileId) .last("limit 1")); EdFileInfo edFileInfo = edFileInfos.get(0); + + String parentId = edFileInfo.getParentId(); + Long count = this.edFileInfoMapper.selectCount(Wrappers.lambdaQuery(EdFileInfo.class).eq(EdFileInfo::getParentId, parentId) + .eq(EdFileInfo::getFileName, edFileInfo.getFileName()) + .eq(EdFileInfo::getFileType, edFileInfo.getFileType()) + .eq(EdFileInfo::getDataType, EleDataTypeEnum.FILE.code) + .eq(EdFileInfo::getAllDeleted, false) + .eq(EdFileInfo::getPermanentDeleted, false) + .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)); + if (count > 0) { + return ElectromagneticResultUtil.fail("-1", "目录下存在相同名称和后缀的文件,恢复失败"); + } + this.edFileInfoMapper.update(new EdFileInfo(), Wrappers.lambdaUpdate(EdFileInfo.class).set(EdFileInfo::getAllDeleted, false).eq(EdFileInfo::getFileId, fileId)); this.edFileInfoMapper.update(new EdFileInfo(), Wrappers.lambdaUpdate(EdFileInfo.class).set(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code).eq(EdFileInfo::getId, edFileInfo.getId())); UserThreadLocal.setSuccessInfo(edFileInfo.getParentId(), edFileInfo.getId(), "还原文件 {} 成功,文件id为 {}", edFileInfo.getFileName() + "." + edFileInfo.getFileType(), fileId);