From eb2be90e74adfa06ee251f80c08243d0301ce467 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期三, 28 七月 2021 10:49:16 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev'

---
 ruoyi-oss/src/main/java/com/ruoyi/oss/service/abstractd/AbstractCloudStorageService.java |   62 +++++++++++++++++++++++++++++++
 1 files changed, 62 insertions(+), 0 deletions(-)

diff --git a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/abstractd/AbstractCloudStorageService.java b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/abstractd/AbstractCloudStorageService.java
new file mode 100644
index 0000000..c757ab4
--- /dev/null
+++ b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/abstractd/AbstractCloudStorageService.java
@@ -0,0 +1,62 @@
+package com.ruoyi.oss.service.abstractd;
+
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.io.IoUtil;
+import cn.hutool.core.util.IdUtil;
+import cn.hutool.core.util.StrUtil;
+import com.ruoyi.oss.entity.UploadResult;
+import com.ruoyi.oss.service.ICloudStorageService;
+import org.springframework.beans.factory.InitializingBean;
+
+import java.io.InputStream;
+import java.util.Date;
+
+/**
+ * 浜戝瓨鍌�(鏀寔涓冪墰銆侀樋閲屼簯銆佽吘璁簯銆乵inio)
+ *
+ * @author Lion Li
+ */
+public abstract class AbstractCloudStorageService implements ICloudStorageService, InitializingBean {
+
+	@Override
+	public abstract void createBucket();
+
+	@Override
+	public abstract String getServiceType();
+
+	@Override
+	public String getPath(String prefix, String suffix) {
+		// 鐢熸垚uuid
+		String uuid = IdUtil.fastSimpleUUID();
+		// 鏂囦欢璺緞
+		String path = DateUtil.format(new Date(), "yyyyMMdd") + "/" + uuid;
+		if (StrUtil.isNotBlank(prefix)) {
+			path = prefix + "/" + path;
+		}
+		return path + suffix;
+	}
+
+	@Override
+	public abstract UploadResult upload(byte[] data, String path, String contentType);
+
+	@Override
+	public abstract void delete(String path);
+
+	@Override
+	public UploadResult upload(InputStream inputStream, String path, String contentType) {
+		byte[] data = IoUtil.readBytes(inputStream);
+		return this.upload(data, path, contentType);
+	}
+
+	@Override
+	public abstract UploadResult uploadSuffix(byte[] data, String suffix, String contentType);
+
+	@Override
+	public abstract UploadResult uploadSuffix(InputStream inputStream, String suffix, String contentType);
+
+	@Override
+	public abstract void afterPropertiesSet() throws Exception;
+
+	@Override
+	public abstract String getEndpointLink();
+}

--
Gitblit v1.9.3