From fc772cecd6b662204909b37c7a68e9e9906e0d57 Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期一, 22 十二月 2025 18:05:26 +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 c4175e2..b91f77f 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
@@ -68,13 +68,12 @@
                 signResult = true;
                 log.info("支付订单号{}【工商银行】大礼包支付回调签名验证成功", payOrderCode);
 
+                // 根据支付订单号查询所有订单
+                LambdaQueryWrapper<TBigGiftPackageOrder> wrapper = new LambdaQueryWrapper<>();
+                wrapper.eq(TBigGiftPackageOrder::getPayOrderCode, payOrderCode);
+                List<TBigGiftPackageOrder> orders = bigGiftPackageOrderService.list(wrapper);
                 if ("0".equals(returnCode)) {
                     log.info("支付订单号{}【工商银行】大礼包支付成功", payOrderCode);
-
-                    // 根据支付订单号查询所有订单
-                    LambdaQueryWrapper<TBigGiftPackageOrder> wrapper = new LambdaQueryWrapper<>();
-                    wrapper.eq(TBigGiftPackageOrder::getPayOrderCode, payOrderCode);
-                    List<TBigGiftPackageOrder> orders = bigGiftPackageOrderService.list(wrapper);
 
                     if (orders == null || orders.isEmpty()) {
                         log.error("支付订单号{}未找到对应的大礼包订单", payOrderCode);
@@ -88,6 +87,9 @@
                     }
                 } else {
                     log.error("支付订单号{}【工商银行】大礼包支付失败,错误信息:{}", payOrderCode, bizContent.getString("return_msg"));
+                    //更新订单状态为已取消
+                    orders.forEach(item->item.setStatus(6));
+                    bigGiftPackageOrderService.updateBatchById(orders);
                 }
             } else {
                 log.error("支付订单号{}【工商银行】大礼包支付回调签名验证失败", payOrderCode);
@@ -185,19 +187,18 @@
             String orderCode = 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() + "/physical/pay-notify")) {
                 signResult = true;
                 log.info("订单{}【工商银行】实物商品支付回调签名验证成功", orderCode);
-
+                // 根据订单编码查询订单
+                LambdaQueryWrapper<TPhysicalGoodsOrder> wrapper = new LambdaQueryWrapper<>();
+                wrapper.eq(TPhysicalGoodsOrder::getCode, orderCode);
+                TPhysicalGoodsOrder order = physicalGoodsOrderService.getOne(wrapper);
                 if ("0".equals(returnCode)) {
                     log.info("订单{}【工商银行】实物商品支付成功", orderCode);
-
-                    // 根据订单编码查询订单
-                    LambdaQueryWrapper<TPhysicalGoodsOrder> wrapper = new LambdaQueryWrapper<>();
-                    wrapper.eq(TPhysicalGoodsOrder::getCode, orderCode);
-                    TPhysicalGoodsOrder order = physicalGoodsOrderService.getOne(wrapper);
 
                     if (order == null) {
                         log.error("订单{}未找到对应的实物商品订单", orderCode);
@@ -208,12 +209,14 @@
                     // 更新订单状态为"完成支付"
                     order.setStatus(2);
                     order.setPaymentTime(LocalDateTime.now());
-                    order.setPaymentSerialNumber(orderCode);
+                    order.setPaymentSerialNumber(orderId);
                     physicalGoodsOrderService.updateById(order);
                     log.info("订单{}状态更新为完成支付", orderCode);
 
                 } else {
                     log.error("订单{}【工商银行】实物商品支付失败,错误信息:{}", orderCode, bizContent.getString("return_msg"));
+                    order.setStatus(5);
+                    physicalGoodsOrderService.updateById(order);
                 }
             } else {
                 log.error("订单{}【工商银行】实物商品支付回调签名验证失败", orderCode);

--
Gitblit v1.7.1