From dd9340090b9d960e486201e92d6a7a991d7cdec6 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期五, 23 七月 2021 19:14:37 +0800
Subject: [PATCH] add OSS模块 增加预览图片开关

---
 ruoyi-oss/src/main/java/com/ruoyi/oss/service/abstractd/AbstractCloudStorageService.java |   52 +++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 39 insertions(+), 13 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..c757ab4 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,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.config.CloudStorageConfig;
+import com.ruoyi.oss.entity.UploadResult;
 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;
+	@Override
+	public abstract void createBucket();
 
-	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 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