mirror of
https://gitee.com/dromara/sms4j.git
synced 2025-12-07 01:18:33 +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();
|
SendSmsRequest sendSmsRequest = new SendSmsRequest();
|
||||||
String s = JSONObject.toJSONString(messages);
|
String s = JSONObject.toJSONString(messages);
|
||||||
sendSmsRequest.setPhoneNumbers(phone)
|
sendSmsRequest.setPhoneNumbers(phone)
|
||||||
.setTemplateCode(alibabaSmsConfig.getTemplateId())
|
.setTemplateCode(templateId)
|
||||||
.setTemplateParam(s)
|
.setTemplateParam(s)
|
||||||
.setSignName(alibabaSmsConfig.getSignature());
|
.setSignName(alibabaSmsConfig.getSignature());
|
||||||
RuntimeOptions runtime = new RuntimeOptions();
|
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) {
|
public SmsResponse massTexting(List<String> phones, String templateId, LinkedHashMap<String, String> messages) {
|
||||||
SendBatchSmsRequest sendBatchSmsRequest = new SendBatchSmsRequest();
|
SendBatchSmsRequest sendBatchSmsRequest = new SendBatchSmsRequest();
|
||||||
sendBatchSmsRequest.setPhoneNumberJson(JSONObject.toJSONString(phones))//群发的手机号
|
sendBatchSmsRequest.setPhoneNumberJson(JSONObject.toJSONString(phones))//群发的手机号
|
||||||
.setTemplateCode(alibabaSmsConfig.getTemplateId())//模板id
|
.setTemplateCode(templateId)//模板id
|
||||||
.setTemplateParamJson(JSONObject.toJSONString(messages))//消息内容
|
.setTemplateParamJson(JSONObject.toJSONString(messages))//消息内容
|
||||||
.setSignNameJson(alibabaSmsConfig.getSignature());//短信签名
|
.setSignNameJson(alibabaSmsConfig.getSignature());//短信签名
|
||||||
RuntimeOptions runtime = new RuntimeOptions();
|
RuntimeOptions runtime = new RuntimeOptions();
|
||||||
|
|||||||
@ -52,7 +52,7 @@ public class HuaweiSmsImpl implements SmsBlend {
|
|||||||
list.add(entry.getValue());
|
list.add(entry.getValue());
|
||||||
}
|
}
|
||||||
String mess = listToString(list);
|
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<>();
|
Map<String,String> headers = new LinkedHashMap<>();
|
||||||
headers.put("Authorization",Constant.HUAWEI_AUTH_HEADER_VALUE);
|
headers.put("Authorization",Constant.HUAWEI_AUTH_HEADER_VALUE);
|
||||||
headers.put("X-WSSE",HuaweiBuilder.buildWsseHeader(config.getAppKey(), config.getAppSecret()));
|
headers.put("X-WSSE",HuaweiBuilder.buildWsseHeader(config.getAppKey(), config.getAppSecret()));
|
||||||
|
|||||||
@ -27,21 +27,32 @@ public class YunPianSmsImpl implements SmsBlend {
|
|||||||
|
|
||||||
private ForestConfiguration http;
|
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
|
@Override
|
||||||
@Restricted
|
@Restricted
|
||||||
public SmsResponse sendMessage(String phone, String message) {
|
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);
|
return getSendResponse(body);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Restricted
|
@Restricted
|
||||||
public SmsResponse sendMessage(String phone, String templateId, LinkedHashMap<String, String> messages) {
|
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);
|
return getSendResponse(body);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Restricted
|
@Restricted
|
||||||
public SmsResponse massTexting(List<String> phones, String message) {
|
public SmsResponse massTexting(List<String> phones, String message) {
|
||||||
@ -149,7 +160,7 @@ public class YunPianSmsImpl implements SmsBlend {
|
|||||||
return str.toString();
|
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<>();
|
LinkedHashMap<String, String> message = new LinkedHashMap<>();
|
||||||
if (mes.isEmpty()) {
|
if (mes.isEmpty()) {
|
||||||
message = messages;
|
message = messages;
|
||||||
@ -159,7 +170,7 @@ public class YunPianSmsImpl implements SmsBlend {
|
|||||||
Map<String, String> body = new HashMap<>();
|
Map<String, String> body = new HashMap<>();
|
||||||
body.put("apikey", config.getApikey());
|
body.put("apikey", config.getApikey());
|
||||||
body.put("mobile", phone);
|
body.put("mobile", phone);
|
||||||
body.put("tpl_id", config.getTemplateId());
|
body.put("tpl_id", tplId);
|
||||||
body.put("tpl_value", formattingMap(message));
|
body.put("tpl_value", formattingMap(message));
|
||||||
if (!config.getCallbackUrl().isEmpty()) body.put("callback_url", config.getCallbackUrl());
|
if (!config.getCallbackUrl().isEmpty()) body.put("callback_url", config.getCallbackUrl());
|
||||||
return body;
|
return body;
|
||||||
@ -172,19 +183,6 @@ public class YunPianSmsImpl implements SmsBlend {
|
|||||||
return headers;
|
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) {
|
private SmsResponse getSendResponse(Map<String, String> body) {
|
||||||
Map<String, String> headers = getHeaders();
|
Map<String, String> headers = getHeaders();
|
||||||
AtomicReference<SmsResponse> smsResponse = null;
|
AtomicReference<SmsResponse> smsResponse = null;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user