From 656d6f8029f8bf9b2daa9dcc89101a879a70b860 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期三, 03 十二月 2025 23:10:05 +0800
Subject: [PATCH] feat:优先添加执行人

---
 dryad-payment/src/main/java/com/ruoyi/payment/interfaces/controller/PaymentNotifyController.java |  103 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 101 insertions(+), 2 deletions(-)

diff --git a/dryad-payment/src/main/java/com/ruoyi/payment/interfaces/controller/PaymentNotifyController.java b/dryad-payment/src/main/java/com/ruoyi/payment/interfaces/controller/PaymentNotifyController.java
index c8721a8..0a29962 100644
--- a/dryad-payment/src/main/java/com/ruoyi/payment/interfaces/controller/PaymentNotifyController.java
+++ b/dryad-payment/src/main/java/com/ruoyi/payment/interfaces/controller/PaymentNotifyController.java
@@ -37,7 +37,7 @@
      * 寰俊鏀粯鍥炶皟
      */
     @Anonymous
-    @PostMapping("/wechat")
+    @PostMapping("/wechat/notify")
     public String wechatNotify(HttpServletRequest request) {
         try {
             log.info("鎺ユ敹鍒板井淇℃敮浠樺洖璋�");
@@ -78,7 +78,7 @@
      * 鏀粯瀹濆洖璋�
      */
     @Anonymous
-    @PostMapping("/alipay")
+    @PostMapping("/alipay/notify")
     public String alipayNotify(HttpServletRequest request) {
         try {
             log.info("鎺ユ敹鍒版敮浠樺疂鍥炶皟");
@@ -113,6 +113,105 @@
     }
 
     /**
+     * 绗笁鏂规敮浠樺疂鍥炶皟锛圙ET璇锋眰锛�
+     * <p>
+     * 绗笁鏂规敮浠樺疂閫氳繃GET鏂瑰紡鍥炶皟锛屽弬鏁伴�氳繃URL浼犻��
+     * <p>
+     * 鍙傛暟鏍煎紡锛�
+     * method=xxx&APPID=xxx&PaidMoneyType=xxx&PaidMoney=xxx&PaidRemarks=xxx&UnixTime=xxx&Sign=xxx
+     * <p>
+     * 鍙傛暟璇存槑锛�
+     * - method: 鏂规硶鍚�
+     * - APPID: 搴旂敤ID
+     * - PaidMoneyType: 鏀粯绫诲瀷
+     * - PaidMoney: 鏀粯閲戦锛堝崟浣嶏細鍒嗭級
+     * - PaidRemarks: 鏀粯澶囨敞锛堝寘鍚鍗曞彿鍜屼氦鏄撳彿淇℃伅锛�
+     * - UnixTime: 鏃堕棿鎴�
+     * - Sign: 绛惧悕
+     * <p>
+     * 绀轰緥锛�
+     * GET /api/pay/notify/alipay/thirdparty?method=alipay.pay&APPID=123456&PaidMoneyType=alipay&PaidMoney=100&PaidRemarks=1234567890&UnixTime=1638360000&Sign=abc123
+     */
+    @Anonymous
+    @GetMapping("/alipay/thirdparty")
+    public String alipayThirdPartyNotify(HttpServletRequest request) {
+        try {
+            log.info("鎺ユ敹鍒扮涓夋柟鏀粯瀹濆洖璋冿紙GET璇锋眰锛�");
+            
+            // 1. 鑾峰彇鎵�鏈夊弬鏁�
+            Map<String, String> params = new HashMap<>();
+            Enumeration<String> parameterNames = request.getParameterNames();
+            while (parameterNames.hasMoreElements()) {
+                String name = parameterNames.nextElement();
+                params.put(name, request.getParameter(name));
+            }
+            
+            log.info("绗笁鏂规敮浠樺疂鍥炶皟鍙傛暟: {}", params);
+            
+            // 2. 绗笁鏂规敮浠樺疂涓嶉渶瑕侀獙绛撅紝鎴栬�呮牴鎹涓夋柟骞冲彴鐨勭鍚嶈鍒欒繘琛岄獙璇�
+            // 杩欓噷鐩存帴澶勭悊锛屽鏋滈渶瑕侀獙绛惧彲浠ュ湪Service灞傛坊鍔�
+            
+            // 3. 澶勭悊鍥炶皟锛堟洿鏂拌鍗曠姸鎬併�佽Е鍙戜笟鍔″洖璋冿級
+            paymentNotifyService.processAlipayThirdPartyNotify(params);
+            
+            // 4. 杩斿洖绗笁鏂规敮浠樺疂瑕佹眰鐨勫簲绛�
+            return "success";
+        } catch (Exception e) {
+            log.error("澶勭悊绗笁鏂规敮浠樺疂鍥炶皟澶辫触", e);
+            return "fail";
+        }
+    }
+
+    /**
+     * 绗笁鏂瑰井淇″洖璋冿紙GET璇锋眰锛�
+     * <p>
+     * 绗笁鏂瑰井淇¢�氳繃GET鏂瑰紡鍥炶皟锛屽弬鏁伴�氳繃URL浼犻��
+     * <p>
+     * 鍙傛暟鏍煎紡锛�
+     * method=xxx&APPID=xxx&PaidMoneyType=xxx&PaidMoney=xxx&PaidRemarks=xxx&UnixTime=xxx
+     * <p>
+     * 鍙傛暟璇存槑锛�
+     * - method: 鏂规硶鍚�
+     * - APPID: 搴旂敤ID
+     * - PaidMoneyType: 鏀粯绫诲瀷
+     * - PaidMoney: 鏀粯閲戦锛堝崟浣嶏細鍒嗭級
+     * - PaidRemarks: 鏀粯澶囨敞锛堝寘鍚鍗曞彿鍜屼氦鏄撳彿淇℃伅锛�
+     * - UnixTime: 鏃堕棿鎴�
+     * <p>
+     * 绀轰緥锛�
+     * GET /api/pay/notify/wechat/thirdparty?method=wechat.pay&APPID=123456&PaidMoneyType=wechat&PaidMoney=100&PaidRemarks=1234567890&UnixTime=1638360000
+     */
+    @Anonymous
+    @GetMapping("/wechat/thirdparty")
+    public String wechatThirdPartyNotify(HttpServletRequest request) {
+        try {
+            log.info("鎺ユ敹鍒扮涓夋柟寰俊鍥炶皟锛圙ET璇锋眰锛�");
+            
+            // 1. 鑾峰彇鎵�鏈夊弬鏁�
+            Map<String, String> params = new HashMap<>();
+            Enumeration<String> parameterNames = request.getParameterNames();
+            while (parameterNames.hasMoreElements()) {
+                String name = parameterNames.nextElement();
+                params.put(name, request.getParameter(name));
+            }
+            
+            log.info("绗笁鏂瑰井淇″洖璋冨弬鏁�: {}", params);
+            
+            // 2. 绗笁鏂瑰井淇′笉闇�瑕侀獙绛撅紝鎴栬�呮牴鎹涓夋柟骞冲彴鐨勭鍚嶈鍒欒繘琛岄獙璇�
+            // 杩欓噷鐩存帴澶勭悊锛屽鏋熼渶瑕侀獙绛惧彲浠ュ湪Service灞傛坊鍔�
+            
+            // 3. 澶勭悊鍥炶皟锛堟洿鏂拌鍗曠姸鎬併�佽Е鍙戜笟鍔″洖璋冿級
+            paymentNotifyService.processWechatThirdPartyNotify(params);
+            
+            // 4. 杩斿洖绗笁鏂瑰井淇¤姹傜殑搴旂瓟
+            return "success";
+        } catch (Exception e) {
+            log.error("澶勭悊绗笁鏂瑰井淇″洖璋冨け璐�", e);
+            return "fail";
+        }
+    }
+
+    /**
      * 璇诲彇璇锋眰浣�
      */
     private String readRequestBody(HttpServletRequest request) throws Exception {

--
Gitblit v1.9.1