mirror of
https://gitee.com/dromara/sms4j.git
synced 2025-12-06 17:08:40 +08:00
修复华为阿里云片短信的致命错误,该错误导致自定义模板id使用的还是配置文件中的ID
This commit is contained in:
parent
203862a102
commit
c1e0f23d00
@ -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<String> phones, String templateId, LinkedHashMap<String, String> 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();
|
||||
|
||||
@ -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<String,String> headers = new LinkedHashMap<>();
|
||||
headers.put("Authorization",Constant.HUAWEI_AUTH_HEADER_VALUE);
|
||||
headers.put("X-WSSE",HuaweiBuilder.buildWsseHeader(config.getAppKey(), config.getAppSecret()));
|
||||
|
||||
@ -27,21 +27,32 @@ 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<String, String> body = setBody(phone, message, null);
|
||||
Map<String, String> body = setBody(phone, message, null, config.getTemplateId());
|
||||
return getSendResponse(body);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Restricted
|
||||
public SmsResponse sendMessage(String phone, String templateId, LinkedHashMap<String, String> messages) {
|
||||
Map<String, String> body = setBody(phone, "", messages);
|
||||
Map<String, String> body = setBody(phone, "", messages,templateId);
|
||||
return getSendResponse(body);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@Restricted
|
||||
public SmsResponse massTexting(List<String> phones, String message) {
|
||||
@ -149,7 +160,7 @@ public class YunPianSmsImpl implements SmsBlend {
|
||||
return str.toString();
|
||||
}
|
||||
|
||||
private Map<String, String> setBody(String phone, String mes, LinkedHashMap<String, String> messages) {
|
||||
private Map<String, String> setBody(String phone, String mes, LinkedHashMap<String, String> messages, String tplId) {
|
||||
LinkedHashMap<String, String> message = new LinkedHashMap<>();
|
||||
if (mes.isEmpty()) {
|
||||
message = messages;
|
||||
@ -159,7 +170,7 @@ public class YunPianSmsImpl implements SmsBlend {
|
||||
Map<String, String> 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,19 +183,6 @@ 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<String, String> body) {
|
||||
Map<String, String> headers = getHeaders();
|
||||
AtomicReference<SmsResponse> smsResponse = null;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user