fix:批量同步节点下的普通文件夹

This commit is contained in:
2026-01-24 17:43:35 +08:00
parent b86b279a1f
commit fa5ebf07f7
5 changed files with 97 additions and 5 deletions

View File

@@ -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)