From d3cb0b1c4a2644c9c4e1255a74be610f0c9bd1d2 Mon Sep 17 00:00:00 2001 From: handy Date: Wed, 21 Jun 2023 17:31:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=BF=94=E5=9B=9E=E5=80=BC?= =?UTF-8?q?=E5=8F=AA=E6=9C=89=20success=20=E5=92=8Cdata?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dromara/sms4j/api/entity/SmsResponse.java | 17 ++---- .../sms4j/aliyun/service/AlibabaSmsImpl.java | 13 +---- .../sms4j/cloopen/util/CloopenHelper.java | 16 +---- .../sms4j/ctyun/service/CtyunSmsImpl.java | 6 +- .../sms4j/emay/service/EmaySmsImpl.java | 33 +++-------- .../sms4j/huawei/entity/HuaweiError.java | 58 ------------------- .../sms4j/huawei/entity/HuaweiResponse.java | 26 --------- .../dromara/sms4j/huawei/entity/SmsId.java | 30 ---------- .../sms4j/huawei/service/HuaweiSmsImpl.java | 37 +++++------- .../sms4j/jdcloud/service/JdCloudSmsImpl.java | 15 +---- .../sms4j/netease/service/NeteaseSmsImpl.java | 30 ++++------ .../sms4j/tencent/service/TencentSmsImpl.java | 24 ++------ .../sms4j/unisms/service/UniSmsImpl.java | 35 +++++------ .../sms4j/yunpian/service/YunPianSmsImpl.java | 9 +-- 14 files changed, 67 insertions(+), 282 deletions(-) delete mode 100644 sms4j-provider/src/main/java/org/dromara/sms4j/huawei/entity/HuaweiError.java delete mode 100644 sms4j-provider/src/main/java/org/dromara/sms4j/huawei/entity/HuaweiResponse.java delete mode 100644 sms4j-provider/src/main/java/org/dromara/sms4j/huawei/entity/SmsId.java diff --git a/sms4j-api/src/main/java/org/dromara/sms4j/api/entity/SmsResponse.java b/sms4j-api/src/main/java/org/dromara/sms4j/api/entity/SmsResponse.java index a36117ae..9d6a58a7 100644 --- a/sms4j-api/src/main/java/org/dromara/sms4j/api/entity/SmsResponse.java +++ b/sms4j-api/src/main/java/org/dromara/sms4j/api/entity/SmsResponse.java @@ -5,6 +5,7 @@ import lombok.Data; /** *

类名: SmsResponse *

说明: 发送短信返回信息 + * * @author :Wind * 2023/3/25 0:25 **/ @@ -18,16 +19,10 @@ public class SmsResponse { */ private boolean success; - /** 状态码*/ - private String code; - /** 返回消息*/ - private String message; - /** 错误码,没有错误信息则为空*/ - private String errorCode; - /** 错误信息,如果没有错误则为空*/ - private String errMessage; - /** 回执ID*/ - private String bizId; - /** 返回体*/ + /** + * 厂商原返回体 + * + * @since 2.3.0 + */ private Object data; } diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/aliyun/service/AlibabaSmsImpl.java b/sms4j-provider/src/main/java/org/dromara/sms4j/aliyun/service/AlibabaSmsImpl.java index 2b20a750..38b6e156 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/aliyun/service/AlibabaSmsImpl.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/aliyun/service/AlibabaSmsImpl.java @@ -93,17 +93,8 @@ public class AlibabaSmsImpl extends AbstractSmsBlend { private SmsResponse getResponse(JSONObject resJson) { SmsResponse smsResponse = new SmsResponse(); - if (resJson == null) { - smsResponse.setErrorCode("500"); - smsResponse.setErrMessage("aliyun send sms response is null.check param"); - return smsResponse; - } - smsResponse.setCode(resJson.getStr("Code")); - smsResponse.setMessage(resJson.getStr("Message")); - if ("OK".equals(smsResponse.getCode())) { - smsResponse.setBizId(resJson.getStr("BizId")); - smsResponse.setSuccess(true); - } + smsResponse.setSuccess("OK".equals(resJson.getStr("Code"))); + smsResponse.setData(resJson); return smsResponse; } diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/cloopen/util/CloopenHelper.java b/sms4j-provider/src/main/java/org/dromara/sms4j/cloopen/util/CloopenHelper.java index 66dc32f3..adfde04c 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/cloopen/util/CloopenHelper.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/cloopen/util/CloopenHelper.java @@ -59,20 +59,8 @@ public class CloopenHelper { .map(JSONUtil::parseObj) .map(obj -> (Map) obj) .orElse(Collections.emptyMap()); - String statusCode = Convert.toStr(responseMap.get("statusCode")); - String statusMsg = Convert.toStr(responseMap.get("statusMsg")); - boolean isSuccess = "000000".equals(statusCode); - if (isSuccess) { - smsResponse.setSuccess(true); - smsResponse.setCode(statusCode); - smsResponse.setMessage(statusMsg); - smsResponse.setData(response); - Object bizId = JSONUtil.getByPath(JSONUtil.parse(responseMap), "templateSMS.smsMessageSid"); - smsResponse.setBizId(Convert.toStr(bizId)); - } else { - smsResponse.setErrMessage(statusMsg); - smsResponse.setErrorCode(statusCode); - } + smsResponse.setSuccess("000000".equals(Convert.toStr(responseMap.get("statusCode")))); + smsResponse.setData(JSONUtil.toJsonStr(response)); } catch (Exception e) { throw new SmsBlendException(e.getMessage()); } diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/ctyun/service/CtyunSmsImpl.java b/sms4j-provider/src/main/java/org/dromara/sms4j/ctyun/service/CtyunSmsImpl.java index dc266d43..d6e82129 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/ctyun/service/CtyunSmsImpl.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/ctyun/service/CtyunSmsImpl.java @@ -87,10 +87,8 @@ public class CtyunSmsImpl extends AbstractSmsBlend { private SmsResponse getResponse(JSONObject resJson) { SmsResponse smsResponse = new SmsResponse(); - smsResponse.setCode(resJson.getStr("code")); - smsResponse.setMessage(resJson.getStr("message")); - smsResponse.setBizId(resJson.getStr("requestId")); - smsResponse.setSuccess("OK".equals(smsResponse.getCode())); + smsResponse.setSuccess("OK".equals(resJson.getStr("code"))); + smsResponse.setData(resJson); return smsResponse; } diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/emay/service/EmaySmsImpl.java b/sms4j-provider/src/main/java/org/dromara/sms4j/emay/service/EmaySmsImpl.java index 59815935..a5f35650 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/emay/service/EmaySmsImpl.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/emay/service/EmaySmsImpl.java @@ -1,6 +1,5 @@ package org.dromara.sms4j.emay.service; -import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import lombok.extern.slf4j.Slf4j; import org.dromara.sms4j.api.AbstractSmsBlend; @@ -41,7 +40,7 @@ public class EmaySmsImpl extends AbstractSmsBlend { params = EmayBuilder.buildRequestBody(config.getAppId(), config.getSecretKey(), phone, message); } catch (SmsBlendException e) { SmsResponse smsResponse = new SmsResponse(); - smsResponse.setErrMessage(e.getMessage()); + smsResponse.setSuccess(false); return smsResponse; } return getSendResponse(params, url); @@ -83,35 +82,17 @@ public class EmaySmsImpl extends AbstractSmsBlend { AtomicReference smsResponse = new AtomicReference<>(); http.post(requestUrl) .addBody(body) - .onSuccess(((data, req, res) -> smsResponse.set(getSmsResponse(res.get(JSONObject.class))))) - .onError((ex, req, res) -> smsResponse.set(getSmsResponse(res.get(JSONObject.class)))) + .onSuccess(((data, req, res) -> smsResponse.set(this.getSmsResponse(res.get(JSONObject.class))))) + .onError((ex, req, res) -> smsResponse.set(this.getSmsResponse(res.get(JSONObject.class)))) .execute(); - return smsResponse.get(); } - private static SmsResponse getSmsResponse(JSONObject execute) { + private SmsResponse getSmsResponse(JSONObject resJson) { SmsResponse smsResponse = new SmsResponse(); - if (execute == null) { - smsResponse.setErrorCode("500"); - smsResponse.setErrMessage("emay send sms response is null.check param"); - return smsResponse; - } - String code = execute.getStr("code"); - if (SmsUtil.isEmpty(code)) { - smsResponse.setErrorCode("emay response code is null"); - smsResponse.setErrMessage("emay is error"); - } else { - smsResponse.setCode(code); - if ("success".equalsIgnoreCase(code)) { - smsResponse.setSuccess(true); - JSONArray data = execute.getJSONArray("data"); - JSONObject result = (JSONObject) data.get(0); - String smsId = result.getStr("smsId"); - smsResponse.setBizId(smsId); - } - smsResponse.setData(execute); - } + smsResponse.setSuccess("success".equalsIgnoreCase(resJson.getStr("code"))); + smsResponse.setData(resJson); return smsResponse; } + } diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/entity/HuaweiError.java b/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/entity/HuaweiError.java deleted file mode 100644 index 58e12a06..00000000 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/entity/HuaweiError.java +++ /dev/null @@ -1,58 +0,0 @@ -package org.dromara.sms4j.huawei.entity; - -/** - * HuaweiError - *

华为官方状态码枚举 - * - * @author :Wind - * 2023/3/31 22:11 - **/ -public enum HuaweiError { - E000000("000000","短信平台处理请求成功"), - E200015("E200015","待发送短信数量太大"), - E200028("E200028","模板变量校验失败"), - E200029("E200029","E200029"), - E200030("E200030","模板未激活"), - E200031("E200031","协议校验失败"), - E200033("E200033","模板类型不正确"), - E200041("E200041","同一短信内容接收号码重复") - ; - - private final String value; - - private final String code; - - HuaweiError(String code, String value) { - this.value = value; - this.code = code; - } - - public String getValue() { - return value; - } - - public String getCode() { - return code; - } - public static String getValue(String code){ - switch (code){ - case "000000": - return E000000.getValue(); - case "E200015": - return E200015.getValue(); - case "E200028": - return E200028.getValue(); - case "E200029": - return E200029.getValue(); - case "E200030": - return E200030.getValue(); - case "E200031": - return E200031.getValue(); - case "E200033": - return E200033.getValue(); - case "E200041": - return E200041.getValue(); - } - return "服务异常,请查看官方异常码,异常码:"+code; - } -} diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/entity/HuaweiResponse.java b/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/entity/HuaweiResponse.java deleted file mode 100644 index d28f54a1..00000000 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/entity/HuaweiResponse.java +++ /dev/null @@ -1,26 +0,0 @@ -package org.dromara.sms4j.huawei.entity; - -import lombok.Data; - -import java.util.List; - -/** - * HuaweiResponse - *

华为响应参数 - * - * @author :Wind - * 2023/3/31 22:20 - **/ -@Data -public class HuaweiResponse { - - /** 请求返回的结果码*/ - private String code; - - /** 请求返回的结果码描述*/ - private String description; - - /** 短信ID列表,当目的号码存在多个时,每个号码都会返回一个SmsID。 - 当返回异常响应时不携带此字段*/ - private List result; -} diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/entity/SmsId.java b/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/entity/SmsId.java deleted file mode 100644 index cc4d583c..00000000 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/entity/SmsId.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.dromara.sms4j.huawei.entity; - -import lombok.Data; - -/** - * SmsId - *

短信ID列表 - * - * @author :Wind - * 2023/3/31 21:55 - **/ -@Data -public class SmsId { - - /** 短信的唯一标识*/ - private String smsMsgId; - - /** 短信发送方的号码*/ - private String from; - - /** 短信接收方的号码*/ - private String originTo; - - /** 短信状态码*/ - private String status; - - /** 短信资源的创建时间,即短信平台接收到用户发送短信请求的时间,为UTC时间*/ - private String createTime; - -} diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/service/HuaweiSmsImpl.java b/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/service/HuaweiSmsImpl.java index bfc03d63..c67de3e4 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/service/HuaweiSmsImpl.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/service/HuaweiSmsImpl.java @@ -1,5 +1,6 @@ package org.dromara.sms4j.huawei.service; +import cn.hutool.json.JSONObject; import lombok.extern.slf4j.Slf4j; import org.dromara.sms4j.api.AbstractSmsBlend; import org.dromara.sms4j.api.entity.SmsResponse; @@ -7,7 +8,6 @@ import org.dromara.sms4j.comm.annotation.Restricted; import org.dromara.sms4j.comm.constant.Constant; import org.dromara.sms4j.comm.delayedTime.DelayedTime; import org.dromara.sms4j.huawei.config.HuaweiConfig; -import org.dromara.sms4j.huawei.entity.HuaweiResponse; import org.dromara.sms4j.huawei.utils.HuaweiBuilder; import java.util.ArrayList; @@ -16,6 +16,7 @@ import java.util.List; import java.util.Map; import java.util.UUID; import java.util.concurrent.Executor; +import java.util.concurrent.atomic.AtomicReference; import static org.dromara.sms4j.huawei.utils.HuaweiBuilder.listToString; @@ -39,6 +40,7 @@ public class HuaweiSmsImpl extends AbstractSmsBlend { @Override @Restricted public SmsResponse sendMessage(String phone, String templateId, LinkedHashMap messages) { + AtomicReference reference = new AtomicReference<>(); String url = config.getUrl() + Constant.HUAWEI_REQUEST_URL; List list = new ArrayList<>(); for (Map.Entry entry : messages.entrySet()) { @@ -50,32 +52,13 @@ public class HuaweiSmsImpl extends AbstractSmsBlend { headers.put("Authorization", Constant.HUAWEI_AUTH_HEADER_VALUE); headers.put("X-WSSE", HuaweiBuilder.buildWsseHeader(config.getAppKey(), config.getAppSecret())); headers.put("Content-Type", Constant.FROM_URLENCODED); - SmsResponse smsResponse = new SmsResponse(); http.post(url) .addHeader(headers) .addBody(requestBody) - .onSuccess(((data, req, res) -> { - HuaweiResponse jsonBody = res.get(HuaweiResponse.class); - smsResponse.setCode(jsonBody.getCode()); - smsResponse.setMessage(jsonBody.getDescription()); - smsResponse.setBizId(jsonBody.getResult().get(0).getSmsMsgId()); - smsResponse.setData(jsonBody.getResult()); - if ("000000".equals(jsonBody.getCode())) { - smsResponse.setSuccess(true); - } - })) - .onError((ex, req, res) -> { - HuaweiResponse huaweiResponse = res.get(HuaweiResponse.class); - if (huaweiResponse == null) { - smsResponse.setErrorCode("500"); - smsResponse.setErrMessage("huawei send sms response is null.check param"); - } else { - smsResponse.setErrMessage(huaweiResponse.getDescription()); - smsResponse.setErrorCode(huaweiResponse.getCode()); - } - }) + .onSuccess(((data, req, res) -> reference.set(this.getResponse(res.get(JSONObject.class))))) + .onError((ex, req, res) -> reference.set(this.getResponse(res.get(JSONObject.class)))) .execute(); - return smsResponse; + return reference.get(); } @Override @@ -89,4 +72,12 @@ public class HuaweiSmsImpl extends AbstractSmsBlend { public SmsResponse massTexting(List phones, String templateId, LinkedHashMap messages) { return sendMessage(listToString(phones), templateId, messages); } + + private SmsResponse getResponse(JSONObject resJson) { + SmsResponse smsResponse = new SmsResponse(); + smsResponse.setSuccess("000000".equals(resJson.getStr("Code"))); + smsResponse.setData(resJson); + return smsResponse; + } + } diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/jdcloud/service/JdCloudSmsImpl.java b/sms4j-provider/src/main/java/org/dromara/sms4j/jdcloud/service/JdCloudSmsImpl.java index a6d9d0a6..069975fe 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/jdcloud/service/JdCloudSmsImpl.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/jdcloud/service/JdCloudSmsImpl.java @@ -32,7 +32,7 @@ public class JdCloudSmsImpl extends AbstractSmsBlend { private final JdCloudConfig config; public JdCloudSmsImpl(SmsClient client, JdCloudConfig config, Executor pool, DelayedTime delayed) { - super(pool,delayed); + super(pool, delayed); this.client = client; this.config = config; } @@ -85,17 +85,8 @@ public class JdCloudSmsImpl extends AbstractSmsBlend { */ private SmsResponse getSmsResponse(BatchSendResult res) { SmsResponse smsResponse = new SmsResponse(); - smsResponse.setBizId(res.getData().getSequenceNumber()); - smsResponse.setData(res.getData()); - smsResponse.setCode(String.valueOf(res.getCode())); - smsResponse.setMessage(res.getMessage()); - Boolean status = res.getStatus(); - boolean isSuccess = status != null && status; - smsResponse.setSuccess(isSuccess); - if (!isSuccess) { - smsResponse.setErrMessage(res.getMessage()); - smsResponse.setErrorCode(String.valueOf(res.getCode())); - } + smsResponse.setSuccess(res.getStatus() != null && res.getStatus()); + smsResponse.setData(res); return smsResponse; } } diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/netease/service/NeteaseSmsImpl.java b/sms4j-provider/src/main/java/org/dromara/sms4j/netease/service/NeteaseSmsImpl.java index 9be86198..a227cdbc 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/netease/service/NeteaseSmsImpl.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/netease/service/NeteaseSmsImpl.java @@ -14,7 +14,11 @@ import org.dromara.sms4j.comm.exception.SmsBlendException; import org.dromara.sms4j.netease.config.NeteaseConfig; import org.dromara.sms4j.netease.utils.NeteaseUtils; -import java.util.*; +import java.util.Collections; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; import java.util.concurrent.Executor; import java.util.concurrent.atomic.AtomicReference; @@ -36,8 +40,7 @@ public class NeteaseSmsImpl extends AbstractSmsBlend { } /** - * - * @param phone 接收短信的手机号 + * @param phone 接收短信的手机号 * @param message 短信变量 ["xxx","yyy"] * @return */ @@ -51,7 +54,6 @@ public class NeteaseSmsImpl extends AbstractSmsBlend { /** - * * @param phone * @param templateId 模板id * @param messages 短信变量 key为默认 params value为模板变量值 ["xxx","yyy"] @@ -107,28 +109,16 @@ public class NeteaseSmsImpl extends AbstractSmsBlend { .addHeader("CurTime", curTime) .addHeader("CheckSum", checkSum) .addBody(body) - .onSuccess(((data, req, res) -> { - reference.set(this.getResponse(res.get(JSONObject.class))); - })) - .onError((ex, req, res) -> { - reference.set(this.getResponse(res.get(JSONObject.class))); - }) + .onSuccess(((data, req, res) -> reference.set(this.getResponse(res.get(JSONObject.class))))) + .onError((ex, req, res) -> reference.set(this.getResponse(res.get(JSONObject.class)))) .execute(); return reference.get(); } private SmsResponse getResponse(JSONObject jsonObject) { SmsResponse response = new SmsResponse(); - Integer code = jsonObject.getInteger("code"); - if (code > 200) { - response.setErrorCode(String.valueOf(code)); - response.setErrMessage(jsonObject.getString("msg")); - } else { - response.setSuccess(true); - response.setCode(String.valueOf(code)); - response.setMessage(jsonObject.getString("msg")); - response.setData(jsonObject.get("obj")); - } + response.setSuccess(jsonObject.getInteger("code") <= 200); + response.setData(jsonObject); return response; } diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/tencent/service/TencentSmsImpl.java b/sms4j-provider/src/main/java/org/dromara/sms4j/tencent/service/TencentSmsImpl.java index 0a71540d..6792d167 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/tencent/service/TencentSmsImpl.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/tencent/service/TencentSmsImpl.java @@ -1,6 +1,5 @@ package org.dromara.sms4j.tencent.service; -import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import com.jdcloud.sdk.utils.StringUtils; import lombok.extern.slf4j.Slf4j; @@ -99,28 +98,13 @@ public class TencentSmsImpl extends AbstractSmsBlend { JSONObject jsonBody = res.get(JSONObject.class); JSONObject response = jsonBody.getJSONObject("Response"); String error = response.getStr("Error"); - if (StringUtils.isNotBlank(error)){ - smsResponse.setErrorCode("500"); - smsResponse.setErrMessage(error); - }else { - JSONArray sendStatusSet = response.getJSONArray("SendStatusSet"); - smsResponse.setBizId(sendStatusSet.getJSONObject(0).getStr("SerialNo")); - smsResponse.setMessage(sendStatusSet.getJSONObject(0).getStr("Message")); - smsResponse.setCode(sendStatusSet.getJSONObject(0).getStr("Code")); - smsResponse.setSuccess(true); - } + smsResponse.setSuccess(StringUtils.isBlank(error)); + smsResponse.setData(jsonBody); })) .onError((ex, req, res) -> { JSONObject jsonBody = res.get(JSONObject.class); - if (jsonBody == null) { - smsResponse.setErrorCode("500"); - smsResponse.setErrMessage("tencent send sms response is null.check param"); - } else { - JSONObject response = jsonBody.getJSONObject("Response"); - JSONArray sendStatusSet = response.getJSONArray("SendStatusSet"); - smsResponse.setErrMessage(sendStatusSet.getJSONObject(0).getStr("Message")); - smsResponse.setErrorCode(sendStatusSet.getJSONObject(0).getStr("Code")); - } + smsResponse.setSuccess(false); + smsResponse.setData(jsonBody); }) .execute(); return smsResponse; diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/unisms/service/UniSmsImpl.java b/sms4j-provider/src/main/java/org/dromara/sms4j/unisms/service/UniSmsImpl.java index 19bca16a..84e2a642 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/unisms/service/UniSmsImpl.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/unisms/service/UniSmsImpl.java @@ -20,6 +20,7 @@ import java.util.concurrent.Executor; /** *

类名: UniSmsImpl *

说明: uniSms短信实现 + * * @author :Wind * 2023/3/26 17:10 **/ @@ -29,19 +30,19 @@ public class UniSmsImpl extends AbstractSmsBlend { private final UniConfig config; public UniSmsImpl(UniConfig config, Executor pool, DelayedTime delayed) { - super(pool,delayed); + super(pool, delayed); this.config = config; } @Override @Restricted public SmsResponse sendMessage(String phone, String message) { - if ("".equals(config.getTemplateId()) && "".equals(config.getTemplateName())){ + if ("".equals(config.getTemplateId()) && "".equals(config.getTemplateName())) { throw new SmsBlendException("配置文件模板id和模板变量不能为空!"); } - LinkedHashMapmap = new LinkedHashMap<>(); - map.put(config.getTemplateName(),message); - return sendMessage(phone, config.getTemplateId(),map); + LinkedHashMap map = new LinkedHashMap<>(); + map.put(config.getTemplateName(), message); + return sendMessage(phone, config.getTemplateId(), map); } @Override @@ -58,18 +59,18 @@ public class UniSmsImpl extends AbstractSmsBlend { @Override @Restricted public SmsResponse massTexting(List phones, String message) { - if ("".equals(config.getTemplateId()) && "".equals(config.getTemplateName())){ + if ("".equals(config.getTemplateId()) && "".equals(config.getTemplateName())) { throw new SmsBlendException("配置文件模板id和模板变量不能为空!"); } - LinkedHashMapmap = new LinkedHashMap<>(); - map.put(config.getTemplateName(),message); - return massTexting(phones, config.getTemplateId(),map); + LinkedHashMap map = new LinkedHashMap<>(); + map.put(config.getTemplateName(), message); + return massTexting(phones, config.getTemplateId(), map); } @Override @Restricted public SmsResponse massTexting(List phones, String templateId, LinkedHashMap messages) { - if (phones.size()>1000){ + if (phones.size() > 1000) { throw new SmsBlendException("单次发送超过最大发送上限,建议每次群发短信人数低于1000"); } Map data = new HashMap<>(); @@ -80,20 +81,16 @@ public class UniSmsImpl extends AbstractSmsBlend { return getSmsResponse(data); } - private SmsResponse getSmsResponse( Map data) { + private SmsResponse getSmsResponse(Map data) { SmsResponse smsResponse = new SmsResponse(); try { UniResponse send = Uni.getClient().request("sms.message.send", data); - smsResponse.setCode(String.valueOf(send.status)); - smsResponse.setErrorCode(send.code); - smsResponse.setMessage(send.message); - smsResponse.setBizId(send.requestId); - smsResponse.setData(send); smsResponse.setSuccess("Success".equals(send.message)); - }catch(Exception e){ - smsResponse.setErrMessage(e.getMessage()); + smsResponse.setData(send); + } catch (Exception e) { + smsResponse.setSuccess(false); } - return smsResponse; } + } diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/yunpian/service/YunPianSmsImpl.java b/sms4j-provider/src/main/java/org/dromara/sms4j/yunpian/service/YunPianSmsImpl.java index 49f0e58d..5a2ecfb5 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/yunpian/service/YunPianSmsImpl.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/yunpian/service/YunPianSmsImpl.java @@ -32,17 +32,10 @@ public class YunPianSmsImpl extends AbstractSmsBlend { private static SmsResponse getSmsResponse(JSONObject execute) { SmsResponse smsResponse = new SmsResponse(); if (execute == null) { - smsResponse.setErrorCode("500"); - smsResponse.setErrMessage("yunpian send sms response is null.check param"); + smsResponse.setSuccess(false); return smsResponse; } - smsResponse.setCode(execute.getStr("code")); - smsResponse.setMessage(execute.getStr("msg")); - smsResponse.setBizId(execute.getStr("sid")); smsResponse.setSuccess(execute.getInt("code") == 0); - if (!smsResponse.isSuccess()) { - smsResponse.setErrMessage(execute.getStr("msg")); - } smsResponse.setData(execute); return smsResponse; }