浏览代码

阿里云发送短信优化,在返回错误后记录日志以及返回发送失败状态 (#429)

Co-authored-by: yang <477915244yang@gmail.com>
changyang liu 5 年之前
父节点
当前提交
2b69527d0d
共有 1 个文件被更改,包括 11 次插入1 次删除
  1. 11 1
      litemall-core/src/main/java/org/linlinjava/litemall/core/notify/AliyunSmsSender.java

+ 11 - 1
litemall-core/src/main/java/org/linlinjava/litemall/core/notify/AliyunSmsSender.java

@@ -8,6 +8,7 @@ import com.aliyuncs.exceptions.ClientException;
 import com.aliyuncs.exceptions.ServerException;
 import com.aliyuncs.http.MethodType;
 import com.aliyuncs.profile.DefaultProfile;
+import com.qcloud.cos.utils.Jackson;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.linlinjava.litemall.core.util.JacksonUtil;
@@ -26,6 +27,8 @@ public class AliyunSmsSender implements SmsSender {
     private String accessKeySecret;
     private String sign;
 
+    private final String okCode = "OK";
+
     public String getRegionId() {
         return regionId;
     }
@@ -106,8 +109,15 @@ public class AliyunSmsSender implements SmsSender {
         try {
             CommonResponse response = client.getCommonResponse(request);
             SmsResult smsResult = new SmsResult();
-            smsResult.setSuccessful(true);
             smsResult.setResult(response);
+            String code =  Jackson.jsonNodeOf(response.getData()).get("Code").asText();
+            if (response.getHttpResponse().isSuccess() && okCode.equals(code) ){
+                smsResult.setSuccessful(true);
+            }else {
+                smsResult.setSuccessful(false);
+                logger.error("短信发送失败:"+response.getData());
+            }
+
             return smsResult;
         } catch (ServerException e) {
             e.printStackTrace();