fix:getFileBaseInfo 支持uuid

This commit is contained in:
2026-02-06 10:42:59 +08:00
parent 94f57c895e
commit 0d8fbb4dea
2 changed files with 28 additions and 2 deletions

View File

@@ -11,4 +11,7 @@ public class GetFileBaseInfoReq {
@Schema(description = "文件id")
private Long fileId;
@Schema(description = "节点UUID")
private String uuid;
}

View File

@@ -847,14 +847,37 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
@Override
public SdmResponse<FileMetadataInfoResp> getFileBaseInfo(GetFileBaseInfoReq req) {
FileMetadataInfo fileMetadataInfo = fileMetadataInfoService.lambdaQuery().eq(FileMetadataInfo::getId, req.getFileId()).one();
// 参数校验fileId 和 uuid 至少有一个不为空
if (ObjectUtils.isEmpty(req.getFileId()) && ObjectUtils.isEmpty(req.getUuid())) {
return SdmResponse.failed("文件ID或UUID不能为空");
}
FileMetadataInfo fileMetadataInfo = null;
// 优先通过 fileId 查询
if (ObjectUtils.isNotEmpty(req.getFileId())) {
fileMetadataInfo = fileMetadataInfoService.lambdaQuery()
.eq(FileMetadataInfo::getId, req.getFileId())
.one();
} else if (ObjectUtils.isNotEmpty(req.getUuid())) {
fileMetadataInfo = fileMetadataInfoService.lambdaQuery()
.eq(FileMetadataInfo::getRelatedResourceUuid, req.getUuid())
.one();
}
// 查询结果校验
if (fileMetadataInfo == null) {
return SdmResponse.failed("文件不存在");
}
// 封装返回结果
FileMetadataInfoResp fileMetadataInfoResp = new FileMetadataInfoResp();
BeanUtils.copyProperties(fileMetadataInfo, fileMetadataInfoResp);
fileMetadataInfoResp.setPermissionValue(fileUserPermissionService.getMergedPermission(fileMetadataInfo.getId(), ThreadLocalContext.getUserId()));
// 设置当前用户的综合权限位
fileMetadataInfoResp.setPermissionValue(
fileUserPermissionService.getMergedPermission(fileMetadataInfo.getId(), ThreadLocalContext.getUserId())
);
return SdmResponse.success(fileMetadataInfoResp);
}