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 |   43 +++++++++++++++++++++++++++++++++----------
 1 files changed, 33 insertions(+), 10 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 775d9da..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
@@ -18,6 +18,7 @@
 import com.ruoyi.order.service.order.OrderService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import lombok.extern.log4j.Log4j2;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -27,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;
 
@@ -39,6 +42,7 @@
 @Api(value = "微信通知控制", tags = "微信通知控制", description = "微信通知控制")
 @RestController
 @RequestMapping("/app/notify")
+@Log4j2
 public class NotifyController extends BaseController {
 
     public static final String WECHAT_PAY_SERIAL = "Wechatpay-Serial";
@@ -51,7 +55,7 @@
     @Resource
     private OrderService orderService;
 
-    @Autowired
+    @Resource
     private WxPayService wxService;
     @Resource
     private BackMessageService backMessageService;
@@ -60,8 +64,21 @@
     @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);
 
         NotifyResponse responseData = GSON.fromJson(notifyData, NotifyResponse.class);
         String eventType = responseData.getEventType();
@@ -88,7 +105,6 @@
         // 保存支付/退款回调信息
         backMessageService.saveBackMessage(resultType, resultMessage);
 
-
         return WxPayNotifyV3Response.success("成功");
     }
 
@@ -97,10 +113,10 @@
     public String profitSharingNotify(@RequestBody String notifyData, HttpServletRequest request, HttpServletResponse response) throws WxPayException {
         ProfitSharingV3Service sharingV3Service = wxService.getProfitSharingV3Service();
         // ProfitSharingNotifyResult
+        log.info("微信分账通知:  {}", notifyData);
 
         // 获取请求头
-        SignatureHeader signatureHeader = getSignatureHeader(response);
-
+        SignatureHeader signatureHeader = getSignatureHeader(request);
 
         ProfitSharingNotifyNewResult notifyResult = getProfitSharingNotifyData(notifyData, signatureHeader);
         ProfitSharingNotifyResult result = notifyResult.getResult();
@@ -162,12 +178,19 @@
                 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(),
+                signatureHeader.getNonce(),
+                signatureHeader.getSigned(),
+                signatureHeader.getSerialNo());
+
         return signatureHeader;
     }
 }

--
Gitblit v1.7.1