fix:文件更新需要支持分片上传,新增2个接口
This commit is contained in:
@@ -5,6 +5,8 @@ import lombok.Data;
|
||||
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 大文件分片更新 - 第三步回调请求参数。
|
||||
* 前端在所有分片上传完成(或失败)后调用,通知后端执行最终的版本更新或回滚。
|
||||
@@ -17,10 +19,15 @@ public class UpdateFileCallbackReq {
|
||||
@Schema(description = "待更新的文件id(与第一步传入的 fileId 一致),example: 123456")
|
||||
private Long fileId;
|
||||
|
||||
@NotNull(message = "uploadTaskId不能为空")
|
||||
@Schema(description = "分片上传是否全部成功,true=成功 false=失败")
|
||||
private Boolean success;
|
||||
|
||||
@Schema(description = "上传任务id(第一步返回),example: 1713250000000")
|
||||
private String uploadTaskId;
|
||||
|
||||
@Schema(description = "分片上传是否全部成功,true=成功 false=失败")
|
||||
private Boolean success;
|
||||
// 接口5.1 返回的这个文件成功文件的id集合
|
||||
private List<Long> succBusinessIds;
|
||||
|
||||
// 接口5.1 返回的这个文件失败文件的id集合
|
||||
private List<Long> failBusinessIds;
|
||||
}
|
||||
|
||||
@@ -3413,6 +3413,17 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public SdmResponse updateFileCallback(UpdateFileCallbackReq req) {
|
||||
if(CollectionUtils.isNotEmpty(req.getFailBusinessIds())){
|
||||
req.setFileId(req.getFailBusinessIds().get(0));
|
||||
req.setSuccess(false);
|
||||
}else if(CollectionUtils.isNotEmpty(req.getSuccBusinessIds())){
|
||||
req.setFileId(req.getFailBusinessIds().get(0));
|
||||
req.setSuccess(true);
|
||||
}else {
|
||||
return SdmResponse.failed("请指定待更新的文件");
|
||||
}
|
||||
|
||||
|
||||
// 1. 查询文件与暂存的 tempMetadata
|
||||
FileMetadataInfo fileMetadataInfo = fileMetadataInfoService.lambdaQuery()
|
||||
.eq(FileMetadataInfo::getId, req.getFileId())
|
||||
|
||||
Reference in New Issue
Block a user