diff --git a/src/main/java/com/ycwl/basic/storage/adapters/AliOssAdapter.java b/src/main/java/com/ycwl/basic/storage/adapters/AliOssAdapter.java index 8b7dd2c..4b6c170 100644 --- a/src/main/java/com/ycwl/basic/storage/adapters/AliOssAdapter.java +++ b/src/main/java/com/ycwl/basic/storage/adapters/AliOssAdapter.java @@ -35,6 +35,11 @@ import java.util.stream.Collectors; final public class AliOssAdapter extends AStorageAdapter { private AliOssStorageConfig config; + @Override + public String identity() { + return config.identity(); + } + @Override public void loadConfig(Map _config) { AliOssStorageConfig config = new AliOssStorageConfig(); diff --git a/src/main/java/com/ycwl/basic/storage/adapters/AwsOssAdapter.java b/src/main/java/com/ycwl/basic/storage/adapters/AwsOssAdapter.java index 2104ab5..a359787 100644 --- a/src/main/java/com/ycwl/basic/storage/adapters/AwsOssAdapter.java +++ b/src/main/java/com/ycwl/basic/storage/adapters/AwsOssAdapter.java @@ -28,6 +28,11 @@ import java.util.stream.Collectors; public class AwsOssAdapter extends AStorageAdapter { private AwsOssStorageConfig config; + @Override + public String identity() { + return config.identity(); + } + @Override public void loadConfig(Map _config) { AwsOssStorageConfig config = new AwsOssStorageConfig(); diff --git a/src/main/java/com/ycwl/basic/storage/adapters/IStorageAdapter.java b/src/main/java/com/ycwl/basic/storage/adapters/IStorageAdapter.java index d0f8e09..bcdc1dc 100644 --- a/src/main/java/com/ycwl/basic/storage/adapters/IStorageAdapter.java +++ b/src/main/java/com/ycwl/basic/storage/adapters/IStorageAdapter.java @@ -12,6 +12,7 @@ import java.util.List; import java.util.Map; public interface IStorageAdapter { + String identity(); void loadConfig(Map config); void setConfig(StorageConfig config); String uploadFile(String contentType, InputStream inputStream, String ...path); diff --git a/src/main/java/com/ycwl/basic/storage/adapters/LocalStorageAdapter.java b/src/main/java/com/ycwl/basic/storage/adapters/LocalStorageAdapter.java index a32644f..49e9883 100644 --- a/src/main/java/com/ycwl/basic/storage/adapters/LocalStorageAdapter.java +++ b/src/main/java/com/ycwl/basic/storage/adapters/LocalStorageAdapter.java @@ -11,6 +11,11 @@ import java.util.List; import java.util.Map; public class LocalStorageAdapter extends AStorageAdapter{ + @Override + public String identity() { + return ""; + } + @Override public void loadConfig(Map config) { diff --git a/src/main/java/com/ycwl/basic/storage/entity/AliOssStorageConfig.java b/src/main/java/com/ycwl/basic/storage/entity/AliOssStorageConfig.java index b2d2163..fabf4aa 100644 --- a/src/main/java/com/ycwl/basic/storage/entity/AliOssStorageConfig.java +++ b/src/main/java/com/ycwl/basic/storage/entity/AliOssStorageConfig.java @@ -1,5 +1,6 @@ package com.ycwl.basic.storage.entity; +import cn.hutool.crypto.digest.MD5; import lombok.Data; import lombok.EqualsAndHashCode; @@ -19,6 +20,11 @@ public class AliOssStorageConfig extends StorageConfig { // TODO: 检查配置是否正确 } + @Override + public String identity() { + return MD5.create().digestHex16(accessKeyId + bucketName + prefix); + } + public String getUrl() { String url = this.url; if (url == null) { diff --git a/src/main/java/com/ycwl/basic/storage/entity/AwsOssStorageConfig.java b/src/main/java/com/ycwl/basic/storage/entity/AwsOssStorageConfig.java index 643871c..c8e6ec7 100644 --- a/src/main/java/com/ycwl/basic/storage/entity/AwsOssStorageConfig.java +++ b/src/main/java/com/ycwl/basic/storage/entity/AwsOssStorageConfig.java @@ -1,5 +1,6 @@ package com.ycwl.basic.storage.entity; +import cn.hutool.crypto.digest.MD5; import lombok.Data; import lombok.EqualsAndHashCode; @@ -19,6 +20,11 @@ public class AwsOssStorageConfig extends StorageConfig { // TODO: 检查配置是否正确 } + @Override + public String identity() { + return MD5.create().digestHex16(accessKeyId + bucketName + prefix); + } + public String getUrl() { String url = this.url; if (url == null) { diff --git a/src/main/java/com/ycwl/basic/storage/entity/StorageConfig.java b/src/main/java/com/ycwl/basic/storage/entity/StorageConfig.java index 96b16eb..140a41c 100644 --- a/src/main/java/com/ycwl/basic/storage/entity/StorageConfig.java +++ b/src/main/java/com/ycwl/basic/storage/entity/StorageConfig.java @@ -2,4 +2,5 @@ package com.ycwl.basic.storage.entity; public abstract class StorageConfig { public abstract void checkEverythingOK(); + public abstract String identity(); }