| | |
| | | } |
| | | } |
| | | |
| | | @PostMapping("/batteryActivityPayNotify") |
| | | public void batteryActivityPayNotify(HttpServletRequest request, HttpServletResponse response) { |
| | | log.info("购买活动商品微信支付回调start"); |
| | | String inputLine = ""; |
| | | String notityXml = ""; |
| | | try { |
| | | while ((inputLine = request.getReader().readLine()) != null) { |
| | | notityXml += inputLine; |
| | | } |
| | | // 关闭流 |
| | | request.getReader().close(); |
| | | log.info("购买活动商品微信回调内容信息:" + notityXml); |
| | | // 解析成Json |
| | | org.json.JSONObject xmlJson = XML.toJSONObject(notityXml); |
| | | if (StringUtils.isNotEmpty(xmlJson.toString())) { |
| | | JSONObject resultData = JSON.parseObject(xmlJson.get("xml").toString()); |
| | | // 成功支付订单 |
| | | if (SUCCESS.equals(resultData.getString("result_code")) && SUCCESS.equals(resultData.getString("result_code"))){ |
| | | WxPayNotifyOrderDTO notifyOrderDTO = getWxNotify(resultData); |
| | | |
| | | // 根据订单号修改订单信息 |
| | | commodityOrderFeign.batteryActivityPayNotify(notifyOrderDTO); |
| | | // 给微信服务器返回 成功标示 否则会一直询问 咱们服务器 是否回调成功 |
| | | PrintWriter writer = response.getWriter(); |
| | | // 返回 |
| | | writer.print(getWxSuccessString()); |
| | | } else {// 未成功支付订单 |
| | | // 给微信服务器返回 成功标示 否则会一直询问 咱们服务器 是否回调成功 |
| | | PrintWriter writer = response.getWriter(); |
| | | // 返回 |
| | | writer.print(getWxFailString()); |
| | | } |
| | | } |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 将微信支付回调的请求参数转义为对象 |
| | | * @param resultData 微信支付回调请求参数 |
| | |
| | | // 现金支付金额 |
| | | String cashFee = resultData.getString("cash_fee"); |
| | | notifyOrderDTO.setCashFee(cashFee); |
| | | //附加数据 |
| | | String attach = resultData.getString("attach"); |
| | | notifyOrderDTO.setAttach(attach); |
| | | return notifyOrderDTO; |
| | | } |
| | | |