//线程池
private ExecutorServiceexecutorService = Executors.newFixedThreadPool(20);
/**
* 微信支付回调
*
* @param request
* @param response
*/
@RequestMapping(value ="/wxpay_callback", produces ="text/html;charset=UTF-8")
public String wxReturnPay(HttpServletRequest request, HttpServletResponse response) {
/**
* 返回成功xml
*/
String resSuccessXml ="<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>";
/**
* 返回失败xml
*/
String resFailXml ="<xml><return_code><![CDATA[FAIL]]></return_code><return_msg><![CDATA[报文为空]]></return_msg></xml>";
String notityXml ="";
String inputLine;
try {
request.setCharacterEncoding("GBK");
BufferedReader bf =new BufferedReader(new InputStreamReader(request.getInputStream(),"GBK"));
while ((inputLine = bf.readLine()) !=null) {
notityXml += inputLine;
}
if (StrUtil.isBlank(notityXml)) {
BufferedOutputStream out =new BufferedOutputStream(response.getOutputStream());
out.write(resFailXml.getBytes());
out.flush();
out.close();
}else {
BufferedOutputStream out =new BufferedOutputStream(response.getOutputStream());
out.write(resSuccessXml.getBytes());
out.flush();
out.close();
}
}catch (IOException e) {
log.error(e.getMessage(), e);
}
JSONObject json = JSONUtil.xmlToJson(notityXml);
JSONObject json1 = (JSONObject) json.get("xml");
System.out.println("--------------------------------------------");
System.out.println(json1);
System.out.println("--------------------------------------------");
String merBillNo = (String) json1.get("out_trade_no");
//判断订单是否存在
QueryWrapper queryReg =new QueryWrapper();
queryReg.lambda().eq(RegEntity::getMerBillNo, merBillNo);
RegEntity reg =regService.getOne(queryReg);
if (ObjectUtil.isNull(reg)) {
//订单处理
return resFailXml;
}
executorService.execute(new Runnable() {
@Override
public void run() {
log.info("支付回调开始,订单号:" +merBillNo);
try {
//回调业务
}catch (Exception e) {
log.error("微信回调业务处理报错,params:{}" ,json1, e);
}
}
});
log.error("微信回调业务成功:" + json1);
return resSuccessXml;
}
微信支付回调
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 不得不说,友盟的客服以及论坛服务很不周到,特别是最近要获取友盟微信分享是否成功的状态,在分享回调里根本拿不到,回调...
- 前几天对接微信支付, 支付流程都没什么问题了但是回调这一块感觉就是一个天坑。 在本地测试回调的时候用官方文档给的X...
- 回调函数 注意 (1).wechat发送回调是通过post方式,在路由处定义了之后,还需要在laravel项目中排...