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