优化微信V3回调 获取参数
This commit is contained in:
parent
43b46d31a7
commit
34feebb5b1
|
|
@ -26,6 +26,9 @@ import org.springframework.web.context.request.RequestAttributes;
|
|||
import org.springframework.web.context.request.RequestContextHolder;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
|
||||
|
|
@ -46,6 +49,23 @@ public class RequestKitBean {
|
|||
/** reqContext对象中的key: 转换好的json对象 */
|
||||
private static final String REQ_CONTEXT_KEY_PARAMJSON = "REQ_CONTEXT_KEY_PARAMJSON";
|
||||
|
||||
/**request.getParameter 获取参数 并转换为JSON格式 **/
|
||||
public String getReqParamFromBody() {
|
||||
String body = "";
|
||||
try {
|
||||
String str;
|
||||
while((str = request.getReader().readLine()) != null){
|
||||
body += str;
|
||||
}
|
||||
|
||||
return body;
|
||||
|
||||
} catch (Exception e) {
|
||||
log.error("请求参数转换异常! params=[{}]", body);
|
||||
throw new BizException(ApiCodeEnum.PARAMS_ERROR, "转换异常");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**request.getParameter 获取参数 并转换为JSON格式 **/
|
||||
public JSONObject reqParam2JSON() {
|
||||
|
|
|
|||
|
|
@ -72,8 +72,8 @@ public abstract class AbstractChannelNoticeService implements IChannelNoticeServ
|
|||
}
|
||||
|
||||
/**request.getParameter 获取参数 并转换为JSON格式 **/
|
||||
protected JSONObject reqParam2JSON() {
|
||||
return requestKitBean.reqParam2JSON();
|
||||
protected String getReqParamFromBody() {
|
||||
return requestKitBean.getReqParamFromBody();
|
||||
}
|
||||
|
||||
/** 获取文件路径 **/
|
||||
|
|
|
|||
|
|
@ -198,9 +198,9 @@ public class WxpayChannelNoticeService extends AbstractChannelNoticeService {
|
|||
header.setSignature(request.getHeader("Wechatpay-Signature"));
|
||||
|
||||
// 获取加密信息
|
||||
JSONObject params = reqParam2JSON();
|
||||
String params = getReqParamFromBody();
|
||||
|
||||
log.info("\n【请求头信息】:{}\n【加密数据】:{}", header.toString(), params.toJSONString());
|
||||
log.info("\n【请求头信息】:{}\n【加密数据】:{}", header.toString(), params);
|
||||
|
||||
WxPayService wxPayService = mchAppConfigContext.getWxServiceWrapper().getWxPayService();
|
||||
WxPayConfig wxPayConfig = wxPayService.getConfig();
|
||||
|
|
@ -212,7 +212,7 @@ public class WxpayChannelNoticeService extends AbstractChannelNoticeService {
|
|||
wxPayConfig.setVerifier(verifier);
|
||||
wxPayService.setConfig(wxPayConfig);
|
||||
|
||||
WxPayOrderNotifyV3Result result = wxPayService.parseOrderNotifyV3Result(params.toJSONString(), header);
|
||||
WxPayOrderNotifyV3Result result = wxPayService.parseOrderNotifyV3Result(params, header);
|
||||
|
||||
return result.getResult();
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue