From 12b2799f67469071f39739f856f00de15d0f3905 Mon Sep 17 00:00:00 2001
From: "hong.yang" <hong.yang@ustcinfo.com>
Date: Wed, 25 Oct 2023 17:11:42 +0800
Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9minio=E6=93=8D?=
 =?UTF-8?q?=E4=BD=9C=E7=B1=BB=EF=BC=8C=E8=A7=A3=E5=86=B3=E4=BD=9C=E4=B8=BA?=
 =?UTF-8?q?=E4=BE=9D=E8=B5=96=E4=BD=BF=E7=94=A8=E6=97=B6=E5=87=BA=E7=8E=B0?=
 =?UTF-8?q?=E7=9A=84=E5=90=AF=E5=8A=A8=E5=BC=82=E5=B8=B8=EF=BC=9B=E5=8F=91?=
 =?UTF-8?q?=E5=B8=83=E6=B5=8B=E8=AF=95=E7=89=88=E6=9C=ACmvn2.0.1.202310250?=
 =?UTF-8?q?2.Alpha?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 DataRoom/dataroom-core/pom.xml                |  2 +-
 .../core/utils/MinioFileInterface.java        | 30 ++++++-------------
 DataRoom/dataroom-server/pom.xml              |  2 +-
 DataRoom/pom.xml                              |  2 +-
 4 files changed, 12 insertions(+), 24 deletions(-)

diff --git a/DataRoom/dataroom-core/pom.xml b/DataRoom/dataroom-core/pom.xml
index 3aedccb4..396e8cb1 100644
--- a/DataRoom/dataroom-core/pom.xml
+++ b/DataRoom/dataroom-core/pom.xml
@@ -6,7 +6,7 @@
     <parent>
         <groupId>com.gccloud</groupId>
         <artifactId>dataroom</artifactId>
-        <version>2.0.1.2023102401.Alpha</version>
+        <version>2.0.1.2023102502.Alpha</version>
     </parent>
 
     <artifactId>dataroom-core</artifactId>
diff --git a/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/utils/MinioFileInterface.java b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/utils/MinioFileInterface.java
index 0d1f4304..658e8a84 100644
--- a/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/utils/MinioFileInterface.java
+++ b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/utils/MinioFileInterface.java
@@ -1,26 +1,13 @@
 package com.gccloud.dataroom.core.utils;
 
 import com.gccloud.dataroom.core.config.bean.DataRoomMinioConfig;
-import io.minio.BucketExistsArgs;
-import io.minio.GetObjectArgs;
-import io.minio.GetPresignedObjectUrlArgs;
-import io.minio.MakeBucketArgs;
-import io.minio.MinioClient;
-import io.minio.RemoveObjectArgs;
-import io.minio.errors.ErrorResponseException;
-import io.minio.errors.InsufficientDataException;
-import io.minio.errors.InternalException;
-import io.minio.errors.InvalidResponseException;
-import io.minio.errors.ServerException;
-import io.minio.errors.XmlParserException;
+import io.minio.*;
 import io.minio.http.Method;
-import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.stereotype.Component;
 
-import java.io.IOException;
+import javax.annotation.Resource;
 import java.io.InputStream;
-import java.security.InvalidKeyException;
-import java.security.NoSuchAlgorithmException;
 
 /**
  * Minio快捷操作工具类
@@ -28,11 +15,12 @@ import java.security.NoSuchAlgorithmException;
  * @author Acechengui
  */
 @Component
+@ConditionalOnProperty(prefix = "gc.starter.file", name = "type", havingValue = "minio")
 public class MinioFileInterface {
-    @Autowired
+    @Resource
     private DataRoomMinioConfig minioConfig;
 
-    private MinioClient init() throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
+    private MinioClient init() throws Exception {
         MinioClient build = MinioClient.builder().endpoint(minioConfig.getUrl()).credentials(minioConfig.getAccessKey(), minioConfig.getSecretKey()).build();
         //判断bucket是否存在,没有就创建
         boolean found =build.bucketExists(BucketExistsArgs.builder().bucket(minioConfig.getBucketName()).build());
@@ -46,7 +34,7 @@ public class MinioFileInterface {
      * 删除文件
      * @param objectName 文件名(路径)
      */
-    public void deleteObject(String objectName) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
+    public void deleteObject(String objectName) throws Exception {
         MinioClient minioClient = init();
         //删除文件时,如果对应文件夹下的文件已删除完,文件夹会自动删除
         minioClient.removeObject(RemoveObjectArgs.builder()
@@ -60,7 +48,7 @@ public class MinioFileInterface {
      * 下载文件
      * @param objectName 文件名(路径)
      */
-    public InputStream download(String objectName) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
+    public InputStream download(String objectName) throws Exception {
         MinioClient minioClient = init();
         // 获取文件输入流
         return minioClient.getObject(
@@ -79,7 +67,7 @@ public class MinioFileInterface {
      * @param expires    失效时间(以秒为单位),默认是7天,不得大于七天
      * @return url
      */
-    public String presignedGetObject(String bucketName, String objectName, Integer expires) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
+    public String presignedGetObject(String bucketName, String objectName, Integer expires) throws Exception {
         String url = "";
         if (expires == null){
             expires = 604800;
diff --git a/DataRoom/dataroom-server/pom.xml b/DataRoom/dataroom-server/pom.xml
index 4ee621a1..19ee9841 100644
--- a/DataRoom/dataroom-server/pom.xml
+++ b/DataRoom/dataroom-server/pom.xml
@@ -6,7 +6,7 @@
     <parent>
         <groupId>com.gccloud</groupId>
         <artifactId>dataroom</artifactId>
-        <version>2.0.1.2023102401.Alpha</version>
+        <version>2.0.1.2023102502.Alpha</version>
     </parent>
 
     <artifactId>dataroom-server</artifactId>
diff --git a/DataRoom/pom.xml b/DataRoom/pom.xml
index 400438f7..17e2b649 100644
--- a/DataRoom/pom.xml
+++ b/DataRoom/pom.xml
@@ -5,7 +5,7 @@
 
     <groupId>com.gccloud</groupId>
     <artifactId>dataroom</artifactId>
-    <version>2.0.1.2023102401.Alpha</version>
+    <version>2.0.1.2023102502.Alpha</version>
 
     <packaging>pom</packaging>
     <name>dataroom</name>