From 920cb94ed5dcf9f7b5e4d2f800564de14c3c23bf Mon Sep 17 00:00:00 2001 From: 15946460103 <41428433@qq.com> Date: Wed, 6 Dec 2023 13:51:01 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=8D=E6=9D=82=E6=B5=8B=E8=AF=95=E6=A1=88?= =?UTF-8?q?=E4=BE=8B=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BlackListRecordingProcessor.java | 3 + .../SingleBlendRestrictedProcessor.java | 8 +- .../sms4j/example/SmsProcessorTest.java | 80 ++++++++++++++----- 3 files changed, 69 insertions(+), 22 deletions(-) diff --git a/sms4j-core/src/main/java/org/dromara/sms4j/core/proxy/processor/BlackListRecordingProcessor.java b/sms4j-core/src/main/java/org/dromara/sms4j/core/proxy/processor/BlackListRecordingProcessor.java index eb2a60c6..fb0dd3c2 100644 --- a/sms4j-core/src/main/java/org/dromara/sms4j/core/proxy/processor/BlackListRecordingProcessor.java +++ b/sms4j-core/src/main/java/org/dromara/sms4j/core/proxy/processor/BlackListRecordingProcessor.java @@ -25,6 +25,9 @@ public class BlackListRecordingProcessor implements SmsProcessor, SmsDaoAware, S @Setter Object smsConfig; + public int getOrder(){ + return 1; + } @Override public Object[] preProcessor(Method method, Object source, Object[] param) { diff --git a/sms4j-core/src/main/java/org/dromara/sms4j/core/proxy/processor/SingleBlendRestrictedProcessor.java b/sms4j-core/src/main/java/org/dromara/sms4j/core/proxy/processor/SingleBlendRestrictedProcessor.java index c1258d77..8ba4f583 100644 --- a/sms4j-core/src/main/java/org/dromara/sms4j/core/proxy/processor/SingleBlendRestrictedProcessor.java +++ b/sms4j-core/src/main/java/org/dromara/sms4j/core/proxy/processor/SingleBlendRestrictedProcessor.java @@ -51,13 +51,13 @@ public class SingleBlendRestrictedProcessor implements SmsProcessor, SmsDaoAware SmsBlend smsBlend = (SmsBlend) source; String configId = smsBlend.getConfigId(); Map targetConfig = (Map) smsBlendsConfig.get(configId); - Object maximumString = targetConfig.get("maximum"); - if (SmsUtils.isEmpty(maximumString)) { + Object maximumObj = targetConfig.get("maximum"); + if (SmsUtils.isEmpty(maximumObj)) { return param; } - Integer maximum = 0; + int maximum = 0; try{ - maximum = Integer.getInteger((String) maximumString) ; + maximum = (int) maximumObj ; }catch (Exception e){ log.error("获取厂商级发送上限参数错误!请检查!"); throw new IllegalArgumentException("获取厂商级发送上限参数错误"); diff --git a/sms4j-spring-boot-example/src/test/java/org/dromara/sms4j/example/SmsProcessorTest.java b/sms4j-spring-boot-example/src/test/java/org/dromara/sms4j/example/SmsProcessorTest.java index 8b801902..05152de4 100644 --- a/sms4j-spring-boot-example/src/test/java/org/dromara/sms4j/example/SmsProcessorTest.java +++ b/sms4j-spring-boot-example/src/test/java/org/dromara/sms4j/example/SmsProcessorTest.java @@ -24,65 +24,101 @@ public class SmsProcessorTest { /** * 填测试手机号 */ - private static final String PHONE = "13899998888"; + private static final String PHONE = "11111111111"; + private static final String PHONE1 = "22222222222"; + + //基础发送测试,即黑名单、账户限制、渠道限制都不预设直接发送(新增参数全为空) + @Test + public void test1() { + System.out.println("------------"); + SmsBlend smsBlend = SmsFactory.getBySupplier(SupplierConstant.UNISMS); + SmsResponse smsResponse = smsBlend.sendMessage(PHONE, SmsUtils.getRandomInt(6)); + Assert.isTrue(smsResponse.isSuccess()); + System.out.println(smsResponse.getData()); + + + } + + //第二个账号的测试 + @Test + public void test2() { + System.out.println("------------"); + + SmsBlend smsBlend = SmsFactory.getBySupplier(SupplierConstant.HUAWEI); + SmsResponse smsResponse = smsBlend.sendMessage(PHONE1, SmsUtils.getRandomInt(6)); + Assert.isTrue(smsResponse.isSuccess()); + System.out.println(smsResponse.getData()); + + } //参数校验测试 @Test - public void testParamValidate() { + public void test3() { + System.out.println("------------"); + SmsBlendException knowEx = null; try { - SmsFactory.getBySupplier(SupplierConstant.ALIBABA).sendMessage(PHONE, new LinkedHashMap<>()); + SmsFactory.getBySupplier(SupplierConstant.UNISMS).sendMessage(PHONE, new LinkedHashMap<>()); } catch (SmsBlendException e) { knowEx = e; + System.out.println(knowEx.getMessage()); } Assert.notNull(knowEx); knowEx = null; try { - SmsFactory.getBySupplier(SupplierConstant.ALIBABA).sendMessage("", SmsUtils.getRandomInt(6)); + SmsFactory.getBySupplier(SupplierConstant.UNISMS).sendMessage("", SmsUtils.getRandomInt(6)); } catch (SmsBlendException e) { knowEx = e; + System.out.println(knowEx.getMessage()); } Assert.notNull(knowEx); knowEx = null; try { - SmsFactory.getBySupplier(SupplierConstant.ALIBABA).sendMessage(PHONE, ""); + SmsFactory.getBySupplier(SupplierConstant.UNISMS).sendMessage(PHONE, ""); } catch (SmsBlendException e) { knowEx = e; + System.out.println(knowEx.getMessage()); } Assert.notNull(knowEx); knowEx = null; try { - SmsFactory.getBySupplier(SupplierConstant.ALIBABA).sendMessage(PHONE, "111", new LinkedHashMap<>()); + SmsFactory.getBySupplier(SupplierConstant.UNISMS).sendMessage(PHONE, "111", new LinkedHashMap<>()); } catch (SmsBlendException e) { knowEx = e; + System.out.println(knowEx.getMessage()); } Assert.notNull(knowEx); knowEx = null; try { - SmsFactory.getBySupplier(SupplierConstant.ALIBABA).massTexting(Collections.singletonList(PHONE), ""); + SmsFactory.getBySupplier(SupplierConstant.UNISMS).massTexting(Collections.singletonList(PHONE), ""); } catch (SmsBlendException e) { knowEx = e; + System.out.println(knowEx.getMessage()); } Assert.notNull(knowEx); knowEx = null; try { - SmsFactory.getBySupplier(SupplierConstant.ALIBABA).massTexting(Collections.singletonList(PHONE), "2222", new LinkedHashMap<>()); + SmsFactory.getBySupplier(SupplierConstant.UNISMS).massTexting(Collections.singletonList(PHONE), "2222", new LinkedHashMap<>()); } catch (SmsBlendException e) { knowEx = e; + System.out.println(knowEx.getMessage()); } Assert.notNull(knowEx); knowEx = null; try { - SmsFactory.getBySupplier(SupplierConstant.ALIBABA).massTexting(new ArrayList(), "321321"); + SmsFactory.getBySupplier(SupplierConstant.UNISMS).massTexting(new ArrayList(), "321321"); } catch (SmsBlendException e) { knowEx = e; + System.out.println(knowEx.getMessage()); } Assert.notNull(knowEx); } - //黑名单测试 黑名单手机号13899998888 + //黑名单测试 @Test - public void testBlackList() { + public void test4() { + System.out.println("------------"); + SmsBlend smsBlend = SmsFactory.getBySupplier(SupplierConstant.UNISMS); //单黑名单添加 smsBlend.joinInBlacklist(PHONE); @@ -91,6 +127,7 @@ public class SmsProcessorTest { smsBlend.sendMessage(PHONE, SmsUtils.getRandomInt(6)); } catch (SmsBlendException e) { knowEx = e; + System.out.println(knowEx.getMessage()); } Assert.notNull(knowEx); //单黑名单移除 @@ -104,18 +141,21 @@ public class SmsProcessorTest { smsBlend.sendMessage(PHONE, SmsUtils.getRandomInt(6)); } catch (SmsBlendException e) { knowEx = e; + System.out.println(knowEx.getMessage()); } Assert.notNull(knowEx); //批量黑名单添加 - smsBlend.removeFromBlacklist(PHONE); + smsBlend.batchRemovalFromBlacklist(Collections.singletonList(PHONE)); smsResponse = smsBlend.sendMessage(PHONE, SmsUtils.getRandomInt(6)); Assert.isTrue(smsResponse.isSuccess()); } - //账号级上限测试、需成功发送一笔,特殊配置 + //账号级上限测试、需成功发送4笔,再发就会报错 参数配置 4 @Test - public void testAcctLimt() { + public void test5() { + System.out.println("------------"); + SmsResponse smsResponse = SmsFactory.getBySupplier(SupplierConstant.UNISMS).sendMessage(PHONE, SmsUtils.getRandomInt(6)); Assert.isTrue(smsResponse.isSuccess()); SmsBlendException knowEx = null; @@ -123,21 +163,25 @@ public class SmsProcessorTest { SmsFactory.getBySupplier(SupplierConstant.UNISMS).sendMessage(PHONE, SmsUtils.getRandomInt(6)); } catch (SmsBlendException e) { knowEx = e; + System.out.println(knowEx.getMessage()); } Assert.notNull(knowEx); } - //账号级上限测试、需成功发送一笔,特殊配置 + //渠道级上限测试、需成功发送6笔,再发就会报错 参数配置 6 @Test - public void testChannelLimt() { - SmsResponse smsResponse = SmsFactory.getBySupplier(SupplierConstant.UNISMS).sendMessage(PHONE, SmsUtils.getRandomInt(6)); + public void test6() { + System.out.println("------------"); + + SmsResponse smsResponse = SmsFactory.getBySupplier(SupplierConstant.UNISMS).sendMessage(PHONE1, SmsUtils.getRandomInt(6)); Assert.isTrue(smsResponse.isSuccess()); SmsBlendException knowEx = null; try { - SmsFactory.getBySupplier(SupplierConstant.UNISMS).sendMessage(PHONE, SmsUtils.getRandomInt(6)); + SmsFactory.getBySupplier(SupplierConstant.UNISMS).sendMessage(PHONE1, SmsUtils.getRandomInt(6)); } catch (SmsBlendException e) { knowEx = e; + System.out.println(knowEx.getMessage()); } Assert.notNull(knowEx); }