diff --git a/sms-aggregation-aliyun/src/main/java/org/dromara/sms/aliyun/service/AlibabaSmsImpl.java b/sms-aggregation-aliyun/src/main/java/org/dromara/sms/aliyun/service/AlibabaSmsImpl.java index c82f712c..cee56027 100644 --- a/sms-aggregation-aliyun/src/main/java/org/dromara/sms/aliyun/service/AlibabaSmsImpl.java +++ b/sms-aggregation-aliyun/src/main/java/org/dromara/sms/aliyun/service/AlibabaSmsImpl.java @@ -68,7 +68,7 @@ public class AlibabaSmsImpl implements SmsBlend { SendSmsRequest sendSmsRequest = new SendSmsRequest(); String s = JSONObject.toJSONString(messages); sendSmsRequest.setPhoneNumbers(phone) - .setTemplateCode(alibabaSmsConfig.getTemplateId()) + .setTemplateCode(templateId) .setTemplateParam(s) .setSignName(alibabaSmsConfig.getSignature()); RuntimeOptions runtime = new RuntimeOptions(); @@ -108,7 +108,7 @@ public class AlibabaSmsImpl implements SmsBlend { public SmsResponse massTexting(List phones, String templateId, LinkedHashMap messages) { SendBatchSmsRequest sendBatchSmsRequest = new SendBatchSmsRequest(); sendBatchSmsRequest.setPhoneNumberJson(JSONObject.toJSONString(phones))//群发的手机号 - .setTemplateCode(alibabaSmsConfig.getTemplateId())//模板id + .setTemplateCode(templateId)//模板id .setTemplateParamJson(JSONObject.toJSONString(messages))//消息内容 .setSignNameJson(alibabaSmsConfig.getSignature());//短信签名 RuntimeOptions runtime = new RuntimeOptions(); diff --git a/sms-aggregation-huawei/src/main/java/org/dromara/sms/huawei/service/HuaweiSmsImpl.java b/sms-aggregation-huawei/src/main/java/org/dromara/sms/huawei/service/HuaweiSmsImpl.java index 29cb4c74..226aaac9 100644 --- a/sms-aggregation-huawei/src/main/java/org/dromara/sms/huawei/service/HuaweiSmsImpl.java +++ b/sms-aggregation-huawei/src/main/java/org/dromara/sms/huawei/service/HuaweiSmsImpl.java @@ -52,7 +52,7 @@ public class HuaweiSmsImpl implements SmsBlend { list.add(entry.getValue()); } String mess = listToString(list); - String requestBody = HuaweiBuilder.buildRequestBody(config.getSender(), phone, config.getTemplateId(), mess, config.getStatusCallBack(), config.getSignature()); + String requestBody = HuaweiBuilder.buildRequestBody(config.getSender(), phone, templateId, mess, config.getStatusCallBack(), config.getSignature()); Map headers = new LinkedHashMap<>(); headers.put("Authorization",Constant.HUAWEI_AUTH_HEADER_VALUE); headers.put("X-WSSE",HuaweiBuilder.buildWsseHeader(config.getAppKey(), config.getAppSecret())); diff --git a/sms-aggregation-yunpian/src/main/java/org/dromara/sms/yunpian/service/YunPianSmsImpl.java b/sms-aggregation-yunpian/src/main/java/org/dromara/sms/yunpian/service/YunPianSmsImpl.java index b27dd35f..dff2fb08 100644 --- a/sms-aggregation-yunpian/src/main/java/org/dromara/sms/yunpian/service/YunPianSmsImpl.java +++ b/sms-aggregation-yunpian/src/main/java/org/dromara/sms/yunpian/service/YunPianSmsImpl.java @@ -27,28 +27,39 @@ public class YunPianSmsImpl implements SmsBlend { private ForestConfiguration http; + private static SmsResponse getSmsResponse(JSONObject execute) { + SmsResponse smsResponse = new SmsResponse(); + smsResponse.setCode(execute.getString("code")); + smsResponse.setMessage(execute.getString("msg")); + smsResponse.setBizId(execute.getString("sid")); + if (execute.getInteger("code") != 0) { + smsResponse.setErrMessage(execute.getString("msg")); + } + smsResponse.setData(execute); + return smsResponse; + } + @Override @Restricted public SmsResponse sendMessage(String phone, String message) { - Map body = setBody(phone, message, null); + Map body = setBody(phone, message, null, config.getTemplateId()); return getSendResponse(body); } @Override @Restricted public SmsResponse sendMessage(String phone, String templateId, LinkedHashMap messages) { - Map body = setBody(phone, "", messages); + Map body = setBody(phone, "", messages,templateId); return getSendResponse(body); } - @Override @Restricted public SmsResponse massTexting(List phones, String message) { if (phones.size() > 1000) { throw new SmsBlendException("单次发送超过最大发送上限,建议每次群发短信人数低于1000"); } - return sendMessage(listToString(phones),message); + return sendMessage(listToString(phones), message); } @Override @@ -149,7 +160,7 @@ public class YunPianSmsImpl implements SmsBlend { return str.toString(); } - private Map setBody(String phone, String mes, LinkedHashMap messages) { + private Map setBody(String phone, String mes, LinkedHashMap messages, String tplId) { LinkedHashMap message = new LinkedHashMap<>(); if (mes.isEmpty()) { message = messages; @@ -159,7 +170,7 @@ public class YunPianSmsImpl implements SmsBlend { Map body = new HashMap<>(); body.put("apikey", config.getApikey()); body.put("mobile", phone); - body.put("tpl_id", config.getTemplateId()); + body.put("tpl_id", tplId); body.put("tpl_value", formattingMap(message)); if (!config.getCallbackUrl().isEmpty()) body.put("callback_url", config.getCallbackUrl()); return body; @@ -172,30 +183,17 @@ public class YunPianSmsImpl implements SmsBlend { return headers; } - - private static SmsResponse getSmsResponse(JSONObject execute) { - SmsResponse smsResponse = new SmsResponse(); - smsResponse.setCode(execute.getString("code")); - smsResponse.setMessage(execute.getString("msg")); - smsResponse.setBizId(execute.getString("sid")); - if (execute.getInteger("code") != 0) { - smsResponse.setErrMessage(execute.getString("msg")); - } - smsResponse.setData(execute); - return smsResponse; - } - private SmsResponse getSendResponse(Map body) { Map headers = getHeaders(); AtomicReference smsResponse = null; http.post(Constant.YUNPIAN_URL + "/sms/tpl_single_send.json") .addHeader(headers) .addBody(body) - .onSuccess(((data,req,res)->{ + .onSuccess(((data, req, res) -> { JSONObject jsonBody = res.get(JSONObject.class); smsResponse.set(getSmsResponse(jsonBody)); })) - .onError((ex,req,res)->{ + .onError((ex, req, res) -> { JSONObject jsonBody = res.get(JSONObject.class); smsResponse.set(getSmsResponse(jsonBody)); })