From 236ae38016e9485a91a5a643c495fded14624990 Mon Sep 17 00:00:00 2001 From: heng <835217326@qq.com> Date: Sat, 5 Aug 2023 19:06:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BE=9B=E5=BA=94=E5=95=86?= =?UTF-8?q?=E5=88=9B=E5=BB=BA=E7=9B=B8=E5=85=B3=E4=BB=A3=E7=A0=81=EF=BC=8C?= =?UTF-8?q?=E4=BF=AE=E6=94=B9SE=E5=88=9D=E5=A7=8B=E5=8C=96=E6=96=B9?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/universal/SmsRestrictedUtil.java | 8 +- .../dromara/sms4j/comm/constant/Constant.java | 5 ++ .../org/dromara/sms4j/comm/utils/SmsUtil.java | 24 ++++++ .../sms4j/core/factory/SmsFactory.java | 2 +- .../sms4j/javase/config/SEInitializer.java | 75 +++++++------------ .../sms4j/aliyun/config/AlibabaFactory.java | 4 +- .../sms4j/cloopen/config/CloopenFactory.java | 4 +- .../sms4j/ctyun/config/CtyunFactory.java | 4 +- .../sms4j/emay/config/EmayFactory.java | 4 +- .../sms4j/huawei/config/HuaweiFactory.java | 4 +- .../sms4j/jdcloud/config/JdCloudFactory.java | 4 +- .../sms4j/netease/config/NeteaseFactory.java | 4 +- .../factory/AbstractProviderFactory.java | 32 ++++++++ .../provider/factory/BaseProviderFactory.java | 6 +- .../factory/ProviderFactoryHolder.java | 4 +- .../sms4j/tencent/config/TencentFactory.java | 4 +- .../sms4j/unisms/config/UniFactory.java | 4 +- .../sms4j/yunpian/config/YunPianFactory.java | 4 +- .../sms4j/zhutong/config/ZhutongFactory.java | 4 +- 19 files changed, 119 insertions(+), 81 deletions(-) create mode 100644 sms4j-provider/src/main/java/org/dromara/sms4j/provider/factory/AbstractProviderFactory.java diff --git a/sms4j-api/src/main/java/org/dromara/sms4j/api/universal/SmsRestrictedUtil.java b/sms4j-api/src/main/java/org/dromara/sms4j/api/universal/SmsRestrictedUtil.java index 9e463b7a..68ac8ebf 100644 --- a/sms4j-api/src/main/java/org/dromara/sms4j/api/universal/SmsRestrictedUtil.java +++ b/sms4j-api/src/main/java/org/dromara/sms4j/api/universal/SmsRestrictedUtil.java @@ -17,7 +17,7 @@ public interface SmsRestrictedUtil { * @param time 过期时间(秒级单位) * @author :Wind */ - public boolean setOrTime(String key, Object value, Long time) throws RuntimeException; + boolean setOrTime(String key, Object value, Long time) throws RuntimeException; /** * set @@ -26,7 +26,7 @@ public interface SmsRestrictedUtil { * @param value 缓存value值 * @author :Wind */ - public boolean set(String key, Object value) throws RuntimeException; + boolean set(String key, Object value) throws RuntimeException; /** * getByKey @@ -34,12 +34,12 @@ public interface SmsRestrictedUtil { * @param key redis的key * @author :Wind */ - public Object getByKey(String key) throws RuntimeException; + Object getByKey(String key) throws RuntimeException; /** * clear *

清除缓存

* @author :Wind */ - public void clean() throws RuntimeException; + void clean() throws RuntimeException; } diff --git a/sms4j-comm/src/main/java/org/dromara/sms4j/comm/constant/Constant.java b/sms4j-comm/src/main/java/org/dromara/sms4j/comm/constant/Constant.java index 7b65d83d..3eb52eb2 100644 --- a/sms4j-comm/src/main/java/org/dromara/sms4j/comm/constant/Constant.java +++ b/sms4j-comm/src/main/java/org/dromara/sms4j/comm/constant/Constant.java @@ -43,6 +43,11 @@ public abstract class Constant { */ public static final String HTTPS_PREFIX = "https://"; + /** + * 供应商配置键名 + */ + public static final String SUPPLIER_KEY = "supplier"; + private Constant() { } } diff --git a/sms4j-comm/src/main/java/org/dromara/sms4j/comm/utils/SmsUtil.java b/sms4j-comm/src/main/java/org/dromara/sms4j/comm/utils/SmsUtil.java index d91b6da9..1a017746 100644 --- a/sms4j-comm/src/main/java/org/dromara/sms4j/comm/utils/SmsUtil.java +++ b/sms4j-comm/src/main/java/org/dromara/sms4j/comm/utils/SmsUtil.java @@ -4,11 +4,13 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.RandomUtil; +import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; +import java.util.Map; /** * @author wind @@ -139,4 +141,26 @@ public class SmsUtil { return toStr.toArray(new String[list.size()]); } + /** + * 将Map中所有key的分隔符转换为新的分隔符 + * @param map map对象 + * @param seperator 旧分隔符 + * @param newSeperator 新分隔符 + */ + public static void replaceKeysSeperator(Map map, String seperator, String newSeperator) { + if(CollUtil.isEmpty(map)) { + return; + } + List keySet = new ArrayList<>(map.keySet()); + for(String key : keySet) { + if(StrUtil.isEmpty(key) || !key.contains(seperator)) { + continue; + } + String value = map.get(key); + String newKey = key.replaceAll(seperator, newSeperator); + map.putIfAbsent(newKey, value); + map.remove(key); + } + } + } \ No newline at end of file diff --git a/sms4j-core/src/main/java/org/dromara/sms4j/core/factory/SmsFactory.java b/sms4j-core/src/main/java/org/dromara/sms4j/core/factory/SmsFactory.java index 6bb038aa..40512351 100644 --- a/sms4j-core/src/main/java/org/dromara/sms4j/core/factory/SmsFactory.java +++ b/sms4j-core/src/main/java/org/dromara/sms4j/core/factory/SmsFactory.java @@ -69,7 +69,7 @@ public abstract class SmsFactory { } private static SmsBlend create(SupplierConfig config) { - BaseProviderFactory factory = ProviderFactoryHolder.requireForConfig(config); + BaseProviderFactory factory = ProviderFactoryHolder.requireForSupplier(config.getSupplier()); if (factory == null) { throw new SmsBlendException("不支持当前供应商配置"); } diff --git a/sms4j-javase-plugin/src/main/java/org/dromara/sms4j/javase/config/SEInitializer.java b/sms4j-javase-plugin/src/main/java/org/dromara/sms4j/javase/config/SEInitializer.java index f570c43e..6a804dfb 100644 --- a/sms4j-javase-plugin/src/main/java/org/dromara/sms4j/javase/config/SEInitializer.java +++ b/sms4j-javase-plugin/src/main/java/org/dromara/sms4j/javase/config/SEInitializer.java @@ -2,27 +2,38 @@ package org.dromara.sms4j.javase.config; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.io.resource.ClassPathResource; +import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; import lombok.extern.slf4j.Slf4j; import org.dromara.sms4j.aliyun.config.AlibabaConfig; +import org.dromara.sms4j.api.SmsBlend; +import org.dromara.sms4j.api.universal.SupplierConfig; import org.dromara.sms4j.cloopen.config.CloopenConfig; import org.dromara.sms4j.comm.config.SmsConfig; +import org.dromara.sms4j.comm.constant.Constant; import org.dromara.sms4j.comm.exception.SmsBlendException; import org.dromara.sms4j.comm.factory.BeanFactory; +import org.dromara.sms4j.comm.utils.SmsUtil; import org.dromara.sms4j.core.factory.SmsFactory; import org.dromara.sms4j.emay.config.EmayConfig; import org.dromara.sms4j.huawei.config.HuaweiConfig; import org.dromara.sms4j.javase.util.YamlUtil; import org.dromara.sms4j.jdcloud.config.JdCloudConfig; import org.dromara.sms4j.netease.config.NeteaseConfig; +import org.dromara.sms4j.provider.config.BaseConfig; +import org.dromara.sms4j.provider.factory.BaseProviderFactory; +import org.dromara.sms4j.provider.factory.ProviderFactoryHolder; import org.dromara.sms4j.tencent.config.TencentConfig; import org.dromara.sms4j.unisms.config.UniConfig; import org.dromara.sms4j.yunpian.config.YunpianConfig; import org.dromara.sms4j.zhutong.config.ZhutongConfig; +import java.util.Map; + /** * 初始化类 */ @@ -88,45 +99,20 @@ public class SEInitializer { } this.initSmsConfig(smsConfig); - AlibabaConfig alibabaConfig = smsConfig.getAlibaba(); - if (alibabaConfig != null) { - SmsFactory.createSmsBlend(alibabaConfig); - } - CloopenConfig cloopenConfig = smsConfig.getCloopen(); - if (cloopenConfig != null) { - SmsFactory.createSmsBlend(cloopenConfig); - } - EmayConfig emayConfig = smsConfig.getEmay(); - if (emayConfig != null) { - SmsFactory.createSmsBlend(emayConfig); - } - HuaweiConfig huaweiConfig = smsConfig.getHuawei(); - if (huaweiConfig != null) { - SmsFactory.createSmsBlend(huaweiConfig); - } - JdCloudConfig jdCloudConfig = smsConfig.getJdCloud(); - if (jdCloudConfig != null) { - SmsFactory.createSmsBlend(jdCloudConfig); - } - TencentConfig tencentConfig = smsConfig.getTencent(); - if (tencentConfig != null) { - SmsFactory.createSmsBlend(tencentConfig); - } - UniConfig uniConfig = smsConfig.getUni(); - if (uniConfig != null) { - SmsFactory.createSmsBlend(uniConfig); - } - YunpianConfig yunpianConfig = smsConfig.getYunpian(); - if (yunpianConfig != null) { - SmsFactory.createSmsBlend(yunpianConfig); - } - NeteaseConfig neteaseConfig = smsConfig.getNeteaseConfig(); - if (neteaseConfig != null){ - SmsFactory.createSmsBlend(neteaseConfig); - } - ZhutongConfig zhutongConfig = smsConfig.getZhutongConfig(); - if (zhutongConfig != null){ - SmsFactory.createSmsBlend(zhutongConfig); + // 解析供应商配置 + Map> blends = smsConfig.getBlends(); + for(String configId : blends.keySet()) { + Map configMap = blends.get(configId); + String supplier = configMap.get(Constant.SUPPLIER_KEY); + supplier = StrUtil.isEmpty(supplier) ? configId : supplier; + BaseProviderFactory providerFactory = (BaseProviderFactory) ProviderFactoryHolder.requireForSupplier(supplier); + if(providerFactory == null) { + log.warn("创建\"{}\"的短信服务失败,未找到供应商为\"{}\"的服务", configId, supplier); + } + SmsUtil.replaceKeysSeperator(configMap, "-", "_"); + JSONObject configJson = new JSONObject(configMap); + SupplierConfig supplierConfig = JSONUtil.toBean(configJson, providerFactory.getConfigClass()); + providerFactory.createSms(supplierConfig); } } @@ -147,16 +133,7 @@ public class SEInitializer { @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) public static class InitSmsConfig extends SmsConfig { - private AlibabaConfig alibaba; - private CloopenConfig cloopen; - private EmayConfig emay; - private HuaweiConfig huawei; - private JdCloudConfig jdCloud; - private TencentConfig tencent; - private UniConfig uni; - private YunpianConfig yunpian; - private NeteaseConfig neteaseConfig; - private ZhutongConfig zhutongConfig; + private Map> blends; } } diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/aliyun/config/AlibabaFactory.java b/sms4j-provider/src/main/java/org/dromara/sms4j/aliyun/config/AlibabaFactory.java index 5dea7060..f7fbb317 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/aliyun/config/AlibabaFactory.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/aliyun/config/AlibabaFactory.java @@ -3,7 +3,7 @@ package org.dromara.sms4j.aliyun.config; import lombok.AccessLevel; import lombok.NoArgsConstructor; import org.dromara.sms4j.aliyun.service.AlibabaSmsImpl; -import org.dromara.sms4j.provider.factory.BaseProviderFactory; +import org.dromara.sms4j.provider.factory.AbstractProviderFactory; import org.dromara.sms4j.provider.factory.ProviderFactoryHolder; /** @@ -14,7 +14,7 @@ import org.dromara.sms4j.provider.factory.ProviderFactoryHolder; * 2023/4/8 14:54 **/ @NoArgsConstructor(access = AccessLevel.PRIVATE) -public class AlibabaFactory implements BaseProviderFactory { +public class AlibabaFactory extends AbstractProviderFactory { private static final AlibabaFactory INSTANCE = new AlibabaFactory(); diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/cloopen/config/CloopenFactory.java b/sms4j-provider/src/main/java/org/dromara/sms4j/cloopen/config/CloopenFactory.java index 4d674dc6..35f45ee7 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/cloopen/config/CloopenFactory.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/cloopen/config/CloopenFactory.java @@ -3,7 +3,7 @@ package org.dromara.sms4j.cloopen.config; import lombok.AccessLevel; import lombok.NoArgsConstructor; import org.dromara.sms4j.cloopen.service.CloopenSmsImpl; -import org.dromara.sms4j.provider.factory.BaseProviderFactory; +import org.dromara.sms4j.provider.factory.AbstractProviderFactory; import org.dromara.sms4j.provider.factory.ProviderFactoryHolder; /** @@ -13,7 +13,7 @@ import org.dromara.sms4j.provider.factory.ProviderFactoryHolder; * @since 2023/4/10 22:10 */ @NoArgsConstructor(access = AccessLevel.PRIVATE) -public class CloopenFactory implements BaseProviderFactory { +public class CloopenFactory extends AbstractProviderFactory { private static final CloopenFactory INSTANCE = new CloopenFactory(); diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/ctyun/config/CtyunFactory.java b/sms4j-provider/src/main/java/org/dromara/sms4j/ctyun/config/CtyunFactory.java index ff16e402..84188e80 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/ctyun/config/CtyunFactory.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/ctyun/config/CtyunFactory.java @@ -3,7 +3,7 @@ package org.dromara.sms4j.ctyun.config; import lombok.AccessLevel; import lombok.NoArgsConstructor; import org.dromara.sms4j.ctyun.service.CtyunSmsImpl; -import org.dromara.sms4j.provider.factory.BaseProviderFactory; +import org.dromara.sms4j.provider.factory.AbstractProviderFactory; import org.dromara.sms4j.provider.factory.ProviderFactoryHolder; /** @@ -14,7 +14,7 @@ import org.dromara.sms4j.provider.factory.ProviderFactoryHolder; * 2023/5/12 15:06 **/ @NoArgsConstructor(access = AccessLevel.PRIVATE) -public class CtyunFactory implements BaseProviderFactory { +public class CtyunFactory extends AbstractProviderFactory { private static final CtyunFactory INSTANCE = new CtyunFactory(); diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/emay/config/EmayFactory.java b/sms4j-provider/src/main/java/org/dromara/sms4j/emay/config/EmayFactory.java index acdc8a21..fa808012 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/emay/config/EmayFactory.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/emay/config/EmayFactory.java @@ -3,7 +3,7 @@ package org.dromara.sms4j.emay.config; import lombok.AccessLevel; import lombok.NoArgsConstructor; import org.dromara.sms4j.emay.service.EmaySmsImpl; -import org.dromara.sms4j.provider.factory.BaseProviderFactory; +import org.dromara.sms4j.provider.factory.AbstractProviderFactory; import org.dromara.sms4j.provider.factory.ProviderFactoryHolder; /** @@ -14,7 +14,7 @@ import org.dromara.sms4j.provider.factory.ProviderFactoryHolder; * @date 2023/04/11 12:00 * */ @NoArgsConstructor(access = AccessLevel.PRIVATE) -public class EmayFactory implements BaseProviderFactory { +public class EmayFactory extends AbstractProviderFactory { private static final EmayFactory INSTANCE = new EmayFactory(); diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/config/HuaweiFactory.java b/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/config/HuaweiFactory.java index 66eab431..1e4cc84a 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/config/HuaweiFactory.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/config/HuaweiFactory.java @@ -4,7 +4,7 @@ import lombok.AccessLevel; import lombok.NoArgsConstructor; import org.dromara.sms4j.aliyun.service.AlibabaSmsImpl; import org.dromara.sms4j.huawei.service.HuaweiSmsImpl; -import org.dromara.sms4j.provider.factory.BaseProviderFactory; +import org.dromara.sms4j.provider.factory.AbstractProviderFactory; import org.dromara.sms4j.provider.factory.ProviderFactoryHolder; /** @@ -15,7 +15,7 @@ import org.dromara.sms4j.provider.factory.ProviderFactoryHolder; * 2023/4/8 15:27 **/ @NoArgsConstructor(access = AccessLevel.PRIVATE) -public class HuaweiFactory implements BaseProviderFactory { +public class HuaweiFactory extends AbstractProviderFactory { private static final HuaweiFactory INSTANCE = new HuaweiFactory(); diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/jdcloud/config/JdCloudFactory.java b/sms4j-provider/src/main/java/org/dromara/sms4j/jdcloud/config/JdCloudFactory.java index 5fe2d7a1..209c292c 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/jdcloud/config/JdCloudFactory.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/jdcloud/config/JdCloudFactory.java @@ -8,7 +8,7 @@ import com.jdcloud.sdk.service.sms.client.SmsClient; import lombok.AccessLevel; import lombok.NoArgsConstructor; import org.dromara.sms4j.jdcloud.service.JdCloudSmsImpl; -import org.dromara.sms4j.provider.factory.BaseProviderFactory; +import org.dromara.sms4j.provider.factory.AbstractProviderFactory; import org.dromara.sms4j.provider.factory.ProviderFactoryHolder; /** @@ -18,7 +18,7 @@ import org.dromara.sms4j.provider.factory.ProviderFactoryHolder; * @since 2023/4/10 20:01 */ @NoArgsConstructor(access = AccessLevel.PRIVATE) -public class JdCloudFactory implements BaseProviderFactory { +public class JdCloudFactory extends AbstractProviderFactory { private static final JdCloudFactory INSTANCE = new JdCloudFactory(); diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/netease/config/NeteaseFactory.java b/sms4j-provider/src/main/java/org/dromara/sms4j/netease/config/NeteaseFactory.java index 66f30d02..bcdefd4f 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/netease/config/NeteaseFactory.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/netease/config/NeteaseFactory.java @@ -3,7 +3,7 @@ package org.dromara.sms4j.netease.config; import lombok.AccessLevel; import lombok.NoArgsConstructor; import org.dromara.sms4j.netease.service.NeteaseSmsImpl; -import org.dromara.sms4j.provider.factory.BaseProviderFactory; +import org.dromara.sms4j.provider.factory.AbstractProviderFactory; import org.dromara.sms4j.provider.factory.ProviderFactoryHolder; /** @@ -14,7 +14,7 @@ import org.dromara.sms4j.provider.factory.ProviderFactoryHolder; * 2023-05-30 **/ @NoArgsConstructor(access = AccessLevel.PRIVATE) -public class NeteaseFactory implements BaseProviderFactory { +public class NeteaseFactory extends AbstractProviderFactory { private static final NeteaseFactory INSTANCE = new NeteaseFactory(); diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/provider/factory/AbstractProviderFactory.java b/sms4j-provider/src/main/java/org/dromara/sms4j/provider/factory/AbstractProviderFactory.java new file mode 100644 index 00000000..d3a22f5b --- /dev/null +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/provider/factory/AbstractProviderFactory.java @@ -0,0 +1,32 @@ +package org.dromara.sms4j.provider.factory; + +import org.dromara.sms4j.api.SmsBlend; +import org.dromara.sms4j.api.universal.SupplierConfig; + +import java.lang.reflect.ParameterizedType; +import java.lang.reflect.Type; + +public abstract class AbstractProviderFactory implements BaseProviderFactory { + + private Class configClass; + + public AbstractProviderFactory() { + Type genericSuperclass = getClass().getGenericSuperclass(); + if(genericSuperclass instanceof ParameterizedType) { + ParameterizedType paramType = (ParameterizedType) genericSuperclass; + Type[] typeArguments = paramType.getActualTypeArguments(); + if(typeArguments.length > 1 && typeArguments[1] instanceof Class) { + configClass = (Class) typeArguments[1]; + } + } + } + + /** + * 获取配置类 + * @return 配置类 + */ + public Class getConfigClass() { + return configClass; + } + +} diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/provider/factory/BaseProviderFactory.java b/sms4j-provider/src/main/java/org/dromara/sms4j/provider/factory/BaseProviderFactory.java index e42f1fcb..af21783a 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/provider/factory/BaseProviderFactory.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/provider/factory/BaseProviderFactory.java @@ -19,10 +19,10 @@ public interface BaseProviderFactory getConfigClass(); /** * 获取供应商 diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/provider/factory/ProviderFactoryHolder.java b/sms4j-provider/src/main/java/org/dromara/sms4j/provider/factory/ProviderFactoryHolder.java index 4c5bfb8b..b6c1e2e5 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/provider/factory/ProviderFactoryHolder.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/provider/factory/ProviderFactoryHolder.java @@ -20,9 +20,9 @@ public class ProviderFactoryHolder { factories.add(factory); } - public static BaseProviderFactory requireForConfig(SupplierConfig config) { + public static BaseProviderFactory requireForSupplier(String supplier) { return factories.stream() - .filter(f -> f.getSupplier().equals(config.getSupplier())) + .filter(f -> f.getSupplier().equals(supplier)) .findFirst() .orElse(null); } diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/tencent/config/TencentFactory.java b/sms4j-provider/src/main/java/org/dromara/sms4j/tencent/config/TencentFactory.java index 8ca7a808..aae52301 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/tencent/config/TencentFactory.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/tencent/config/TencentFactory.java @@ -1,6 +1,6 @@ package org.dromara.sms4j.tencent.config; -import org.dromara.sms4j.provider.factory.BaseProviderFactory; +import org.dromara.sms4j.provider.factory.AbstractProviderFactory; import org.dromara.sms4j.provider.factory.ProviderFactoryHolder; import org.dromara.sms4j.tencent.service.TencentSmsImpl; @@ -11,7 +11,7 @@ import org.dromara.sms4j.tencent.service.TencentSmsImpl; * @author :Wind * 2023/4/8 16:05 **/ -public class TencentFactory implements BaseProviderFactory { +public class TencentFactory extends AbstractProviderFactory { private static final TencentFactory INSTANCE = new TencentFactory(); diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/unisms/config/UniFactory.java b/sms4j-provider/src/main/java/org/dromara/sms4j/unisms/config/UniFactory.java index 5f31cd4a..09feaa93 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/unisms/config/UniFactory.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/unisms/config/UniFactory.java @@ -2,7 +2,7 @@ package org.dromara.sms4j.unisms.config; import lombok.AccessLevel; import lombok.NoArgsConstructor; -import org.dromara.sms4j.provider.factory.BaseProviderFactory; +import org.dromara.sms4j.provider.factory.AbstractProviderFactory; import org.dromara.sms4j.provider.factory.ProviderFactoryHolder; import org.dromara.sms4j.unisms.core.Uni; import org.dromara.sms4j.unisms.service.UniSmsImpl; @@ -14,7 +14,7 @@ import org.dromara.sms4j.unisms.service.UniSmsImpl; * 2023/4/8 15:46 **/ @NoArgsConstructor(access = AccessLevel.PRIVATE) -public class UniFactory implements BaseProviderFactory { +public class UniFactory extends AbstractProviderFactory { private static final UniFactory INSTANCE = new UniFactory(); diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/yunpian/config/YunPianFactory.java b/sms4j-provider/src/main/java/org/dromara/sms4j/yunpian/config/YunPianFactory.java index f4069481..f2cf41c9 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/yunpian/config/YunPianFactory.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/yunpian/config/YunPianFactory.java @@ -2,12 +2,12 @@ package org.dromara.sms4j.yunpian.config; import lombok.AccessLevel; import lombok.NoArgsConstructor; -import org.dromara.sms4j.provider.factory.BaseProviderFactory; +import org.dromara.sms4j.provider.factory.AbstractProviderFactory; import org.dromara.sms4j.provider.factory.ProviderFactoryHolder; import org.dromara.sms4j.yunpian.service.YunPianSmsImpl; @NoArgsConstructor(access = AccessLevel.PRIVATE) -public class YunPianFactory implements BaseProviderFactory { +public class YunPianFactory extends AbstractProviderFactory { private static final YunPianFactory INSTANCE = new YunPianFactory(); diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/zhutong/config/ZhutongFactory.java b/sms4j-provider/src/main/java/org/dromara/sms4j/zhutong/config/ZhutongFactory.java index b35f3a71..23f4f881 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/zhutong/config/ZhutongFactory.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/zhutong/config/ZhutongFactory.java @@ -2,12 +2,12 @@ package org.dromara.sms4j.zhutong.config; import lombok.AccessLevel; import lombok.NoArgsConstructor; -import org.dromara.sms4j.provider.factory.BaseProviderFactory; +import org.dromara.sms4j.provider.factory.AbstractProviderFactory; import org.dromara.sms4j.provider.factory.ProviderFactoryHolder; import org.dromara.sms4j.zhutong.service.ZhutongSmsImpl; @NoArgsConstructor(access = AccessLevel.PRIVATE) -public class ZhutongFactory implements BaseProviderFactory { +public class ZhutongFactory extends AbstractProviderFactory { private static final ZhutongFactory INSTANCE = new ZhutongFactory(); static {