feat:(REQ-3540) 文件克隆-加上bizScene,不传目标桶与key,则按照appCode与bizScene的为准

This commit is contained in:
xudawei 2025-03-20 18:48:47 +08:00
parent 6a5e42c653
commit 911b70631c
2 changed files with 11 additions and 2 deletions

View File

@ -65,6 +65,10 @@ public class CopyObjectCloudDto {
private File file;
private String fileUuid;
private String appChannelBucketNo;
private String appCode;
public static CopyObjectCloudDto create(FileCopyObjectDto fileCopyObjectRequest, File file, FileBusinessScene fileBusinessScene) {
// 入参中有通道则优先取入参否则取源通道
String targetChannelCode = StringUtils.isBlank(fileCopyObjectRequest.getTargetChannelCode()) ? fileBusinessScene.getChannelCode() : fileCopyObjectRequest.getTargetChannelCode();
@ -86,6 +90,8 @@ public class CopyObjectCloudDto {
.targetFileName(fileName)
.file(file)
.fileUuid(fileCopyObjectRequest.getFileUuid())
.appChannelBucketNo(fileBusinessScene.getAppChannelBucketNo())
.appCode(fileBusinessScene.getAppCode())
.build();
}

View File

@ -27,6 +27,7 @@ import cn.axzo.oss.dal.entity.FileUploadConfig;
import cn.axzo.oss.dal.repository.FileAppDao;
import cn.axzo.oss.dal.repository.FileDao;
import cn.axzo.oss.dal.vo.FileBusinessSceneVo;
import cn.axzo.oss.integration.s3.config.CadThirdProperty;
import cn.axzo.oss.integration.s3.config.HuaWeiCloudObsConfig;
import cn.axzo.oss.manager.api.AppChannelBucketManager;
import cn.axzo.oss.manager.api.FileBusinessSceneManager;
@ -47,6 +48,7 @@ import cn.axzo.oss.manager.api.dto.request.MultipartUploadInitDto;
import cn.axzo.oss.manager.api.dto.request.ServerFileDeleteDto;
import cn.axzo.oss.manager.api.dto.request.ServerFileDownloadDto;
import cn.axzo.oss.manager.api.dto.request.ServerFileUploadDto;
import cn.axzo.oss.manager.api.dto.request.SignUploadTokenDto;
import cn.axzo.oss.manager.api.dto.request.SignUrlDownloadDto;
import cn.axzo.oss.manager.api.dto.request.SignUrlUploadDto;
import cn.axzo.oss.manager.api.dto.request.file.DeleteObjectsFileDto;
@ -62,6 +64,7 @@ import cn.axzo.oss.manager.api.dto.response.ServerFileDownloadResponse;
import cn.axzo.oss.manager.api.dto.response.ServerFileUploadResponse;
import cn.axzo.oss.manager.api.dto.response.SignUrlDownloadResponse;
import cn.axzo.oss.manager.api.dto.response.SignUrlUploadResponse;
import cn.axzo.oss.manager.api.dto.response.UploadTokenResponse;
import cn.axzo.oss.service.api.FileService;
import cn.axzo.oss.service.metafile.WithFileFactory;
import cn.axzo.oss.service.metafile.WithFileService;
@ -1306,8 +1309,8 @@ public class FileServiceImpl implements FileService {
*/
private File buildFileWhenCopyObject(CopyObjectCloudDto item) {
File ossFile = new File();
ossFile.setAppChannelBucketNo(item.getFile().getAppChannelBucketNo());
ossFile.setAppCode(item.getFile().getAppCode());
ossFile.setAppChannelBucketNo(item.getAppChannelBucketNo());
ossFile.setAppCode(item.getAppCode());
ossFile.setChannelCode(item.getTargetChannelCode());
ossFile.setBucketName(item.getTargetBucketName());
ossFile.setDirectory(item.getTargetBucketDict());