!53 添加 success 参数 用于用户统一判断

补充天翼云,合一,腾讯返回值和对应单元测试
This commit is contained in:
风如歌 2023-06-02 02:39:36 +00:00 committed by Gitee
commit f4b1ecb01a
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
12 changed files with 103 additions and 6 deletions

View File

@ -10,6 +10,14 @@ import lombok.Data;
**/
@Data
public class SmsResponse {
/**
* 是否成功
*
* @since 2.2.0
*/
private boolean success;
/** 状态码*/
private String code;
/** 返回消息*/

View File

@ -102,6 +102,7 @@ public class AlibabaSmsImpl extends AbstractSmsBlend {
smsResponse.setMessage(resJson.getStr("Message"));
if ("OK".equals(smsResponse.getCode())) {
smsResponse.setBizId(resJson.getStr("BizId"));
smsResponse.setSuccess(true);
}
return smsResponse;
}

View File

@ -63,6 +63,7 @@ public class CloopenHelper {
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);

View File

@ -90,6 +90,7 @@ public class CtyunSmsImpl extends AbstractSmsBlend {
smsResponse.setCode(resJson.getStr("code"));
smsResponse.setMessage(resJson.getStr("message"));
smsResponse.setBizId(resJson.getStr("requestId"));
smsResponse.setSuccess("OK".equals(smsResponse.getCode()));
return smsResponse;
}

View File

@ -104,6 +104,7 @@ public class EmaySmsImpl extends AbstractSmsBlend {
} 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");

View File

@ -22,7 +22,7 @@ import static org.dromara.sms4j.huawei.utils.HuaweiBuilder.listToString;
@Slf4j
public class HuaweiSmsImpl extends AbstractSmsBlend {
public HuaweiSmsImpl(HuaweiConfig config, Executor pool, DelayedTime delayed) {
super(pool,delayed);
super(pool, delayed);
this.config = config;
}
@ -60,6 +60,9 @@ public class HuaweiSmsImpl extends AbstractSmsBlend {
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);

View File

@ -91,6 +91,7 @@ public class JdCloudSmsImpl extends AbstractSmsBlend {
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()));

View File

@ -107,6 +107,7 @@ public class TencentSmsImpl extends AbstractSmsBlend {
smsResponse.setBizId(sendStatusSet.getJSONObject(0).getStr("SerialNo"));
smsResponse.setMessage(sendStatusSet.getJSONObject(0).getStr("Message"));
smsResponse.setCode(sendStatusSet.getJSONObject(0).getStr("Code"));
smsResponse.setSuccess(true);
}
}))
.onError((ex, req, res) -> {

View File

@ -33,7 +33,6 @@ public class UniResponse {
this.message = response.getStr("message");
} else {
this.message = body.getJSONArray("messages").getStr(0);
;
}
this.code = code;
} else {

View File

@ -89,6 +89,7 @@ public class UniSmsImpl extends AbstractSmsBlend {
smsResponse.setMessage(send.message);
smsResponse.setBizId(send.requestId);
smsResponse.setData(send);
smsResponse.setSuccess("Success".equals(send.message));
}catch(Exception e){
smsResponse.setErrMessage(e.getMessage());
}

View File

@ -39,7 +39,8 @@ public class YunPianSmsImpl extends AbstractSmsBlend {
smsResponse.setCode(execute.getStr("code"));
smsResponse.setMessage(execute.getStr("msg"));
smsResponse.setBizId(execute.getStr("sid"));
if (execute.getInt("code") != 0) {
smsResponse.setSuccess(execute.getInt("code") == 0);
if (!smsResponse.isSuccess()) {
smsResponse.setErrMessage(execute.getStr("msg"));
}
smsResponse.setData(execute);

View File

@ -25,9 +25,10 @@ class Sms4jTest {
if (StrUtil.isBlank(PHONE)) {
return;
}
// 阿里
SmsResponse smsResponse = SmsFactory.createSmsBlend(SupplierType.ALIBABA).sendMessage(PHONE, SmsUtil.getRandomInt(6));
log.info(JSONUtil.toJsonStr(smsResponse));
Assert.isTrue("OK".equals(smsResponse.getCode()));
Assert.isTrue("OK".equals(smsResponse.getCode()) && smsResponse.isSuccess());
}
@Test
@ -35,9 +36,87 @@ class Sms4jTest {
if (StrUtil.isBlank(PHONE)) {
return;
}
// 华为
SmsResponse smsResponse = SmsFactory.createSmsBlend(SupplierType.HUAWEI).sendMessage(PHONE, SmsUtil.getRandomInt(6));
log.info(JSONUtil.toJsonStr(smsResponse));
Assert.isTrue("000000".equals(smsResponse.getCode()));
Assert.isTrue("000000".equals(smsResponse.getCode()) && smsResponse.isSuccess());
}
}
@Test
public void cloopenSmsTest() {
if (StrUtil.isBlank(PHONE)) {
return;
}
// 容联云
SmsResponse smsResponse = SmsFactory.createSmsBlend(SupplierType.CLOOPEN).sendMessage(PHONE, SmsUtil.getRandomInt(6));
log.info(JSONUtil.toJsonStr(smsResponse));
Assert.isTrue("000000".equals(smsResponse.getCode()) && smsResponse.isSuccess());
}
@Test
public void emaySmsTest() {
if (StrUtil.isBlank(PHONE)) {
return;
}
// 亿美软通
SmsResponse smsResponse = SmsFactory.createSmsBlend(SupplierType.EMAY).sendMessage(PHONE, SmsUtil.getRandomInt(6));
log.info(JSONUtil.toJsonStr(smsResponse));
Assert.isTrue("success".equals(smsResponse.getCode()) && smsResponse.isSuccess());
}
@Test
public void jdCloudSmsTest() {
if (StrUtil.isBlank(PHONE)) {
return;
}
// 京东云
SmsResponse smsResponse = SmsFactory.createSmsBlend(SupplierType.JD_CLOUD).sendMessage(PHONE, SmsUtil.getRandomInt(6));
log.info(JSONUtil.toJsonStr(smsResponse));
Assert.isTrue(smsResponse.isSuccess());
}
@Test
public void yunPianSmsTest() {
if (StrUtil.isBlank(PHONE)) {
return;
}
// 云片
SmsResponse smsResponse = SmsFactory.createSmsBlend(SupplierType.YUNPIAN).sendMessage(PHONE, SmsUtil.getRandomInt(6));
log.info(JSONUtil.toJsonStr(smsResponse));
Assert.isTrue("0".equals(smsResponse.getCode()) && smsResponse.isSuccess());
}
@Test
public void tencentSmsTest() {
if (StrUtil.isBlank(PHONE)) {
return;
}
// 腾讯
SmsResponse smsResponse = SmsFactory.createSmsBlend(SupplierType.TENCENT).sendMessage(PHONE, SmsUtil.getRandomInt(6));
log.info(JSONUtil.toJsonStr(smsResponse));
Assert.isTrue("Ok".equals(smsResponse.getCode()) && smsResponse.isSuccess());
}
@Test
public void uniSmsTest() {
if (StrUtil.isBlank(PHONE)) {
return;
}
// 合一
SmsResponse smsResponse = SmsFactory.createSmsBlend(SupplierType.UNI_SMS).sendMessage(PHONE, SmsUtil.getRandomInt(6));
log.info(JSONUtil.toJsonStr(smsResponse));
Assert.isTrue("Success".equals(smsResponse.getMessage()) && smsResponse.isSuccess());
}
@Test
public void cyYunSmsTest() {
if (StrUtil.isBlank(PHONE)) {
return;
}
// 天翼云
SmsResponse smsResponse = SmsFactory.createSmsBlend(SupplierType.CTYUN).sendMessage(PHONE, SmsUtil.getRandomInt(6));
log.info(JSONUtil.toJsonStr(smsResponse));
Assert.isTrue("OK".equals(smsResponse.getCode()) && smsResponse.isSuccess());
}
}