From fa5027dc1f44e4b2fe6f2347503f8ac2e2fbc65a Mon Sep 17 00:00:00 2001 From: xhxu Date: Thu, 29 Jul 2021 14:33:48 +0800 Subject: [PATCH] cs --- .../callback/WxBusinessOrderController.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/mallinkCallback/src/main/java/com/iformall/controller/callback/WxBusinessOrderController.java b/mallinkCallback/src/main/java/com/iformall/controller/callback/WxBusinessOrderController.java index 4e8a27838..4c5744c10 100644 --- a/mallinkCallback/src/main/java/com/iformall/controller/callback/WxBusinessOrderController.java +++ b/mallinkCallback/src/main/java/com/iformall/controller/callback/WxBusinessOrderController.java @@ -54,6 +54,16 @@ public class WxBusinessOrderController extends BaseController { @ResponseBody public Map createOrder(@PathVariable String tenantId, HttpServletRequest request){ logger.info("[" +getIpAddr() + "]微信商圈通知-----"+tenantId); + + SignatureHeader header = new SignatureHeader(); + header.setSerialNo(request.getHeader("Wechatpay-Serial")); + header.setTimeStamp(request.getHeader("Wechatpay-Timestamp")); + header.setNonce(request.getHeader("Wechatpay-Nonce")); + header.setSigned(request.getHeader("Wechatpay-Signature")); + + String body = ((BodyReaderHttpServletRequestWrapper) request).getBody(); + logger.info("微信商圈支付通知---body{}"+body); + Map resultMap = new HashMap<>(); if(StringUtils.isBlank(tenantId)){ logger.error("微信商圈通知-----tenantId为空"); @@ -68,15 +78,16 @@ public class WxBusinessOrderController extends BaseController { } WxPayService wxPayService = wxPayAccountService.getWxPayService(tenantId); + logger.info("微信商圈支付通知---获取wxPayService{}"+wxPayService); if(wxPayService == null){ logger.error("微信商圈通知-----获取wxPayService失败"); resultMap.put("code","FAIL"); return resultMap; } - try { //----------------签名验证----------- - BusinessCircleNotifyData notifyData = verifySignature(request,wxPayService); +// BusinessCircleNotifyData notifyData = verifySignature(request,wxPayService); + BusinessCircleNotifyData notifyData = wxPayService.getBusinessCircleService().parseNotifyData(body, header); logger.info("微信商圈通知---回调通知对象{}"+notifyData.toString()); WxBusinessCircleOrder wxBusinessCircleOrder = new WxBusinessCircleOrder(); @@ -144,6 +155,7 @@ public class WxBusinessOrderController extends BaseController { return resultMap; } catch (Exception e){ e.printStackTrace(); + logger.error("微信商圈通知---其他异常"); resultMap.put("code","FAIL"); return resultMap; }