增加同名校验
This commit is contained in:
parent
952efbd78d
commit
387af49985
|
|
@ -92,7 +92,9 @@ public class CommonService {
|
||||||
*/
|
*/
|
||||||
public boolean checkSameFolder(String parentId, String newFolderName) {
|
public boolean checkSameFolder(String parentId, String newFolderName) {
|
||||||
Long count = edFileInfoMapper.selectCount(Wrappers.lambdaQuery(EdFileInfo.class)
|
Long count = edFileInfoMapper.selectCount(Wrappers.lambdaQuery(EdFileInfo.class)
|
||||||
|
.eq(EdFileInfo::getDataType, EleDataTypeEnum.FOLDER.code)
|
||||||
.eq(EdFileInfo::getParentId, parentId)
|
.eq(EdFileInfo::getParentId, parentId)
|
||||||
|
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)
|
||||||
.eq(EdFileInfo::getFileName, newFolderName));
|
.eq(EdFileInfo::getFileName, newFolderName));
|
||||||
|
|
||||||
return count > 0;
|
return count > 0;
|
||||||
|
|
@ -147,6 +149,9 @@ public class CommonService {
|
||||||
|
|
||||||
// 验证名称是否合法
|
// 验证名称是否合法
|
||||||
Assert.isTrue(EleCommonUtil.isFileNameValid(folderName), "文件名不符合规范,只能包含中文字符、下划线、连字符、加号、数字和英文字符且长度小于32。");
|
Assert.isTrue(EleCommonUtil.isFileNameValid(folderName), "文件名不符合规范,只能包含中文字符、下划线、连字符、加号、数字和英文字符且长度小于32。");
|
||||||
|
// 检查名称是否存在
|
||||||
|
Assert.isTrue(checkSameFolder(parentId, folderName), "该名称已存在");
|
||||||
|
|
||||||
LambdaQueryWrapper<EdFileInfo> queryWrapper = Wrappers.lambdaQuery(EdFileInfo.class)
|
LambdaQueryWrapper<EdFileInfo> queryWrapper = Wrappers.lambdaQuery(EdFileInfo.class)
|
||||||
.select(EdFileInfo::getId, EdFileInfo::getFilePath)
|
.select(EdFileInfo::getId, EdFileInfo::getFilePath)
|
||||||
.eq(EdFileInfo::getId, parentId);
|
.eq(EdFileInfo::getId, parentId);
|
||||||
|
|
@ -161,18 +166,12 @@ public class CommonService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 判断文件夹名称是否存在
|
|
||||||
List<EdFileInfo> edFileInfos = edFileInfoMapper.selectList(Wrappers.lambdaQuery(EdFileInfo.class)
|
List<EdFileInfo> edFileInfos = edFileInfoMapper.selectList(Wrappers.lambdaQuery(EdFileInfo.class)
|
||||||
.select(EdFileInfo::getId, EdFileInfo::getFileName)
|
.select(EdFileInfo::getId, EdFileInfo::getFileName)
|
||||||
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)
|
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)
|
||||||
|
.eq(EdFileInfo::getDataType, EleDataTypeEnum.FOLDER.code)
|
||||||
.eq(EdFileInfo::getParentId, parentId));
|
.eq(EdFileInfo::getParentId, parentId));
|
||||||
List<String> names = edFileInfos.stream().map(EdFileInfo::getFileName).collect(Collectors.toList());
|
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 {
|
try {
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
String currentUserId = UserThreadLocal.getUserId();
|
String currentUserId = UserThreadLocal.getUserId();
|
||||||
|
|
|
||||||
|
|
@ -210,8 +210,20 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
try {
|
try {
|
||||||
// 首先检查新名称是否存在
|
// 首先检查新名称是否存在
|
||||||
EdFileInfo fileInfo = this.baseMapper.selectById(updateFileInfoDTO.getId());
|
EdFileInfo fileInfo = this.baseMapper.selectById(updateFileInfoDTO.getId());
|
||||||
|
|
||||||
String parentId = fileInfo.getParentId();
|
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()
|
long count = this.baseMapper.selectCount(Wrappers.<EdFileInfo>lambdaQuery()
|
||||||
.select(EdFileInfo::getFileName)
|
.select(EdFileInfo::getFileName)
|
||||||
.eq(EdFileInfo::getParentId, parentId)
|
.eq(EdFileInfo::getParentId, parentId)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue