|
|
|
@@ -54,6 +54,16 @@ public class WxBusinessOrderController extends BaseController { |
|
|
|
@ResponseBody |
|
|
|
public Map<String,String> 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<String,String> 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; |
|
|
|
} |
|
|
|
|