From 086ec057a03c4f1b6675276668ca3a6342b98215 Mon Sep 17 00:00:00 2001 From: s2042968 Date: Wed, 19 Feb 2025 17:50:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A=E9=87=8D=E5=90=8D?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=BB=BA=E7=AB=8B=E5=85=B3=E7=B3=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/service/EdFileInfoService.java | 7 ++ .../serviceimpl/EdFileInfoServiceImpl.java | 3 +- .../EdFileRelationServiceImpl.java | 77 ++++++++++--------- 3 files changed, 51 insertions(+), 36 deletions(-) diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdFileInfoService.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdFileInfoService.java index e92d942..14b880e 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdFileInfoService.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdFileInfoService.java @@ -1,6 +1,7 @@ package com.electromagnetic.industry.software.manage.service; import com.electromagnetic.industry.software.common.resp.ElectromagneticResult; +import com.electromagnetic.industry.software.manage.pojo.models.EdFileInfo; import com.electromagnetic.industry.software.manage.pojo.req.CreateFolderDTO; import com.electromagnetic.industry.software.manage.pojo.req.FileChunkDTO; import com.electromagnetic.industry.software.manage.pojo.req.FileInfoQueryDTO; @@ -164,4 +165,10 @@ public interface EdFileInfoService { * @return */ ElectromagneticResult queryChildFolder(String parentId); + + /** + * 处理重名文件,文件名后+_1 + * @param fileInfo + */ + void resetFileInfoName(EdFileInfo fileInfo); } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java index f7a16a6..38fa233 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java @@ -561,7 +561,8 @@ public class EdFileInfoServiceImpl extends ServiceImpl 0) { - edFileInfoService.handUploadRepeatFile(parentId, file, 3); - } else { - EdFileInfo parentFolderInfo = edFileInfoService.getOne(Wrappers.lambdaQuery(EdFileInfo.class) - .eq(EdFileInfo::getId, parentId) - .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)); - - String codePathByDbPath = commonService.getCodePathByDbPath(parentFolderInfo.getFilePath()); - String fileCode = commonService.createFileCode(codePathByDbPath, suffix, FILE_START_VERSION, newEdFileInfo.getFileTime()); - newEdFileInfo.setParentId(parentId) - .setFileCode(fileCode) - .setFileName(mainName) - .setFileType(suffix) - .setFileVersion(FILE_START_VERSION) - .setFileSize(file.getSize()) - .setFilePath(parentFolderInfo.getFilePath() + MYSQL_FILE_PATH_SPLIT + newEdFileInfo.getId()) - .setDataType(EleDataTypeEnum.FILE.code) - .setDataStatus(PublishEnum.PUBLISHED.getCode()) - .setEffectFlag(EffectFlagEnum.EFFECT.code) - .setFileCode(fileCode) - .setSaveStatus(EleDataSaveStatusEnum.SUCCESS.code) - .setPrjDir(false); - edFileInfoService.saveOrUpdate(newEdFileInfo); - String fileDestPath = commonService.getFileSysPath(newEdFileInfo.getFilePath()); - FileUtil.writeFromStream(file.getInputStream(), fileDestPath); - EleCommonUtil.encryptFile(fileDestPath, SecureUtil.aes(FILE_SEC_PASSWD.getBytes())); -// fileSystemService.save(FileUtil.getInputStream(fileDestPath), fileDestPath); // 这里会导致文件大小为0,考虑到当前的系统为OS文件系统,暂不处理 - - // 创建文件关系 - EdFileRelation relation = new EdFileRelation(); - relation.setId1(id); - relation.setId2(newEdFileInfo.getId()); - relation.setRelationship(descrption); - createRelation(relation); + edFileInfoService.resetFileInfoName(newEdFileInfo); } + + edFileInfoService.saveOrUpdate(newEdFileInfo); + String fileDestPath = commonService.getFileSysPath(newEdFileInfo.getFilePath()); + FileUtil.writeFromStream(file.getInputStream(), fileDestPath); + EleCommonUtil.encryptFile(fileDestPath, SecureUtil.aes(FILE_SEC_PASSWD.getBytes())); + + // 创建文件关系 + EdFileRelation relation = new EdFileRelation(); + relation.setId1(id); + relation.setId2(newEdFileInfo.getId()); + relation.setRelationship(descrption); + createRelation(relation); + } catch (Exception e) { newEdFileInfo.setParentId(parentId) .setFileName(mainName)