!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 @Data
public class SmsResponse { public class SmsResponse {
/**
* 是否成功
*
* @since 2.2.0
*/
private boolean success;
/** 状态码*/ /** 状态码*/
private String code; private String code;
/** 返回消息*/ /** 返回消息*/

View File

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

View File

@ -63,6 +63,7 @@ public class CloopenHelper {
String statusMsg = Convert.toStr(responseMap.get("statusMsg")); String statusMsg = Convert.toStr(responseMap.get("statusMsg"));
boolean isSuccess = "000000".equals(statusCode); boolean isSuccess = "000000".equals(statusCode);
if (isSuccess) { if (isSuccess) {
smsResponse.setSuccess(true);
smsResponse.setCode(statusCode); smsResponse.setCode(statusCode);
smsResponse.setMessage(statusMsg); smsResponse.setMessage(statusMsg);
smsResponse.setData(response); smsResponse.setData(response);

View File

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

View File

@ -104,6 +104,7 @@ public class EmaySmsImpl extends AbstractSmsBlend {
} else { } else {
smsResponse.setCode(code); smsResponse.setCode(code);
if ("success".equalsIgnoreCase(code)) { if ("success".equalsIgnoreCase(code)) {
smsResponse.setSuccess(true);
JSONArray data = execute.getJSONArray("data"); JSONArray data = execute.getJSONArray("data");
JSONObject result = (JSONObject) data.get(0); JSONObject result = (JSONObject) data.get(0);
String smsId = result.getStr("smsId"); String smsId = result.getStr("smsId");

View File

@ -60,6 +60,9 @@ public class HuaweiSmsImpl extends AbstractSmsBlend {
smsResponse.setMessage(jsonBody.getDescription()); smsResponse.setMessage(jsonBody.getDescription());
smsResponse.setBizId(jsonBody.getResult().get(0).getSmsMsgId()); smsResponse.setBizId(jsonBody.getResult().get(0).getSmsMsgId());
smsResponse.setData(jsonBody.getResult()); smsResponse.setData(jsonBody.getResult());
if ("000000".equals(jsonBody.getCode())) {
smsResponse.setSuccess(true);
}
})) }))
.onError((ex, req, res) -> { .onError((ex, req, res) -> {
HuaweiResponse huaweiResponse = res.get(HuaweiResponse.class); HuaweiResponse huaweiResponse = res.get(HuaweiResponse.class);

View File

@ -91,6 +91,7 @@ public class JdCloudSmsImpl extends AbstractSmsBlend {
smsResponse.setMessage(res.getMessage()); smsResponse.setMessage(res.getMessage());
Boolean status = res.getStatus(); Boolean status = res.getStatus();
boolean isSuccess = status != null && status; boolean isSuccess = status != null && status;
smsResponse.setSuccess(isSuccess);
if (!isSuccess) { if (!isSuccess) {
smsResponse.setErrMessage(res.getMessage()); smsResponse.setErrMessage(res.getMessage());
smsResponse.setErrorCode(String.valueOf(res.getCode())); 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.setBizId(sendStatusSet.getJSONObject(0).getStr("SerialNo"));
smsResponse.setMessage(sendStatusSet.getJSONObject(0).getStr("Message")); smsResponse.setMessage(sendStatusSet.getJSONObject(0).getStr("Message"));
smsResponse.setCode(sendStatusSet.getJSONObject(0).getStr("Code")); smsResponse.setCode(sendStatusSet.getJSONObject(0).getStr("Code"));
smsResponse.setSuccess(true);
} }
})) }))
.onError((ex, req, res) -> { .onError((ex, req, res) -> {

View File

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

View File

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

View File

@ -39,7 +39,8 @@ public class YunPianSmsImpl extends AbstractSmsBlend {
smsResponse.setCode(execute.getStr("code")); smsResponse.setCode(execute.getStr("code"));
smsResponse.setMessage(execute.getStr("msg")); smsResponse.setMessage(execute.getStr("msg"));
smsResponse.setBizId(execute.getStr("sid")); 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.setErrMessage(execute.getStr("msg"));
} }
smsResponse.setData(execute); smsResponse.setData(execute);

View File

@ -25,9 +25,10 @@ class Sms4jTest {
if (StrUtil.isBlank(PHONE)) { if (StrUtil.isBlank(PHONE)) {
return; return;
} }
// 阿里
SmsResponse smsResponse = SmsFactory.createSmsBlend(SupplierType.ALIBABA).sendMessage(PHONE, SmsUtil.getRandomInt(6)); SmsResponse smsResponse = SmsFactory.createSmsBlend(SupplierType.ALIBABA).sendMessage(PHONE, SmsUtil.getRandomInt(6));
log.info(JSONUtil.toJsonStr(smsResponse)); log.info(JSONUtil.toJsonStr(smsResponse));
Assert.isTrue("OK".equals(smsResponse.getCode())); Assert.isTrue("OK".equals(smsResponse.getCode()) && smsResponse.isSuccess());
} }
@Test @Test
@ -35,9 +36,87 @@ class Sms4jTest {
if (StrUtil.isBlank(PHONE)) { if (StrUtil.isBlank(PHONE)) {
return; return;
} }
// 华为
SmsResponse smsResponse = SmsFactory.createSmsBlend(SupplierType.HUAWEI).sendMessage(PHONE, SmsUtil.getRandomInt(6)); SmsResponse smsResponse = SmsFactory.createSmsBlend(SupplierType.HUAWEI).sendMessage(PHONE, SmsUtil.getRandomInt(6));
log.info(JSONUtil.toJsonStr(smsResponse)); 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());
} }
} }