refactor(项目管理): Minio存储路径优化
This commit is contained in:
parent
4aea30d3ed
commit
976d458ac0
|
@ -216,7 +216,9 @@ public class FileMetadataService {
|
||||||
|
|
||||||
FileRequest uploadFileRequest = new FileRequest();
|
FileRequest uploadFileRequest = new FileRequest();
|
||||||
uploadFileRequest.setFileName(fileMetadata.getId());
|
uploadFileRequest.setFileName(fileMetadata.getId());
|
||||||
uploadFileRequest.setProjectId(fileMetadata.getProjectId());
|
uploadFileRequest.setMainFolder(FileRequest.MAIN_FOLDER_PROJECT);
|
||||||
|
uploadFileRequest.setAppName(FileRequest.APP_NAME_FILE_MANAGEMENT);
|
||||||
|
uploadFileRequest.setSourceGroupFolder(fileMetadata.getProjectId());
|
||||||
uploadFileRequest.setStorage(StorageType.MINIO.name());
|
uploadFileRequest.setStorage(StorageType.MINIO.name());
|
||||||
|
|
||||||
FileRepository minio = CommonBeanFactory.getBean(MinioRepository.class);
|
FileRepository minio = CommonBeanFactory.getBean(MinioRepository.class);
|
||||||
|
@ -280,7 +282,9 @@ public class FileMetadataService {
|
||||||
private String uploadFile(FileMetadata fileMetadata, MultipartFile file) throws Exception {
|
private String uploadFile(FileMetadata fileMetadata, MultipartFile file) throws Exception {
|
||||||
FileRequest uploadFileRequest = new FileRequest();
|
FileRequest uploadFileRequest = new FileRequest();
|
||||||
uploadFileRequest.setFileName(fileMetadata.getId());
|
uploadFileRequest.setFileName(fileMetadata.getId());
|
||||||
uploadFileRequest.setProjectId(fileMetadata.getProjectId());
|
uploadFileRequest.setSourceGroupFolder(fileMetadata.getProjectId());
|
||||||
|
uploadFileRequest.setMainFolder(FileRequest.MAIN_FOLDER_PROJECT);
|
||||||
|
uploadFileRequest.setAppName(FileRequest.APP_NAME_FILE_MANAGEMENT);
|
||||||
uploadFileRequest.setStorage(StorageType.MINIO.name());
|
uploadFileRequest.setStorage(StorageType.MINIO.name());
|
||||||
return fileService.upload(file, uploadFileRequest);
|
return fileService.upload(file, uploadFileRequest);
|
||||||
}
|
}
|
||||||
|
@ -320,7 +324,9 @@ public class FileMetadataService {
|
||||||
}
|
}
|
||||||
FileRequest fileRequest = new FileRequest();
|
FileRequest fileRequest = new FileRequest();
|
||||||
fileRequest.setFileName(fileMetadata.getId());
|
fileRequest.setFileName(fileMetadata.getId());
|
||||||
fileRequest.setProjectId(fileMetadata.getProjectId());
|
fileRequest.setSourceGroupFolder(fileMetadata.getProjectId());
|
||||||
|
fileRequest.setMainFolder(FileRequest.MAIN_FOLDER_PROJECT);
|
||||||
|
fileRequest.setAppName(FileRequest.APP_NAME_FILE_MANAGEMENT);
|
||||||
fileRequest.setStorage(fileMetadata.getStorage());
|
fileRequest.setStorage(fileMetadata.getStorage());
|
||||||
|
|
||||||
//获取git文件下载
|
//获取git文件下载
|
||||||
|
|
|
@ -7,7 +7,30 @@ import lombok.Data;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class FileRequest {
|
public class FileRequest {
|
||||||
// 项目id
|
public static final String MAIN_FOLDER_SYSTEM = "system";
|
||||||
|
public static final String MAIN_FOLDER_PROJECT = "project";
|
||||||
|
public static final String MAIN_FOLDER_ORGANIZATION = "organization";
|
||||||
|
|
||||||
|
public static final String APP_NAME_FILE_MANAGEMENT = "fileManagement";
|
||||||
|
|
||||||
|
//主文件夹 取值:system、project、organization
|
||||||
|
private String mainFolder;
|
||||||
|
|
||||||
|
/*
|
||||||
|
资源所属组目录。
|
||||||
|
当mainFolder为system时,这里可以是plugin(存放插件)
|
||||||
|
当mainFolder为project时,这里可以是项目ID
|
||||||
|
可为空
|
||||||
|
*/
|
||||||
|
private String sourceGroupFolder;
|
||||||
|
|
||||||
|
/*
|
||||||
|
可以为空
|
||||||
|
取值参照:fileManagement、api
|
||||||
|
*/
|
||||||
|
private String appName;
|
||||||
|
|
||||||
|
//项目ID
|
||||||
private String projectId;
|
private String projectId;
|
||||||
|
|
||||||
// 存储类型
|
// 存储类型
|
||||||
|
|
|
@ -24,12 +24,16 @@ public class MinioRepository implements FileRepository {
|
||||||
private static final int BUFFER_SIZE = 8192;
|
private static final int BUFFER_SIZE = 8192;
|
||||||
|
|
||||||
private String getPath(FileRequest request) {
|
private String getPath(FileRequest request) {
|
||||||
|
String mainFolder = StringUtils.isBlank(request.getMainFolder()) ? "default" : request.getMainFolder() + "/";
|
||||||
|
String appName = StringUtils.isBlank(request.getAppName()) ? StringUtils.EMPTY : (request.getAppName() + "/");
|
||||||
|
//如果sourceGroupFolder为空, 取projectId
|
||||||
|
String sourceGroupFolder = StringUtils.isNotBlank(request.getSourceGroupFolder()) ? (request.getSourceGroupFolder() + "/") :
|
||||||
|
(StringUtils.isNotBlank(request.getProjectId()) ? (request.getProjectId() + "/") : StringUtils.EMPTY);
|
||||||
|
String resourceId = StringUtils.isBlank(request.getResourceId()) ? StringUtils.EMPTY : (request.getResourceId() + "/");
|
||||||
|
|
||||||
// 文件存储路径
|
// 文件存储路径
|
||||||
return StringUtils.join(
|
return StringUtils.join(
|
||||||
request.getProjectId(),
|
"metersphere/", mainFolder, sourceGroupFolder, appName, resourceId, request.getFileName());
|
||||||
"/",
|
|
||||||
StringUtils.isNotBlank(request.getResourceId()) ? request.getResourceId() + "/" : StringUtils.EMPTY,
|
|
||||||
request.getFileName());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in New Issue