PartETage类型转换
This commit is contained in:
parent
3f17c4233b
commit
d8de71f68d
@ -1,8 +1,7 @@
|
||||
package cn.axzo.oss.manager.api;
|
||||
|
||||
import cn.axzo.oss.manager.api.dto.PartETag;
|
||||
import cn.axzo.oss.manager.api.dto.request.MultipartUploadDto;
|
||||
import cn.axzo.oss.manager.api.dto.response.MultipartUploadResponse;
|
||||
import com.aliyun.oss.model.PartETag;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.util.List;
|
||||
|
||||
@ -1,16 +1,18 @@
|
||||
package cn.axzo.oss.manager.impl;
|
||||
|
||||
import cn.axzo.oss.common.utils.BeanConvertUtil;
|
||||
import cn.axzo.oss.integration.s3.AliOssService;
|
||||
import cn.axzo.oss.manager.api.FileManager;
|
||||
import cn.axzo.oss.manager.api.dto.PartETag;
|
||||
import cn.axzo.oss.manager.api.dto.request.MultipartUploadDto;
|
||||
import cn.axzo.oss.manager.api.dto.response.MultipartUploadResponse;
|
||||
import com.aliyun.oss.model.PartETag;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.InputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@ -63,12 +65,26 @@ public class FileManagerImpl implements FileManager {
|
||||
public PartETag multipartUpload(String bucketName, String tgtFileKey, byte[] fileContent, MultipartUploadDto dto) {
|
||||
InputStream inputStream = new ByteArrayInputStream(fileContent);
|
||||
|
||||
return aliOssService.multipartUpload(bucketName, tgtFileKey, dto.getUploadId(), inputStream,
|
||||
com.aliyun.oss.model.PartETag partETag = aliOssService.multipartUpload(bucketName, tgtFileKey, dto.getUploadId(), inputStream,
|
||||
dto.getPartNumber(), dto.getPartSize());
|
||||
return BeanConvertUtil.copyBean(partETag, PartETag.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String multipartUploadComplete(String bucketName, String tgtFileKey, String uploadId, List<PartETag> partETags) {
|
||||
return aliOssService.multipartUploadComplete(bucketName, tgtFileKey, uploadId, partETags);
|
||||
List<com.aliyun.oss.model.PartETag> partETagList = convertPartETags(partETags);
|
||||
return aliOssService.multipartUploadComplete(bucketName, tgtFileKey, uploadId, partETagList);
|
||||
}
|
||||
|
||||
private List<com.aliyun.oss.model.PartETag> convertPartETags(List<PartETag> partETags) {
|
||||
List<com.aliyun.oss.model.PartETag> partETagList = new ArrayList<>();
|
||||
if (CollectionUtils.isNotEmpty(partETags)) {
|
||||
partETags.stream().forEach(partETag -> {
|
||||
com.aliyun.oss.model.PartETag ossPartETag = new com.aliyun.oss.model.PartETag(partETag.getPartNumber(), partETag.getETag(),
|
||||
partETag.getPartSize(), partETag.getPartCRC());
|
||||
partETagList.add(ossPartETag);
|
||||
});
|
||||
}
|
||||
return partETagList;
|
||||
}
|
||||
}
|
||||
|
||||
@ -20,14 +20,13 @@ import cn.axzo.oss.manager.api.AppChannelBucketManager;
|
||||
import cn.axzo.oss.manager.api.FileBusinessSceneManager;
|
||||
import cn.axzo.oss.manager.api.FileManager;
|
||||
import cn.axzo.oss.manager.api.FileUploadConfigManager;
|
||||
import cn.axzo.oss.manager.api.dto.PartETag;
|
||||
import cn.axzo.oss.manager.api.dto.request.*;
|
||||
import cn.axzo.oss.manager.api.dto.response.*;
|
||||
import cn.axzo.oss.service.api.FileService;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.aliyun.oss.model.PartETag;
|
||||
import com.google.common.collect.Lists;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.core.env.Environment;
|
||||
@ -177,7 +176,7 @@ public class FileServiceImpl implements FileService {
|
||||
dto.getTgtFileKey(), dto.getFileContent(), dto);
|
||||
MultipartUploadResponse response = MultipartUploadResponse.builder()
|
||||
.uploadId(dto.getUploadId())
|
||||
.partETag(BeanConvertUtil.copyBean(partETag, cn.axzo.oss.manager.api.dto.PartETag.class))
|
||||
.partETag(partETag)
|
||||
.build();
|
||||
return response;
|
||||
}
|
||||
@ -185,10 +184,9 @@ public class FileServiceImpl implements FileService {
|
||||
@Override
|
||||
public FileInformationResponse multipartUploadComplete(MultipartUploadCompleteDto dto) {
|
||||
FileUploadConfig fileUploadConfig = getFileUploadConfig(dto.getAppCode(), dto.getBizScene());
|
||||
List<PartETag> partETags = convertPartETags(dto.getPartETags());
|
||||
// 文件合并并生成 file对象
|
||||
File ossFile = completeFile(fileUploadConfig, dto.getFileName(), dto.getTgtFileKey(),
|
||||
dto.getUploadId(), partETags);
|
||||
dto.getUploadId(), dto.getPartETags());
|
||||
return setFileInfoResp(ossFile);
|
||||
}
|
||||
|
||||
@ -219,18 +217,6 @@ public class FileServiceImpl implements FileService {
|
||||
return setFileDownloadResponse(file, fileStream);
|
||||
}
|
||||
|
||||
private List<PartETag> convertPartETags(List<cn.axzo.oss.manager.api.dto.PartETag> partETags) {
|
||||
List<PartETag> partETagList = new ArrayList<>();
|
||||
if (CollectionUtils.isNotEmpty(partETags)) {
|
||||
partETags.stream().forEach(partETag -> {
|
||||
PartETag ossPartETag = new PartETag(partETag.getPartNumber(), partETag.getETag(),
|
||||
partETag.getPartSize(), partETag.getPartCRC());
|
||||
partETagList.add(ossPartETag);
|
||||
});
|
||||
}
|
||||
return partETagList;
|
||||
}
|
||||
|
||||
private FileUploadConfig getFileUploadConfig(String appCode, String bizScene) {
|
||||
// 检查appCode
|
||||
checkAppCode(appCode);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user