From 089e288a6e55d2ae527ad733bbb8b8b5eaad6107 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期日, 18 七月 2021 18:20:21 +0800
Subject: [PATCH] update 使用 策略+工厂 重写OSS模块

---
 ruoyi-oss/src/main/java/com/ruoyi/oss/service/abstractd/AbstractCloudStorageService.java |   47 +++++++++++++++++++++++++++++++++--------------
 1 files changed, 33 insertions(+), 14 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
index cbdbd93..a154670 100644
--- 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
@@ -1,36 +1,55 @@
 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.config.CloudStorageConfig;
 import com.ruoyi.oss.service.ICloudStorageService;
-import com.ruoyi.oss.utils.DateUtils;
+import org.springframework.beans.factory.InitializingBean;
 
-import java.util.UUID;
+import java.io.InputStream;
+import java.util.Date;
 
 /**
  * 浜戝瓨鍌�(鏀寔涓冪墰銆侀樋閲屼簯銆佽吘璁簯銆乵inio)
+ *
+ * @author Lion Li
  */
-public abstract class AbstractCloudStorageService implements ICloudStorageService {
+public abstract class AbstractCloudStorageService implements ICloudStorageService, InitializingBean {
 
-	/**
-	 * 浜戝瓨鍌ㄩ厤缃俊鎭�
-	 */
-	protected CloudStorageConfig config;
-
-	public int getServiceType() {
-		return config.getType();
-	}
+	@Override
+	public abstract String getServiceType();
 
 	@Override
 	public String getPath(String prefix, String suffix) {
 		// 鐢熸垚uuid
-		String uuid = UUID.randomUUID().toString().replaceAll("-", "");
+		String uuid = IdUtil.fastSimpleUUID();
 		// 鏂囦欢璺緞
-		String path = DateUtils.dateTime() + "/" + uuid;
+		String path = DateUtil.format(new Date(), "yyyyMMdd") + "/" + uuid;
 		if (StrUtil.isNotBlank(prefix)) {
 			path = prefix + "/" + path;
 		}
 		return path + suffix;
 	}
 
+	@Override
+	public abstract String upload(byte[] data, String path);
+
+	@Override
+	public abstract void delete(String path);
+
+	@Override
+	public String upload(InputStream inputStream, String path) {
+		byte[] data = IoUtil.readBytes(inputStream);
+		return this.upload(data, path);
+	}
+
+	@Override
+	public abstract String uploadSuffix(byte[] data, String suffix);
+
+	@Override
+	public abstract String uploadSuffix(InputStream inputStream, String suffix);
+
+	@Override
+	public abstract void afterPropertiesSet() throws Exception;
 }

--
Gitblit v1.9.3