diff --git a/data/src/main/java/com/sdm/data/service/impl/MinioFileIDataFileServiceImpl.java b/data/src/main/java/com/sdm/data/service/impl/MinioFileIDataFileServiceImpl.java index 99420a17..5a7f8db5 100644 --- a/data/src/main/java/com/sdm/data/service/impl/MinioFileIDataFileServiceImpl.java +++ b/data/src/main/java/com/sdm/data/service/impl/MinioFileIDataFileServiceImpl.java @@ -370,14 +370,10 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService { parDirId = req.getParDirId(); } - // 1. 权限校验(仅校验根目录删除权限) - FileMetadataInfo parDirInfo = null; - if (!Boolean.TRUE.equals(req.getSkipPermissionCheck())) { - parDirInfo = fileMetadataInfoService.lambdaQuery().eq(FileMetadataInfo::getId, parDirId).one(); - if (ObjectUtils.isEmpty(parDirInfo)) { - log.error("上级目录不存在"); - return SdmResponse.failed("上级目录不存在"); - } + FileMetadataInfo parDirInfo = fileMetadataInfoService.lambdaQuery().eq(FileMetadataInfo::getId, parDirId).one(); + if (ObjectUtils.isEmpty(parDirInfo)) { + log.error("上级目录不存在"); + return SdmResponse.failed("上级目录不存在"); } // 构造子目录完整路径 @@ -389,10 +385,12 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService { return SdmResponse.failed("目录已存在"); } - boolean hasWritePermission = fileUserPermissionService.hasFilePermission(parDirId, ThreadLocalContext.getUserId(), FilePermissionEnum.WRITE); - if (!hasWritePermission) { - log.error("没有写入权限"); - return SdmResponse.failed("没有写入权限"); + if (!Boolean.TRUE.equals(req.getSkipPermissionCheck())) { + boolean hasWritePermission = fileUserPermissionService.hasFilePermission(parDirId, ThreadLocalContext.getUserId(), FilePermissionEnum.WRITE); + if (!hasWritePermission) { + log.error("没有写入权限"); + return SdmResponse.failed("没有写入权限"); + } } try {