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 4c96c7e0..5c8416c8 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,5 +1,6 @@ package org.dromara.sms4j.emay.service; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.dtflys.forest.config.ForestConfiguration; import org.dromara.sms4j.emay.config.EmayConfig; @@ -178,13 +179,19 @@ public class EmaySmsImpl implements SmsBlend { private static SmsResponse getSmsResponse(JSONObject execute) { SmsResponse smsResponse = new SmsResponse(); String code = execute.getString("code"); - smsResponse.setCode(code); - if ("success".equalsIgnoreCase(code)) { - JSONObject data = execute.getJSONObject("data"); - String smsId = data.getString("smsId"); - smsResponse.setBizId(smsId); + if (code == null) { + smsResponse.setErrorCode("emay response code is null"); + smsResponse.setErrMessage("emay is error"); + } else { + smsResponse.setCode(code); + if ("success".equalsIgnoreCase(code)) { + JSONArray data = execute.getJSONArray("data"); + JSONObject result = (JSONObject) data.get(0); + String smsId = result.getString("smsId"); + smsResponse.setBizId(smsId); + } + smsResponse.setData(execute); } - smsResponse.setData(execute); return smsResponse; } }