diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/aliyun/service/AlibabaSmsImpl.java b/sms4j-provider/src/main/java/org/dromara/sms4j/aliyun/service/AlibabaSmsImpl.java index d522c2fe..c8b3e0e9 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/aliyun/service/AlibabaSmsImpl.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/aliyun/service/AlibabaSmsImpl.java @@ -116,7 +116,7 @@ public class AlibabaSmsImpl extends AbstractSmsBlend { } catch (SmsBlendException e) { smsResponse = errorResp(e.message); } - if (smsResponse.isSuccess() || retry == getConfig().getMaxRetries()) { + if (smsResponse.isSuccess() || retry >= getConfig().getMaxRetries()) { retry = 0; return smsResponse; } diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/budingyun/service/BudingV2SmsImpl.java b/sms4j-provider/src/main/java/org/dromara/sms4j/budingyun/service/BudingV2SmsImpl.java index 2605be01..f1f77346 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/budingyun/service/BudingV2SmsImpl.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/budingyun/service/BudingV2SmsImpl.java @@ -11,6 +11,7 @@ import org.dromara.sms4j.comm.delayedTime.DelayedTime; import org.dromara.sms4j.comm.exception.SmsBlendException; import org.dromara.sms4j.provider.service.AbstractSmsBlend; +import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; @@ -72,7 +73,7 @@ public class BudingV2SmsImpl extends AbstractSmsBlend { } catch (SmsBlendException e) { smsResponse = errorResp(e.message); } - if (smsResponse.isSuccess() || retry == getConfig().getMaxRetries()) { + if (smsResponse.isSuccess() || retry >= getConfig().getMaxRetries()) { retry = 0; return smsResponse; } @@ -150,7 +151,12 @@ public class BudingV2SmsImpl extends AbstractSmsBlend { */ @Override public SmsResponse massTexting(List phones, String templateId, LinkedHashMap messages) { - throw new SmsBlendException("布丁云V2暂不支持多条短信发送"); + List list = new ArrayList<>(); + for (String phone : phones) { + SmsResponse smsResponse = sendMessage(phone, templateId, messages); + list.add(smsResponse); + } + return SmsRespUtils.resp(list, true, getConfigId()); } private Map getHeaders() { diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/chuanglan/service/ChuangLanSmsImpl.java b/sms4j-provider/src/main/java/org/dromara/sms4j/chuanglan/service/ChuangLanSmsImpl.java index 61a5c57e..03cba1d9 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/chuanglan/service/ChuangLanSmsImpl.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/chuanglan/service/ChuangLanSmsImpl.java @@ -107,7 +107,7 @@ public class ChuangLanSmsImpl extends AbstractSmsBlend { }catch (SmsBlendException e) { smsResponse = errorResp(e.message); } - if (smsResponse.isSuccess() || retry == getConfig().getMaxRetries()) { + if (smsResponse.isSuccess() || retry >= getConfig().getMaxRetries()) { retry = 0; return smsResponse; } diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/service/HuaweiSmsImpl.java b/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/service/HuaweiSmsImpl.java index b3415aa6..83b0f8dc 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/service/HuaweiSmsImpl.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/service/HuaweiSmsImpl.java @@ -21,13 +21,14 @@ import java.util.Map; import java.util.Objects; import java.util.UUID; import java.util.concurrent.Executor; +import java.util.concurrent.atomic.AtomicInteger; import static org.dromara.sms4j.huawei.utils.HuaweiBuilder.listToString; @Slf4j public class HuaweiSmsImpl extends AbstractSmsBlend { - private int retry = 0; + private volatile int retry = 0; public HuaweiSmsImpl(HuaweiConfig config, Executor pool, DelayedTime delayed) { super(config, pool, delayed); @@ -80,7 +81,7 @@ public class HuaweiSmsImpl extends AbstractSmsBlend { } catch (SmsBlendException e) { smsResponse = errorResp(e.message); } - if (smsResponse.isSuccess() || retry == getConfig().getMaxRetries()) { + if (smsResponse.isSuccess() || retry >= getConfig().getMaxRetries()) { retry = 0; return smsResponse; } diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/jdcloud/service/JdCloudSmsImpl.java b/sms4j-provider/src/main/java/org/dromara/sms4j/jdcloud/service/JdCloudSmsImpl.java index 886d9141..52ee7479 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/jdcloud/service/JdCloudSmsImpl.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/jdcloud/service/JdCloudSmsImpl.java @@ -99,7 +99,7 @@ public class JdCloudSmsImpl extends AbstractSmsBlend { } catch (SmsBlendException e) { smsResponse = errorResp(e.message); } - if (smsResponse.isSuccess() || retry == getConfig().getMaxRetries()) { + if (smsResponse.isSuccess() || retry >= getConfig().getMaxRetries()) { retry = 0; return smsResponse; } diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/jg/service/JgSmsImpl.java b/sms4j-provider/src/main/java/org/dromara/sms4j/jg/service/JgSmsImpl.java index 77fa6110..69ad7928 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/jg/service/JgSmsImpl.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/jg/service/JgSmsImpl.java @@ -119,7 +119,7 @@ public class JgSmsImpl extends AbstractSmsBlend { smsResponse = errorResp(e.message); } - if (smsResponse.isSuccess() || retry == getConfig().getMaxRetries()) { + if (smsResponse.isSuccess() || retry >= getConfig().getMaxRetries()) { retry = 0; return smsResponse; } diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/mas/service/MasSmsImpl.java b/sms4j-provider/src/main/java/org/dromara/sms4j/mas/service/MasSmsImpl.java index b19dfa68..5e9fb61c 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/mas/service/MasSmsImpl.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/mas/service/MasSmsImpl.java @@ -97,7 +97,7 @@ public class MasSmsImpl extends AbstractSmsBlend { } catch (SmsBlendException e) { smsResponse = errorResp(e.message); } - if (smsResponse.isSuccess() || retry == getConfig().getMaxRetries()) { + if (smsResponse.isSuccess() || retry >= getConfig().getMaxRetries()) { retry = 0; return smsResponse; } diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/netease/service/NeteaseSmsImpl.java b/sms4j-provider/src/main/java/org/dromara/sms4j/netease/service/NeteaseSmsImpl.java index f5ac172a..8972be81 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/netease/service/NeteaseSmsImpl.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/netease/service/NeteaseSmsImpl.java @@ -145,7 +145,7 @@ public class NeteaseSmsImpl extends AbstractSmsBlend { } catch (SmsBlendException e) { smsResponse = errorResp(e.message); } - if (smsResponse.isSuccess() || retry == getConfig().getMaxRetries()) { + if (smsResponse.isSuccess() || retry >= getConfig().getMaxRetries()) { retry = 0; return smsResponse; } diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/qiniu/service/QiNiuSmsImpl.java b/sms4j-provider/src/main/java/org/dromara/sms4j/qiniu/service/QiNiuSmsImpl.java index 296fded0..d0dd632b 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/qiniu/service/QiNiuSmsImpl.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/qiniu/service/QiNiuSmsImpl.java @@ -88,7 +88,7 @@ public class QiNiuSmsImpl extends AbstractSmsBlend { }catch (SmsBlendException e){ smsResponse = errorResp(e.message); } - if (smsResponse.isSuccess() || retry == getConfig().getMaxRetries()) { + if (smsResponse.isSuccess() || retry >= getConfig().getMaxRetries()) { retry = 0; return smsResponse; } diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/tencent/service/TencentSmsImpl.java b/sms4j-provider/src/main/java/org/dromara/sms4j/tencent/service/TencentSmsImpl.java index 1ed7a034..c92b789b 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/tencent/service/TencentSmsImpl.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/tencent/service/TencentSmsImpl.java @@ -87,7 +87,7 @@ public class TencentSmsImpl extends AbstractSmsBlend { } catch (SmsBlendException e) { smsResponse = errorResp(e.message); } - if (smsResponse.isSuccess() || retry == getConfig().getMaxRetries()) { + if (smsResponse.isSuccess() || retry >= getConfig().getMaxRetries()) { retry = 0; return smsResponse; } diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/yunpian/service/YunPianSmsImpl.java b/sms4j-provider/src/main/java/org/dromara/sms4j/yunpian/service/YunPianSmsImpl.java index f6a5c842..07013176 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/yunpian/service/YunPianSmsImpl.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/yunpian/service/YunPianSmsImpl.java @@ -58,7 +58,7 @@ public class YunPianSmsImpl extends AbstractSmsBlend { } catch (SmsBlendException e) { smsResponse = errorResp(e.message); } - if (smsResponse.isSuccess() || retry == getConfig().getMaxRetries()) { + if (smsResponse.isSuccess() || retry >= getConfig().getMaxRetries()) { retry = 0; return smsResponse; } @@ -94,7 +94,7 @@ public class YunPianSmsImpl extends AbstractSmsBlend { } catch (SmsBlendException e) { smsResponse = errorResp(e.message); } - if (smsResponse.isSuccess() || retry == getConfig().getMaxRetries()) { + if (smsResponse.isSuccess() || retry >= getConfig().getMaxRetries()) { retry = 0; return smsResponse; } diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/zhutong/service/ZhutongSmsImpl.java b/sms4j-provider/src/main/java/org/dromara/sms4j/zhutong/service/ZhutongSmsImpl.java index 2b15ee6a..311936c9 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/zhutong/service/ZhutongSmsImpl.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/zhutong/service/ZhutongSmsImpl.java @@ -155,7 +155,7 @@ public class ZhutongSmsImpl extends AbstractSmsBlend { } catch (SmsBlendException e) { smsResponse = errorResp(e.message); } - if (smsResponse.isSuccess() || retry == getConfig().getMaxRetries()) { + if (smsResponse.isSuccess() || retry >= getConfig().getMaxRetries()) { retry = 0; return smsResponse; } @@ -241,7 +241,7 @@ public class ZhutongSmsImpl extends AbstractSmsBlend { } catch (SmsBlendException e) { smsResponse = errorResp(e.message); } - if (smsResponse.isSuccess() || retry == getConfig().getMaxRetries()) { + if (smsResponse.isSuccess() || retry >= getConfig().getMaxRetries()) { retry = 0; return smsResponse; } diff --git a/sms4j-solon-plugin-example/src/main/java/org/dromara/sms4j/example/zhangjun/ZhangJunSmsImpl.java b/sms4j-solon-plugin-example/src/main/java/org/dromara/sms4j/example/zhangjun/ZhangJunSmsImpl.java index bcb6ef29..31f1b5a2 100644 --- a/sms4j-solon-plugin-example/src/main/java/org/dromara/sms4j/example/zhangjun/ZhangJunSmsImpl.java +++ b/sms4j-solon-plugin-example/src/main/java/org/dromara/sms4j/example/zhangjun/ZhangJunSmsImpl.java @@ -93,7 +93,7 @@ public class ZhangJunSmsImpl extends AbstractSmsBlend { } catch (SmsBlendException e) { smsResponse = errorResp(e.message); } - if (smsResponse.isSuccess() || retry == getConfig().getMaxRetries()) { + if (smsResponse.isSuccess() || retry >= getConfig().getMaxRetries()) { retry = 0; return smsResponse; } diff --git a/sms4j-spring-boot-example/src/main/java/org/dromara/sms4j/example/zhangjun/ZhangJunSmsImpl.java b/sms4j-spring-boot-example/src/main/java/org/dromara/sms4j/example/zhangjun/ZhangJunSmsImpl.java index bcb6ef29..31f1b5a2 100644 --- a/sms4j-spring-boot-example/src/main/java/org/dromara/sms4j/example/zhangjun/ZhangJunSmsImpl.java +++ b/sms4j-spring-boot-example/src/main/java/org/dromara/sms4j/example/zhangjun/ZhangJunSmsImpl.java @@ -93,7 +93,7 @@ public class ZhangJunSmsImpl extends AbstractSmsBlend { } catch (SmsBlendException e) { smsResponse = errorResp(e.message); } - if (smsResponse.isSuccess() || retry == getConfig().getMaxRetries()) { + if (smsResponse.isSuccess() || retry >= getConfig().getMaxRetries()) { retry = 0; return smsResponse; }