From 222f3657d0652ad2f3ddafd4132c577d83cbc389 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=8B=E8=BE=9E=E6=9C=AA=E5=AF=92?= <545073804@qq.com> Date: Sun, 15 Mar 2026 22:01:58 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E6=8F=90=E4=BE=9B=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E7=9A=84S3=E5=AD=98=E5=82=A8?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=E7=AB=AF=E9=85=8D=E7=BD=AE=E7=9A=84=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C=E6=96=B9=E6=B3=95=EF=BC=8C=E7=94=B1=E8=B0=83=E7=94=A8?= =?UTF-8?q?=E8=80=85=E5=86=B3=E5=AE=9A=E6=A0=A1=E9=AA=8C=E7=9A=84=E7=BB=93?= =?UTF-8?q?=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/oss/s3/client/S3StorageClient.java | 20 +++++++++++++++---- .../oss/s3/client/S3StorageClientImpl.java | 11 ++++++++-- 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/s3/client/S3StorageClient.java b/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/s3/client/S3StorageClient.java index ba131e8c5..08ba068fe 100644 --- a/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/s3/client/S3StorageClient.java +++ b/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/s3/client/S3StorageClient.java @@ -26,6 +26,7 @@ import java.util.Collection; import java.util.Map; import java.util.function.BiFunction; import java.util.function.Consumer; +import java.util.function.Function; /** * S3 存储客户端接口。 @@ -381,12 +382,23 @@ public interface S3StorageClient extends AutoCloseable { */ String presignPutUrl(String key, Duration expiredTime, Map metadata); - /** - * 校验客户端配置与传入的配置是否一致 + * 校验客户端配置 * - * @param config 配置 + *

注意:该方法不会修改任何既有的配置和状态,你看可以理解为这仅仅是一个配置展示的方法,以供调用者根据当前的配置,自行决定是否需要重新构建客户端。

+ * + * @param verifyConfigAction 校验配置动作函数 * @return 是否一致 */ - boolean verifyConfig(S3StorageClientConfig config); + boolean verifyConfig(Function verifyConfigAction); + + /** + * 校验客户端配置与传入的待校验配置是否一致 + * + *

注意:该方法不会修改任何既有的配置和状态,你看可以理解为这仅仅是一个配置展示的方法,以供调用者根据当前的配置,自行决定是否需要重新构建客户端。

+ * + * @param verifyConfig 待校验的配置 + * @return 是否一致 + */ + boolean verifyConfig(S3StorageClientConfig verifyConfig); } diff --git a/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/s3/client/S3StorageClientImpl.java b/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/s3/client/S3StorageClientImpl.java index 2f3f68a13..103a2d772 100644 --- a/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/s3/client/S3StorageClientImpl.java +++ b/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/s3/client/S3StorageClientImpl.java @@ -34,6 +34,7 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.function.BiFunction; import java.util.function.Consumer; +import java.util.function.Function; /** * S3 存储客户端实现类。 @@ -396,8 +397,14 @@ public class S3StorageClientImpl implements S3StorageClient { } @Override - public boolean verifyConfig(S3StorageClientConfig config) { - return Objects.equals(this.config,config); + public boolean verifyConfig(Function verifyConfigAction) { + S3StorageClientConfig copy = S3StorageClientConfig.copy(config); + return Boolean.TRUE.equals(verifyConfigAction.apply(copy)); + } + + @Override + public boolean verifyConfig(S3StorageClientConfig verifyConfig) { + return verifyConfig(config -> Objects.equals(config,verifyConfig)); } @Override