增加同名校验
This commit is contained in:
parent
952efbd78d
commit
387af49985
|
|
@ -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<EdFileInfo> queryWrapper = Wrappers.lambdaQuery(EdFileInfo.class)
|
||||
.select(EdFileInfo::getId, EdFileInfo::getFilePath)
|
||||
.eq(EdFileInfo::getId, parentId);
|
||||
|
|
@ -161,18 +166,12 @@ public class CommonService {
|
|||
}
|
||||
}
|
||||
|
||||
// 判断文件夹名称是否存在
|
||||
List<EdFileInfo> 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<String> 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();
|
||||
|
|
|
|||
|
|
@ -210,8 +210,20 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
|||
try {
|
||||
// 首先检查新名称是否存在
|
||||
EdFileInfo fileInfo = this.baseMapper.selectById(updateFileInfoDTO.getId());
|
||||
|
||||
String parentId = fileInfo.getParentId();
|
||||
// 是更新文件还是文件夹
|
||||
LambdaQueryWrapper<EdFileInfo> queryWrapper = Wrappers.<EdFileInfo>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.<EdFileInfo>lambdaQuery()
|
||||
.select(EdFileInfo::getFileName)
|
||||
.eq(EdFileInfo::getParentId, parentId)
|
||||
|
|
|
|||
Loading…
Reference in New Issue