mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-06-28 13:16:19 +08:00
【微信支付】电商收付通相关接口抛出异常时加入状态码等信息
This commit is contained in:
parent
2a45fe4ade
commit
34495cb655
@ -2,6 +2,7 @@ package com.github.binarywang.wxpay.service.impl;
|
|||||||
|
|
||||||
import com.github.binarywang.wxpay.bean.WxPayApiData;
|
import com.github.binarywang.wxpay.bean.WxPayApiData;
|
||||||
import com.github.binarywang.wxpay.exception.WxPayException;
|
import com.github.binarywang.wxpay.exception.WxPayException;
|
||||||
|
import com.google.gson.JsonElement;
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
import me.chanjar.weixin.common.util.json.GsonParser;
|
import me.chanjar.weixin.common.util.json.GsonParser;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
@ -106,11 +107,11 @@ public class WxPayServiceApacheHttpImpl extends BaseWxPayServiceImpl {
|
|||||||
} else {
|
} else {
|
||||||
//有错误提示信息返回
|
//有错误提示信息返回
|
||||||
JsonObject jsonObject = GsonParser.parse(responseString);
|
JsonObject jsonObject = GsonParser.parse(responseString);
|
||||||
throw new WxPayException(jsonObject.get("message").getAsString());
|
throw convertException(jsonObject);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
this.log.error("\n【请求地址】:{}\n【请求数据】:{}\n【异常信息】:{}", url, requestStr, e.getMessage());
|
this.log.error("\n【请求地址】:{}\n【请求数据】:{}\n【异常信息】:{}", url, requestStr, e.getMessage());
|
||||||
throw new WxPayException(e.getMessage(), e);
|
throw (e instanceof WxPayException) ? (WxPayException)e : new WxPayException(e.getMessage(), e);
|
||||||
} finally {
|
} finally {
|
||||||
httpPost.releaseConnection();
|
httpPost.releaseConnection();
|
||||||
}
|
}
|
||||||
@ -141,12 +142,12 @@ public class WxPayServiceApacheHttpImpl extends BaseWxPayServiceImpl {
|
|||||||
} else {
|
} else {
|
||||||
//有错误提示信息返回
|
//有错误提示信息返回
|
||||||
JsonObject jsonObject = GsonParser.parse(responseString);
|
JsonObject jsonObject = GsonParser.parse(responseString);
|
||||||
throw new WxPayException(jsonObject.get("message").getAsString());
|
throw convertException(jsonObject);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
this.log.error("\n【请求地址】:{}\n【请求数据】:{}\n【异常信息】:{}", url, requestStr, e.getMessage());
|
this.log.error("\n【请求地址】:{}\n【请求数据】:{}\n【异常信息】:{}", url, requestStr, e.getMessage());
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
throw new WxPayException(e.getMessage(), e);
|
throw (e instanceof WxPayException) ? (WxPayException)e : new WxPayException(e.getMessage(), e);
|
||||||
} finally {
|
} finally {
|
||||||
httpPost.releaseConnection();
|
httpPost.releaseConnection();
|
||||||
}
|
}
|
||||||
@ -172,11 +173,11 @@ public class WxPayServiceApacheHttpImpl extends BaseWxPayServiceImpl {
|
|||||||
} else {
|
} else {
|
||||||
//有错误提示信息返回
|
//有错误提示信息返回
|
||||||
JsonObject jsonObject = GsonParser.parse(responseString);
|
JsonObject jsonObject = GsonParser.parse(responseString);
|
||||||
throw new WxPayException(jsonObject.get("message").getAsString());
|
throw convertException(jsonObject);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
this.log.error("\n【请求地址】:{}\n【异常信息】:{}", url, e.getMessage());
|
this.log.error("\n【请求地址】:{}\n【异常信息】:{}", url, e.getMessage());
|
||||||
throw new WxPayException(e.getMessage(), e);
|
throw (e instanceof WxPayException) ? (WxPayException)e : new WxPayException(e.getMessage(), e);
|
||||||
} finally {
|
} finally {
|
||||||
httpPost.releaseConnection();
|
httpPost.releaseConnection();
|
||||||
}
|
}
|
||||||
@ -198,11 +199,11 @@ public class WxPayServiceApacheHttpImpl extends BaseWxPayServiceImpl {
|
|||||||
} else {
|
} else {
|
||||||
//有错误提示信息返回
|
//有错误提示信息返回
|
||||||
JsonObject jsonObject = GsonParser.parse(responseString);
|
JsonObject jsonObject = GsonParser.parse(responseString);
|
||||||
throw new WxPayException(jsonObject.get("message").getAsString());
|
throw convertException(jsonObject);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
this.log.error("\n【请求地址】:{}\n【异常信息】:{}", url, e.getMessage());
|
this.log.error("\n【请求地址】:{}\n【异常信息】:{}", url, e.getMessage());
|
||||||
throw new WxPayException(e.getMessage(), e);
|
throw (e instanceof WxPayException) ? (WxPayException)e : new WxPayException(e.getMessage(), e);
|
||||||
} finally {
|
} finally {
|
||||||
httpGet.releaseConnection();
|
httpGet.releaseConnection();
|
||||||
}
|
}
|
||||||
@ -223,11 +224,11 @@ public class WxPayServiceApacheHttpImpl extends BaseWxPayServiceImpl {
|
|||||||
//有错误提示信息返回
|
//有错误提示信息返回
|
||||||
String responseString = EntityUtils.toString(response.getEntity(), StandardCharsets.UTF_8);
|
String responseString = EntityUtils.toString(response.getEntity(), StandardCharsets.UTF_8);
|
||||||
JsonObject jsonObject = GsonParser.parse(responseString);
|
JsonObject jsonObject = GsonParser.parse(responseString);
|
||||||
throw new WxPayException(jsonObject.get("message").getAsString());
|
throw convertException(jsonObject);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
this.log.error("\n【请求地址】:{}\n【异常信息】:{}", url, e.getMessage());
|
this.log.error("\n【请求地址】:{}\n【异常信息】:{}", url, e.getMessage());
|
||||||
throw new WxPayException(e.getMessage(), e);
|
throw (e instanceof WxPayException) ? (WxPayException)e : new WxPayException(e.getMessage(), e);
|
||||||
} finally {
|
} finally {
|
||||||
httpGet.releaseConnection();
|
httpGet.releaseConnection();
|
||||||
}
|
}
|
||||||
@ -291,4 +292,16 @@ public class WxPayServiceApacheHttpImpl extends BaseWxPayServiceImpl {
|
|||||||
httpClientBuilder.setSSLSocketFactory(connectionSocketFactory);
|
httpClientBuilder.setSSLSocketFactory(connectionSocketFactory);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private WxPayException convertException(JsonObject jsonObject) {
|
||||||
|
//todo 这里考虑使用新的适用于V3的异常
|
||||||
|
JsonElement codeElement = jsonObject.get("code");
|
||||||
|
String code = codeElement == null ? null : codeElement.getAsString();
|
||||||
|
String message = jsonObject.get("message").getAsString();
|
||||||
|
WxPayException wxPayException = new WxPayException(message);
|
||||||
|
wxPayException.setErrCode(code);
|
||||||
|
wxPayException.setErrCodeDes(message);
|
||||||
|
return wxPayException;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user