From 88dc91b184a1057fcdcbf7c9f2761cdbd1bd4f84 Mon Sep 17 00:00:00 2001 From: Sxci Date: Thu, 17 Oct 2019 10:38:02 +0800 Subject: [PATCH 1/4] add sms methods --- src/main/java/com/qiniu/sms/SmsManager.java | 63 +++++++++++++++++++-- 1 file changed, 59 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/qiniu/sms/SmsManager.java b/src/main/java/com/qiniu/sms/SmsManager.java index 85895bb6e..f9572f7f3 100644 --- a/src/main/java/com/qiniu/sms/SmsManager.java +++ b/src/main/java/com/qiniu/sms/SmsManager.java @@ -1,7 +1,5 @@ package com.qiniu.sms; -import java.util.Map; - import com.qiniu.common.QiniuException; import com.qiniu.http.Client; import com.qiniu.http.MethodType; @@ -13,6 +11,8 @@ import com.qiniu.util.StringMap; import com.qiniu.util.UrlUtils; +import java.util.Map; + public class SmsManager { /** @@ -35,7 +35,6 @@ public class SmsManager { * 构建一个新的 SmsManager 对象 * * @param auth Auth对象 - * @param cfg Configuration对象 */ public SmsManager(Auth auth) { this.auth = auth; @@ -43,6 +42,12 @@ public SmsManager(Auth auth) { client = new Client(this.configuration); } + /** + * 构建一个新的 SmsManager 对象 + * + * @param auth Auth对象 + * @param cfg Configuration对象 + */ public SmsManager(Auth auth, Configuration cfg) { this.auth = auth; this.configuration = cfg.clone(); @@ -54,7 +59,7 @@ public SmsManager(Auth auth, Configuration cfg) { * * @param templateId 模板Id,必填 * @param mobiles 手机号码数组,必填 - * @param parameter 参数,必填 + * @param parameters 参数,必填 */ public Response sendMessage(String templateId, String[] mobiles, Map parameters) throws QiniuException { @@ -66,6 +71,56 @@ public Response sendMessage(String templateId, String[] mobiles, Map parameters) + throws QiniuException { + String requestUrl = String.format("%s/v1/message/single", configuration.smsHost()); + StringMap bodyMap = new StringMap(); + bodyMap.put("template_id", templateId); + bodyMap.put("mobile", mobile); + bodyMap.put("parameters", parameters); + return post(requestUrl, Json.encode(bodyMap).getBytes()); + } + + /** + * 发送国际短信 + * + * @param templateId 模板Id,必填 + * @param mobile 手机号码,必填 + * @param parameters 参数,必填 + */ + public Response sendOverseaMessage(String templateId, String mobile, Map parameters) + throws QiniuException { + String requestUrl = String.format("%s/v1/message/oversea", configuration.smsHost()); + StringMap bodyMap = new StringMap(); + bodyMap.put("template_id", templateId); + bodyMap.put("mobile", mobile); + bodyMap.put("parameters", parameters); + return post(requestUrl, Json.encode(bodyMap).getBytes()); + } + + /** + * 发送全文本短信(不需要传模版 ID) + * + * @param mobiles 手机号码数组,必填 + * @param content 短信内容,必须是已经审核通过的签名和模版,必填。 + * 例如:【七牛云】您的验证码是 287712,5分钟内有效 + */ + public Response sendFulltextMessage(String[] mobiles, String content) throws QiniuException { + String requestUrl = String.format("%s/v1/message/fulltext", configuration.smsHost()); + StringMap bodyMap = new StringMap(); + bodyMap.put("mobiles", mobiles); + bodyMap.put("content", content); + return post(requestUrl, Json.encode(bodyMap).getBytes()); + } + + /** * 查询签名 * From 084d1e45a8cf2fa76d1206a3bc1eb006cb48db73 Mon Sep 17 00:00:00 2001 From: Sxci Date: Thu, 17 Oct 2019 10:39:14 +0800 Subject: [PATCH 2/4] [ci skip] add sms methods --- src/main/java/com/qiniu/sms/SmsManager.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/com/qiniu/sms/SmsManager.java b/src/main/java/com/qiniu/sms/SmsManager.java index f9572f7f3..5da62c06a 100644 --- a/src/main/java/com/qiniu/sms/SmsManager.java +++ b/src/main/java/com/qiniu/sms/SmsManager.java @@ -120,7 +120,6 @@ public Response sendFulltextMessage(String[] mobiles, String content) throws Qin return post(requestUrl, Json.encode(bodyMap).getBytes()); } - /** * 查询签名 * From 21b9a178675552393fa115e336573ef34d7b4b8e Mon Sep 17 00:00:00 2001 From: Sxci Date: Thu, 17 Oct 2019 21:17:55 +0800 Subject: [PATCH 3/4] [ci skip] sms test local --- src/test/java/test/com/qiniu/sms/SmsTest.java | 61 ++++++++++++++++++- 1 file changed, 59 insertions(+), 2 deletions(-) diff --git a/src/test/java/test/com/qiniu/sms/SmsTest.java b/src/test/java/test/com/qiniu/sms/SmsTest.java index 2902ad883..c569571dd 100644 --- a/src/test/java/test/com/qiniu/sms/SmsTest.java +++ b/src/test/java/test/com/qiniu/sms/SmsTest.java @@ -1,12 +1,16 @@ package test.com.qiniu.sms; +import com.google.gson.Gson; +import com.google.gson.reflect.TypeToken; import com.qiniu.common.QiniuException; import com.qiniu.http.Client; import com.qiniu.http.Response; +import com.qiniu.sms.Configuration; import com.qiniu.sms.SmsManager; import com.qiniu.sms.model.SignatureInfo; import com.qiniu.sms.model.TemplateInfo; import com.qiniu.util.Auth; +import com.qiniu.util.Json; import com.qiniu.util.StringMap; import org.junit.Assert; import org.junit.Before; @@ -17,11 +21,14 @@ import javax.swing.text.html.FormSubmitEvent.MethodType; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; +import java.lang.reflect.Type; import java.util.HashMap; import java.util.Map; public class SmsTest { private SmsManager smsManager; + private String mobile = ""; // 一国内手机号 + private String[] mobiles = new String[]{mobile,}; /** * 初始化 @@ -33,14 +40,64 @@ public void setUp() throws Exception { this.smsManager = new SmsManager(Auth.create(TestConfig.smsAccessKey, TestConfig.smsSecretKey)); } + @Test + public void testJson() { + Map paramMap5 = new HashMap(); + paramMap5.put("bbbb", "sdsdsd"); + String json5 = new Gson().toJson(paramMap5); + Assert.assertTrue("{\"bbbb\":\"sdsdsd\"}".equals(json5)); + + Map paramMap6 = new HashMap(){{ + this.put("bbbb", "sdsdsd"); + }}; + String json6 = new Gson().toJson(paramMap6); + Assert.assertTrue("null".equals(json6)); + } @Test public void testSendMessage() { + Map paramMap = new HashMap(); + paramMap.put("code", "12945"); + try { + Response response = smsManager.sendMessage("1138278041873555456", mobiles, paramMap); + Assert.assertNotNull(response); + } catch (QiniuException e) { + Assert.assertTrue(ResCode.find(e.code(), ResCode.getPossibleResCode(401))); + } + } + + @Test + public void sendSingleMessage() { + Map paramMap = new HashMap(); + paramMap.put("code", "9signle78"); + try { + Response response = smsManager.sendSingleMessage("1138278041873555456", mobile, paramMap); + Assert.assertNotNull(response); + } catch (QiniuException e) { + Assert.assertTrue(ResCode.find(e.code(), ResCode.getPossibleResCode(401))); + } + } + + @Test + public void sendOverseaMessage() { + Map paramMap = new HashMap(); + paramMap.put("code", "8612345"); + try { + // 测试手机后为 国内一手机号,加上 +86 + Response response = smsManager.sendOverseaMessage("1184679569681027072", "+86" + mobile, paramMap); + Assert.assertNotNull(response); + } catch (QiniuException e) { + Assert.assertTrue(ResCode.find(e.code(), ResCode.getPossibleResCode(401))); + } + } + + @Test + public void sendFulltextMessage() { try { - Map paramMap = new HashMap(); - Response response = smsManager.sendMessage("test", new String[]{"10086"}, paramMap); + Response response = smsManager.sendFulltextMessage(mobiles, "【七牛云】尊敬的用户你好,您的验证码是 38232"); Assert.assertNotNull(response); } catch (QiniuException e) { + e.printStackTrace(); Assert.assertTrue(ResCode.find(e.code(), ResCode.getPossibleResCode(401))); } } From 1f6a21e6fabe58d9aec699bef455dcec930f58f8 Mon Sep 17 00:00:00 2001 From: Sxci Date: Thu, 17 Oct 2019 21:19:45 +0800 Subject: [PATCH 4/4] [ci skip] format --- src/test/java/test/com/qiniu/sms/SmsTest.java | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/test/java/test/com/qiniu/sms/SmsTest.java b/src/test/java/test/com/qiniu/sms/SmsTest.java index c569571dd..aca96a935 100644 --- a/src/test/java/test/com/qiniu/sms/SmsTest.java +++ b/src/test/java/test/com/qiniu/sms/SmsTest.java @@ -1,16 +1,13 @@ package test.com.qiniu.sms; import com.google.gson.Gson; -import com.google.gson.reflect.TypeToken; import com.qiniu.common.QiniuException; import com.qiniu.http.Client; import com.qiniu.http.Response; -import com.qiniu.sms.Configuration; import com.qiniu.sms.SmsManager; import com.qiniu.sms.model.SignatureInfo; import com.qiniu.sms.model.TemplateInfo; import com.qiniu.util.Auth; -import com.qiniu.util.Json; import com.qiniu.util.StringMap; import org.junit.Assert; import org.junit.Before; @@ -21,7 +18,6 @@ import javax.swing.text.html.FormSubmitEvent.MethodType; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; -import java.lang.reflect.Type; import java.util.HashMap; import java.util.Map; @@ -47,8 +43,8 @@ public void testJson() { String json5 = new Gson().toJson(paramMap5); Assert.assertTrue("{\"bbbb\":\"sdsdsd\"}".equals(json5)); - Map paramMap6 = new HashMap(){{ - this.put("bbbb", "sdsdsd"); + Map paramMap6 = new HashMap() {{ + this.put("bbbb", "sdsdsd"); }}; String json6 = new Gson().toJson(paramMap6); Assert.assertTrue("null".equals(json6));