From 9da70a8aeb03e6c98e712ef7ed989b7209b7a99e Mon Sep 17 00:00:00 2001
From: awenes <1121353141@qq.com>
Date: Sun, 4 Feb 2024 20:36:58 +0800
Subject: [PATCH] =?UTF-8?q?:zap:=20=E4=BC=98=E5=8C=96=E5=AD=98=E5=82=A8?=
=?UTF-8?q?=E7=9B=B8=E5=85=B3=E9=80=BB=E8=BE=91=E5=AE=9E=E7=8E=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../{util => enums}/ViewContentType.java | 2 +-
.../common/storage/UploadException.java | 38 +++++++++++++++++++
...Resource.java => StorageFileEndpoint.java} | 2 +-
.../common/storage/enums/StorageProvider.java | 2 +-
.../convert/StorageProviderConverter.java | 2 +-
.../common/storage/impl/MinIoStorage.java | 7 ++--
.../common/storage/impl/NoneStorage.java | 5 +--
.../common/storage/impl/QiNiuKodoStorage.java | 27 +------------
.../common/storage/impl/S3Storage.java | 4 +-
9 files changed, 50 insertions(+), 39 deletions(-)
rename eiam-common/src/main/java/cn/topiam/employee/common/{util => enums}/ViewContentType.java (98%)
create mode 100644 eiam-common/src/main/java/cn/topiam/employee/common/storage/UploadException.java
rename eiam-common/src/main/java/cn/topiam/employee/common/storage/controller/{StorageFileResource.java => StorageFileEndpoint.java} (99%)
diff --git a/eiam-common/src/main/java/cn/topiam/employee/common/util/ViewContentType.java b/eiam-common/src/main/java/cn/topiam/employee/common/enums/ViewContentType.java
similarity index 98%
rename from eiam-common/src/main/java/cn/topiam/employee/common/util/ViewContentType.java
rename to eiam-common/src/main/java/cn/topiam/employee/common/enums/ViewContentType.java
index 39e097b3..319389a3 100644
--- a/eiam-common/src/main/java/cn/topiam/employee/common/util/ViewContentType.java
+++ b/eiam-common/src/main/java/cn/topiam/employee/common/enums/ViewContentType.java
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-package cn.topiam.employee.common.util;
+package cn.topiam.employee.common.enums;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.lang3.StringUtils;
diff --git a/eiam-common/src/main/java/cn/topiam/employee/common/storage/UploadException.java b/eiam-common/src/main/java/cn/topiam/employee/common/storage/UploadException.java
new file mode 100644
index 00000000..92d8d0e8
--- /dev/null
+++ b/eiam-common/src/main/java/cn/topiam/employee/common/storage/UploadException.java
@@ -0,0 +1,38 @@
+/*
+ * eiam-common - Employee Identity and Access Management
+ * Copyright © 2022-Present Jinan Yuanchuang Network Technology Co., Ltd. (support@topiam.cn)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+package cn.topiam.employee.common.storage;
+
+import java.io.Serial;
+
+import org.springframework.http.HttpStatus;
+
+/**
+ * 存储服务异常
+ *
+ * @author TopIAM
+ * Created by support@topiam.cn on 2020/8/19 22:53
+ */
+public class UploadException extends StorageProviderException {
+ @Serial
+ private static final long serialVersionUID = 6249098979022610064L;
+
+ public UploadException(Throwable cause) {
+ super(cause, "Upload fail", cause.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
+ }
+
+}
diff --git a/eiam-common/src/main/java/cn/topiam/employee/common/storage/controller/StorageFileResource.java b/eiam-common/src/main/java/cn/topiam/employee/common/storage/controller/StorageFileEndpoint.java
similarity index 99%
rename from eiam-common/src/main/java/cn/topiam/employee/common/storage/controller/StorageFileResource.java
rename to eiam-common/src/main/java/cn/topiam/employee/common/storage/controller/StorageFileEndpoint.java
index c4a50808..15554b01 100644
--- a/eiam-common/src/main/java/cn/topiam/employee/common/storage/controller/StorageFileResource.java
+++ b/eiam-common/src/main/java/cn/topiam/employee/common/storage/controller/StorageFileEndpoint.java
@@ -55,7 +55,7 @@ import jakarta.servlet.MultipartConfigElement;
@RequestMapping(value = StorageConstants.STORAGE_PATH, produces = MediaType.APPLICATION_JSON_VALUE)
@AllArgsConstructor
@Slf4j
-public class StorageFileResource {
+public class StorageFileEndpoint {
/**
* 上传文件
diff --git a/eiam-common/src/main/java/cn/topiam/employee/common/storage/enums/StorageProvider.java b/eiam-common/src/main/java/cn/topiam/employee/common/storage/enums/StorageProvider.java
index 3d8ae95d..79fea789 100644
--- a/eiam-common/src/main/java/cn/topiam/employee/common/storage/enums/StorageProvider.java
+++ b/eiam-common/src/main/java/cn/topiam/employee/common/storage/enums/StorageProvider.java
@@ -26,7 +26,7 @@ import cn.topiam.employee.common.storage.impl.*;
import cn.topiam.employee.support.web.converter.EnumConvert;
/**
- * 短信平台
+ * 存储提供商
*
* @author TopIAM
* Created by support@topiam.cn on 2020/8/19
diff --git a/eiam-common/src/main/java/cn/topiam/employee/common/storage/enums/convert/StorageProviderConverter.java b/eiam-common/src/main/java/cn/topiam/employee/common/storage/enums/convert/StorageProviderConverter.java
index 20c2cd85..ee56e36a 100644
--- a/eiam-common/src/main/java/cn/topiam/employee/common/storage/enums/convert/StorageProviderConverter.java
+++ b/eiam-common/src/main/java/cn/topiam/employee/common/storage/enums/convert/StorageProviderConverter.java
@@ -25,7 +25,7 @@ import jakarta.persistence.AttributeConverter;
import jakarta.persistence.Converter;
/**
- * SmsPlatformWritingConverter
+ * StorageProviderConverter
*
* @author TopIAM
* Created by support@topiam.cn on 2020/12/5 21:52
diff --git a/eiam-common/src/main/java/cn/topiam/employee/common/storage/impl/MinIoStorage.java b/eiam-common/src/main/java/cn/topiam/employee/common/storage/impl/MinIoStorage.java
index 5e637eec..e5122123 100644
--- a/eiam-common/src/main/java/cn/topiam/employee/common/storage/impl/MinIoStorage.java
+++ b/eiam-common/src/main/java/cn/topiam/employee/common/storage/impl/MinIoStorage.java
@@ -31,11 +31,12 @@ import org.jetbrains.annotations.NotNull;
import org.springframework.http.HttpHeaders;
import org.springframework.util.MimeTypeUtils;
+import cn.topiam.employee.common.enums.ViewContentType;
import cn.topiam.employee.common.jackjson.encrypt.JsonPropertyEncrypt;
import cn.topiam.employee.common.storage.AbstractStorage;
import cn.topiam.employee.common.storage.StorageConfig;
import cn.topiam.employee.common.storage.StorageProviderException;
-import cn.topiam.employee.common.util.ViewContentType;
+import cn.topiam.employee.common.storage.UploadException;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -100,8 +101,8 @@ public class MinIoStorage extends AbstractStorage {
+ SEPARATOR
+ URLEncoder.encode(key, StandardCharsets.UTF_8).replaceAll("\\+", "%20");
} catch (Exception e) {
- log.error("minio upload exception: {}", e.getMessage(), e);
- throw new StorageProviderException("minio upload exception", e);
+ log.error("Minio upload exception: {}", e.getMessage(), e);
+ throw new UploadException(e);
}
}
diff --git a/eiam-common/src/main/java/cn/topiam/employee/common/storage/impl/NoneStorage.java b/eiam-common/src/main/java/cn/topiam/employee/common/storage/impl/NoneStorage.java
index c8751c57..20d80cd8 100644
--- a/eiam-common/src/main/java/cn/topiam/employee/common/storage/impl/NoneStorage.java
+++ b/eiam-common/src/main/java/cn/topiam/employee/common/storage/impl/NoneStorage.java
@@ -21,7 +21,7 @@ import java.io.InputStream;
import org.jetbrains.annotations.NotNull;
-import cn.topiam.employee.common.storage.AbstractStorage;
+import cn.topiam.employee.common.storage.Storage;
import cn.topiam.employee.common.storage.StorageProviderException;
/**
@@ -30,10 +30,9 @@ import cn.topiam.employee.common.storage.StorageProviderException;
* @author TopIAM
* Created by support@topiam.cn on 2021/11/10 21:32
*/
-public class NoneStorage extends AbstractStorage {
+public class NoneStorage implements Storage {
public NoneStorage() {
- super(null);
}
@Override
diff --git a/eiam-common/src/main/java/cn/topiam/employee/common/storage/impl/QiNiuKodoStorage.java b/eiam-common/src/main/java/cn/topiam/employee/common/storage/impl/QiNiuKodoStorage.java
index 61283456..8c86c3cd 100644
--- a/eiam-common/src/main/java/cn/topiam/employee/common/storage/impl/QiNiuKodoStorage.java
+++ b/eiam-common/src/main/java/cn/topiam/employee/common/storage/impl/QiNiuKodoStorage.java
@@ -59,35 +59,10 @@ public class QiNiuKodoStorage extends AbstractStorage {
public QiNiuKodoStorage(StorageConfig config) {
super(config);
qiNiuConfig = (Config) this.config.getConfig();
- Configuration cfg = new Configuration(Region.huadong());
+ Configuration cfg = new Configuration(Region.createWithRegionId("z0"));
uploadManager = new UploadManager(cfg);
- // try {
- // createBucket(cfg);
- // } catch (Exception e) {
- // log.error("create bucket error: {}", e.getMessage(), e);
- // }
}
- // private void createBucket(Configuration cfg) {
- // try {
- // Auth auth = Auth.create(qiNiuConfig.getAccessKey(), qiNiuConfig.getSecretKey());
- // BucketManager bucketManager = new BucketManager(auth, cfg);
- // Response response = bucketManager.createBucket(qiNiuConfig.getBucket(), "z0");
- // //解析创建成功的结果
- // BucketInfo putRet = JSON.parseObject(response.bodyString(), BucketInfo.class);
- // log.info("qi niu create bucket response: {}", putRet);
- // } catch (QiniuException ex) {
- // Response r = ex.response;
- // log.error("qi niu create bucket fail response: {}", r.toString());
- // try {
- // log.error("qi niu create bucket fail response body: {}", r.bodyString());
- // } catch (QiniuException ex2) {
- // //ignore
- // }
- // throw new StorageProviderException("qiu niu create bucket exception", ex);
- // }
- // }
-
@Override
public String upload(@NotNull String fileName,
InputStream inputStream) throws StorageProviderException {
diff --git a/eiam-common/src/main/java/cn/topiam/employee/common/storage/impl/S3Storage.java b/eiam-common/src/main/java/cn/topiam/employee/common/storage/impl/S3Storage.java
index 192d9445..5bda0e52 100644
--- a/eiam-common/src/main/java/cn/topiam/employee/common/storage/impl/S3Storage.java
+++ b/eiam-common/src/main/java/cn/topiam/employee/common/storage/impl/S3Storage.java
@@ -49,10 +49,8 @@ import software.amazon.awssdk.services.s3.presigner.model.PresignedGetObjectRequ
import static cn.topiam.employee.common.constant.StorageConstants.URL_REGEXP;
/**
- * S3 协议实现
- *
* @author TopIAM
- * Created by support@topiam.cn on 2023/08/29 22:30
+ * Created by support@topiam.cn on 2021/11/10 21:36
*/
@Slf4j
public class S3Storage extends AbstractStorage {