|
@@ -17,6 +17,7 @@ import java.io.IOException;
|
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
import java.util.HashMap;
|
|
|
|
|
+import java.util.Iterator;
|
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
import java.util.concurrent.ConcurrentSkipListMap;
|
|
import java.util.concurrent.ConcurrentSkipListMap;
|
|
|
|
|
|
|
@@ -108,7 +109,20 @@ public class AlibabaSMSUtil {
|
|
|
//必填:短信模板-可在短信控制台中找到
|
|
//必填:短信模板-可在短信控制台中找到
|
|
|
sendRequest.setTemplateCode(templateCode);
|
|
sendRequest.setTemplateCode(templateCode);
|
|
|
//可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${submittime}"时,此处的值为
|
|
//可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${submittime}"时,此处的值为
|
|
|
- sendRequest.setTemplateParam(templateParam);
|
|
|
|
|
|
|
+
|
|
|
|
|
+ JSONObject jsonObject = JSONObject.parseObject(templateParam);
|
|
|
|
|
+ //限制长度为20
|
|
|
|
|
+ Map<String, String> params = new HashMap<>();
|
|
|
|
|
+ Iterator<String> iterator = jsonObject.keySet().iterator();//使用迭代器
|
|
|
|
|
+ while (iterator.hasNext()) {
|
|
|
|
|
+ String key = iterator.next();//获取key
|
|
|
|
|
+ String value = jsonObject.getString(key);//获取value
|
|
|
|
|
+ if (value != null && value != "" && value.length() > 20) {
|
|
|
|
|
+ value = value.substring(0, 17) + "...";
|
|
|
|
|
+ }
|
|
|
|
|
+ params.put(key, value);
|
|
|
|
|
+ }
|
|
|
|
|
+ sendRequest.setTemplateParam(JSONObject.toJSONString(params));
|
|
|
|
|
|
|
|
//选填-上行短信扩展码(无特殊需求用户请忽略此字段)
|
|
//选填-上行短信扩展码(无特殊需求用户请忽略此字段)
|
|
|
//request.setSmsUpExtendCode("90997");
|
|
//request.setSmsUpExtendCode("90997");
|
|
@@ -116,11 +130,13 @@ public class AlibabaSMSUtil {
|
|
|
//可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者
|
|
//可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者
|
|
|
sendRequest.setOutId("yourOutId");
|
|
sendRequest.setOutId("yourOutId");
|
|
|
|
|
|
|
|
|
|
+ String s = sendRequest.getTemplateParam();
|
|
|
|
|
+
|
|
|
//hint 此处可能会抛出异常,注意catch
|
|
//hint 此处可能会抛出异常,注意catch
|
|
|
SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(sendRequest);
|
|
SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(sendRequest);
|
|
|
|
|
|
|
|
//todo 输出发送记录到附件目录根目录下
|
|
//todo 输出发送记录到附件目录根目录下
|
|
|
- smsLog(sendRequest,sendSmsResponse);
|
|
|
|
|
|
|
+ smsLog(sendRequest, sendSmsResponse);
|
|
|
|
|
|
|
|
return sendSmsResponse;
|
|
return sendSmsResponse;
|
|
|
}
|
|
}
|
|
@@ -197,7 +213,7 @@ public class AlibabaSMSUtil {
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- public static void smsLog(SendSmsRequest sendRequest,SendSmsResponse sendSmsResponse) {
|
|
|
|
|
|
|
+ public static void smsLog(SendSmsRequest sendRequest, SendSmsResponse sendSmsResponse) {
|
|
|
|
|
|
|
|
String path = repositoryPath + File.separator + "smsLog" + File.separator + "log.txt";
|
|
String path = repositoryPath + File.separator + "smsLog" + File.separator + "log.txt";
|
|
|
String content = " request>>>";
|
|
String content = " request>>>";
|