feat:(REQ-3540) 获取上传地址,如果入参中有fileKey

This commit is contained in:
xudawei 2025-03-13 15:51:47 +08:00
parent 5d03e66a00
commit 8329be13ef
3 changed files with 36 additions and 18 deletions

View File

@ -65,4 +65,9 @@ public class ApiSignUrlUploadRequest {
* 桶key * 桶key
*/ */
private String bucketKey; private String bucketKey;
/**
* 文件key
*/
private String fileKey;
} }

View File

@ -67,4 +67,9 @@ public class SignUrlUploadDto {
* 桶key * 桶key
*/ */
private String bucketKey; private String bucketKey;
/**
* 文件key
*/
private String fileKey;
} }

View File

@ -37,6 +37,10 @@ public class HandleFileService extends WithFileService{
public SignUrlUploadResponse doSaveFile(SignUrlUploadDto dto, FileUploadConfig fileUploadConfig, FileBusinessScene scene, AppChannelBucket appChannelBucket, String fileFormat) { public SignUrlUploadResponse doSaveFile(SignUrlUploadDto dto, FileUploadConfig fileUploadConfig, FileBusinessScene scene, AppChannelBucket appChannelBucket, String fileFormat) {
String uuid = Utility.getUUID(); String uuid = Utility.getUUID();
//如果fileKey不为空则以fileKey为准
if (StringUtils.isNotBlank(dto.getFileKey())) {
uuid = dto.getFileKey();
}
// 生成上传文件的唯一key // 生成上传文件的唯一key
String tgtFileKey = Utility.generateFileKey(fileUploadConfig.getDirectory(), uuid, fileFormat); String tgtFileKey = Utility.generateFileKey(fileUploadConfig.getDirectory(), uuid, fileFormat);
// 失效时间 // 失效时间
@ -68,24 +72,28 @@ public class HandleFileService extends WithFileService{
private File saveOssFile(FileUploadConfig fileUploadConfig, String fileName, String fileConform, String uuid, private File saveOssFile(FileUploadConfig fileUploadConfig, String fileName, String fileConform, String uuid,
String fileUrl, String fileMd5, Long expiration) { String fileUrl, String fileMd5, Long expiration) {
File ossFile = new File(); File byFileUuid = this.fileDao.getByFileUuid(uuid);
ossFile.setAppChannelBucketNo(fileUploadConfig.getAppChannelBucketNo()); if (Objects.isNull(byFileUuid) || Objects.isNull(byFileUuid.getId())) {
ossFile.setAppCode(fileUploadConfig.getAppCode()); File ossFile = new File();
ossFile.setChannelCode(fileUploadConfig.getChannelCode()); ossFile.setAppChannelBucketNo(fileUploadConfig.getAppChannelBucketNo());
ossFile.setBucketName(fileUploadConfig.getBucketName()); ossFile.setAppCode(fileUploadConfig.getAppCode());
ossFile.setDirectory(fileUploadConfig.getDirectory()); ossFile.setChannelCode(fileUploadConfig.getChannelCode());
ossFile.setStatus(FileStatusEnum.STATUS_UPLOAD_FAIL.getCode()); ossFile.setBucketName(fileUploadConfig.getBucketName());
ossFile.setStorageUnit(fileUploadConfig.getStorageUnit()); ossFile.setDirectory(fileUploadConfig.getDirectory());
ossFile.setStorageSize(fileUploadConfig.getStorageSize()); ossFile.setStatus(FileStatusEnum.STATUS_UPLOAD_FAIL.getCode());
ossFile.setFileFormat(fileConform); ossFile.setStorageUnit(fileUploadConfig.getStorageUnit());
ossFile.setFileUuid(uuid); ossFile.setStorageSize(fileUploadConfig.getStorageSize());
ossFile.setFileUrl(fileUrl); ossFile.setFileFormat(fileConform);
ossFile.setUrlMd5(Utility.getMd5(fileUrl)); ossFile.setFileUuid(uuid);
ossFile.setStatus(FileStatusEnum.STATUS_UPLOAD_SUCCESS.getCode()); ossFile.setFileUrl(fileUrl);
ossFile.setFileName(fileName); ossFile.setUrlMd5(Utility.getMd5(fileUrl));
ossFile.setFileMd5(fileMd5); ossFile.setStatus(FileStatusEnum.STATUS_UPLOAD_SUCCESS.getCode());
fileDao.save(ossFile); ossFile.setFileName(fileName);
return ossFile; ossFile.setFileMd5(fileMd5);
fileDao.save(ossFile);
return ossFile;
}
return byFileUuid;
} }