fix:批量同步节点下的普通文件夹
This commit is contained in:
@@ -3828,7 +3828,7 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public SdmResponse<BatchCreateNormalDirResp> batchCreateNormalDirs(BatchCreateNormalDirReq req) {
|
||||
// 1. 基础校验
|
||||
if (req.getParentId() == null) {
|
||||
if (req.getParentUUId() == null) {
|
||||
return SdmResponse.failed("父文件夹ID不能为空");
|
||||
}
|
||||
if (CollectionUtils.isEmpty(req.getFolderNames())) {
|
||||
@@ -3836,13 +3836,15 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
|
||||
}
|
||||
|
||||
// 2. 父目录校验与权限检查
|
||||
FileMetadataInfo parentDir = fileMetadataInfoService.getById(req.getParentId());
|
||||
FileMetadataInfo parentDir = fileMetadataInfoService.lambdaQuery()
|
||||
.eq(FileMetadataInfo::getRelatedResourceUuid, req.getParentUUId())
|
||||
.one();
|
||||
if (parentDir == null) {
|
||||
return SdmResponse.failed("父文件夹不存在");
|
||||
}
|
||||
|
||||
// 权限检查(需要写入权限)
|
||||
boolean hasWritePermission = fileUserPermissionService.hasFilePermission(req.getParentId(), ThreadLocalContext.getUserId(), FilePermissionEnum.WRITE);
|
||||
boolean hasWritePermission = fileUserPermissionService.hasFilePermission(parentDir.getId(), ThreadLocalContext.getUserId(), FilePermissionEnum.WRITE);
|
||||
if (!hasWritePermission) {
|
||||
return SdmResponse.failed("没有写入权限");
|
||||
}
|
||||
@@ -3860,7 +3862,7 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
|
||||
|
||||
// 3. 检查数据库中是否已存在同名目录
|
||||
List<FileMetadataInfo> existingFiles = fileMetadataInfoService.lambdaQuery()
|
||||
.eq(FileMetadataInfo::getParentId, req.getParentId())
|
||||
.eq(FileMetadataInfo::getParentId, parentDir.getId())
|
||||
.eq(FileMetadataInfo::getTenantId, ThreadLocalContext.getTenantId())
|
||||
.eq(FileMetadataInfo::getDataType, DataTypeEnum.DIRECTORY.getValue())
|
||||
.in(FileMetadataInfo::getOriginalName, validFolderNames)
|
||||
|
||||
Reference in New Issue
Block a user