From b82e78ceb8f52b05203f05eb4b14151b1ab408a2 Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期三, 24 十二月 2025 18:52:23 +0800
Subject: [PATCH] feat:下单功能联调及短信对接
---
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ICBCNotifyServiceImpl.java | 27 +++++++++++++++------------
1 files changed, 15 insertions(+), 12 deletions(-)
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ICBCNotifyServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ICBCNotifyServiceImpl.java
index 82f2ef2..e82aa95 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ICBCNotifyServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ICBCNotifyServiceImpl.java
@@ -9,6 +9,8 @@
import com.icbc.api.utils.IcbcSignature;
import com.icbc.api.utils.WebUtils;
import com.ruoyi.system.config.ICBCConfig;
+import com.ruoyi.system.enums.BigGiftPackageOrderStatusEnum;
+import com.ruoyi.system.enums.PhysicalGoodsOrderStatusEnum;
import com.ruoyi.system.model.TBigGiftPackageOrder;
import com.ruoyi.system.model.TPhysicalGoodsOrder;
import com.ruoyi.system.service.*;
@@ -62,7 +64,7 @@
String payOrderCode = bizContent.getString("out_trade_no");
String returnCode = bizContent.getString("return_code");
msgId = bizContent.getString("msg_id");
-
+ String orderId = bizContent.getString("order_id");
// 验签
if (validateSignature(request, icbcConfig.getNotifyUrlMethod() + "/big-gift/pay-notify")) {
signResult = true;
@@ -83,12 +85,12 @@
// 处理每个订单
for (TBigGiftPackageOrder order : orders) {
- processBigGiftPayment(order);
+ processBigGiftPayment(order, orderId);
}
} else {
log.error("支付订单号{}【工商银行】大礼包支付失败,错误信息:{}", payOrderCode, bizContent.getString("return_msg"));
//更新订单状态为已取消
- orders.forEach(item->item.setStatus(6));
+ orders.forEach(item->item.setStatus(BigGiftPackageOrderStatusEnum.CANCELED.getCode()));
bigGiftPackageOrderService.updateBatchById(orders);
}
} else {
@@ -142,9 +144,10 @@
}
// 更新订单状态为"完成支付"
- order.setStatus(3);
+ order.setStatus(BigGiftPackageOrderStatusEnum.PAID.getCode());
order.setFinalPaymentTime(LocalDateTime.now());
- order.setFinalPaymentSerialNumber(finalPayOrderCode);
+ order.setFinalPaymentThirdSerialNumber(orderId);
+ order.setPaymentPrice(order.getPaymentPrice().add(order.getFinalPayment()));
bigGiftPackageOrderService.updateById(order);
log.info("订单{}状态更新为完成支付", order.getCode());
@@ -207,7 +210,7 @@
}
// 更新订单状态为"完成支付"
- order.setStatus(2);
+ order.setStatus(PhysicalGoodsOrderStatusEnum.PAID.getCode());
order.setPaymentTime(LocalDateTime.now());
order.setPaymentSerialNumber(orderId);
physicalGoodsOrderService.updateById(order);
@@ -215,7 +218,7 @@
} else {
log.error("订单{}【工商银行】实物商品支付失败,错误信息:{}", orderCode, bizContent.getString("return_msg"));
- order.setStatus(5);
+ order.setStatus(PhysicalGoodsOrderStatusEnum.CANCELED.getCode());
physicalGoodsOrderService.updateById(order);
}
} else {
@@ -232,21 +235,21 @@
/**
* 处理大礼包支付(定金或全款)
*/
- private void processBigGiftPayment(TBigGiftPackageOrder order) {
+ private void processBigGiftPayment(TBigGiftPackageOrder order, String orderId) {
Integer paymentType = order.getPaymentType();
if (paymentType == 1) {
// 订金+尾款模式,更新状态为"已付订金"
- order.setStatus(2);
+ order.setStatus(BigGiftPackageOrderStatusEnum.DEPOSIT_PAID.getCode());
order.setDepositTime(LocalDateTime.now());
- order.setDepositPaymentSerialNumber(order.getPayOrderCode());
+ order.setDepositPaymentThirdSerialNumber(orderId);
bigGiftPackageOrderService.updateById(order);
log.info("订单{}状态更新为已付订金,不计算分佣", order.getCode());
} else if (paymentType == 2) {
// 全款模式,更新状态为"完成支付"
- order.setStatus(3);
+ order.setStatus(BigGiftPackageOrderStatusEnum.PAID.getCode());
order.setDepositTime(LocalDateTime.now());
- order.setDepositPaymentSerialNumber(order.getPayOrderCode());
+ order.setDepositPaymentThirdSerialNumber(orderId);
bigGiftPackageOrderService.updateById(order);
log.info("订单{}状态更新为完成支付", order.getCode());
--
Gitblit v1.7.1