From 387af4998581a557325016cc3bbf74c3ad10a255 Mon Sep 17 00:00:00 2001 From: chenxudong Date: Fri, 27 Dec 2024 10:45:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=90=8C=E5=90=8D=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/service/serviceimpl/CommonService.java | 13 ++++++------- .../service/serviceimpl/EdFileInfoServiceImpl.java | 14 +++++++++++++- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java index 1008605..188584a 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java @@ -92,7 +92,9 @@ public class CommonService { */ public boolean checkSameFolder(String parentId, String newFolderName) { Long count = edFileInfoMapper.selectCount(Wrappers.lambdaQuery(EdFileInfo.class) + .eq(EdFileInfo::getDataType, EleDataTypeEnum.FOLDER.code) .eq(EdFileInfo::getParentId, parentId) + .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code) .eq(EdFileInfo::getFileName, newFolderName)); return count > 0; @@ -147,6 +149,9 @@ public class CommonService { // 验证名称是否合法 Assert.isTrue(EleCommonUtil.isFileNameValid(folderName), "文件名不符合规范,只能包含中文字符、下划线、连字符、加号、数字和英文字符且长度小于32。"); + // 检查名称是否存在 + Assert.isTrue(checkSameFolder(parentId, folderName), "该名称已存在"); + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(EdFileInfo.class) .select(EdFileInfo::getId, EdFileInfo::getFilePath) .eq(EdFileInfo::getId, parentId); @@ -161,18 +166,12 @@ public class CommonService { } } - // 判断文件夹名称是否存在 List edFileInfos = edFileInfoMapper.selectList(Wrappers.lambdaQuery(EdFileInfo.class) .select(EdFileInfo::getId, EdFileInfo::getFileName) .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code) + .eq(EdFileInfo::getDataType, EleDataTypeEnum.FOLDER.code) .eq(EdFileInfo::getParentId, parentId)); List names = edFileInfos.stream().map(EdFileInfo::getFileName).collect(Collectors.toList()); - if (names.contains(folderName)) { - String info = "该名称已存在"; - log.error(info); - return ElectromagneticResultUtil.fail("-1", info); - } - try { Date now = new Date(); String currentUserId = UserThreadLocal.getUserId(); 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 aa0d5b2..7f29252 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 @@ -210,8 +210,20 @@ public class EdFileInfoServiceImpl extends ServiceImpl queryWrapper = Wrappers.lambdaQuery() + .select(EdFileInfo::getFileName) + .eq(EdFileInfo::getParentId, parentId) + .eq(EdFileInfo::getDataType, EleDataTypeEnum.FOLDER.code) + .eq(EdFileInfo::getFileName, updateFileInfoDTO.getFileName()) + .eq(EdFileInfo::getFileType, fileInfo.getFileType()) + .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code); + if (fileInfo.getDataType().equals(EleDataTypeEnum.FOLDER.code)) { + queryWrapper.eq(EdFileInfo::getDataType, EleDataTypeEnum.FOLDER.code); + } else { + queryWrapper.eq(EdFileInfo::getDataType, EleDataTypeEnum.FILE.code); + } long count = this.baseMapper.selectCount(Wrappers.lambdaQuery() .select(EdFileInfo::getFileName) .eq(EdFileInfo::getParentId, parentId)