From 700cbb19a285e639bb05404503efa3da9988c083 Mon Sep 17 00:00:00 2001
From: longz <longzhaoz@qq.com>
Date: 星期二, 21 七月 2026 22:53:55 +0800
Subject: [PATCH] 分账可开关
---
ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/controller/IcbcPayController.java | 19 +++++++++++++++++--
1 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/controller/IcbcPayController.java b/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/controller/IcbcPayController.java
index 54f6821..7e26bcd 100644
--- a/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/controller/IcbcPayController.java
+++ b/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/controller/IcbcPayController.java
@@ -4,6 +4,7 @@
import com.alibaba.fastjson.JSONObject;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.order.api.feignClient.ChargingOrderClient;
+import com.ruoyi.order.api.feignClient.OrderClient;
import com.ruoyi.payment.api.vo.IcbcPaymentReq;
import com.ruoyi.payment.api.vo.IcbcPaymentResp;
import com.ruoyi.payment.api.vo.IcbcRefundReq;
@@ -51,6 +52,9 @@
@Resource
private ChargingOrderClient chargingOrderClient;
+
+ @Resource
+ private OrderClient orderClient;
@PostMapping("/payment")
public R<IcbcPaymentResp> payment(@RequestBody IcbcPaymentReq req) {
@@ -242,7 +246,7 @@
callback.get("out_trade_no"), callback.get("transaction_id"));
}
log.info("工行支付回调解析结果:{}", JSON.toJSONString(callback));
- dispatchChargingOrderCallback(callback);
+ dispatchPaymentCallback(callback);
success = true;
} catch (Exception e) {
log.error("工行支付回调处理失败,已记录原始请求并返回fail等待重试", e);
@@ -304,7 +308,7 @@
return values == null || values.length == 0 ? null : values[0];
}
- private void dispatchChargingOrderCallback(Map<String, String> callback) {
+ void dispatchPaymentCallback(Map<String, String> callback) {
String outTradeNo = callback.get("out_trade_no");
String transactionId = callback.get("transaction_id");
String attach = callback.get("attach");
@@ -312,6 +316,17 @@
log.info("工行测试支付回调成功,订单号:{},流水号:{},支付类型:{}", outTradeNo, transactionId, attach);
return;
}
+ if (outTradeNo != null && outTradeNo.startsWith("HY")) {
+ orderClient.vipCallBack(outTradeNo, transactionId);
+ return;
+ }
+ if (outTradeNo != null && outTradeNo.startsWith("GW")) {
+ orderClient.callBack(outTradeNo, transactionId);
+ return;
+ }
+ if (outTradeNo == null || !outTradeNo.startsWith("CD")) {
+ throw new IllegalArgumentException("工行回调订单类型不支持:" + outTradeNo);
+ }
Integer paymentType = Integer.valueOf(attach);
if (Integer.valueOf(1).equals(paymentType)) {
chargingOrderClient.chargingOrderWXCallback(outTradeNo, transactionId, attach);
--
Gitblit v1.7.1