From 06272f6bb1002badb75f67d6c44a1b00bba32a76 Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期六, 26 八月 2023 14:34:28 +0800 Subject: [PATCH] Merge branch 'master' of ssh://120.76.84.145:20202/java/HongRuiTang into master --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/NotifyController.java | 28 ++++++++++++++++++++-------- 1 files changed, 20 insertions(+), 8 deletions(-) diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/NotifyController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/NotifyController.java index 5af01c2..7acf60b 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/NotifyController.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/NotifyController.java @@ -28,6 +28,8 @@ import java.io.IOException; import java.nio.charset.StandardCharsets; import java.security.GeneralSecurityException; +import java.util.Collection; +import java.util.Enumeration; import java.util.Map; import java.util.Objects; @@ -62,8 +64,19 @@ @ApiOperation(value = "微信支付/退款通知") public String payNotify(@RequestBody String notifyData, HttpServletRequest request, HttpServletResponse response) throws WxPayException { + Enumeration<String> headerNames = request.getHeaderNames(); + while (headerNames.hasMoreElements()){ + String name = headerNames.nextElement(); + log.info("request headerNames: {}", name); + } + + Collection<String> headerNames1 = response.getHeaderNames(); + for (String name : headerNames1) { + log.info("request headerNames: {}", name); + } + // 获取请求头 - SignatureHeader signatureHeader = getSignatureHeader(response); + SignatureHeader signatureHeader = getSignatureHeader(request); log.info("微信支付/退款通知: {}", notifyData); @@ -103,8 +116,7 @@ log.info("微信分账通知: {}", notifyData); // 获取请求头 - SignatureHeader signatureHeader = getSignatureHeader(response); - + SignatureHeader signatureHeader = getSignatureHeader(request); ProfitSharingNotifyNewResult notifyResult = getProfitSharingNotifyData(notifyData, signatureHeader); ProfitSharingNotifyResult result = notifyResult.getResult(); @@ -166,12 +178,12 @@ beforeSign.getBytes(StandardCharsets.UTF_8), header.getSigned()); } - private SignatureHeader getSignatureHeader(HttpServletResponse response){ + private SignatureHeader getSignatureHeader(HttpServletRequest request){ SignatureHeader signatureHeader = new SignatureHeader(); - signatureHeader.setSerialNo(response.getHeader(WECHAT_PAY_SERIAL)); - signatureHeader.setSigned(response.getHeader(WECHAT_PAY_SIGNATURE)); - signatureHeader.setNonce(response.getHeader(WECHAT_PAY_NONCE)); - signatureHeader.setTimeStamp(response.getHeader(WECHAT_PAY_TIMESTAMP)); + signatureHeader.setSerialNo(request.getHeader(WECHAT_PAY_SERIAL)); + signatureHeader.setSigned(request.getHeader(WECHAT_PAY_SIGNATURE)); + signatureHeader.setNonce(request.getHeader(WECHAT_PAY_NONCE)); + signatureHeader.setTimeStamp(request.getHeader(WECHAT_PAY_TIMESTAMP)); log.info("timeStamp:{} nonce : {} signed:{} serialNo:{}", signatureHeader.getTimeStamp(), -- Gitblit v1.7.1