“mitao”
2025-12-22 fc772cecd6b662204909b37c7a68e9e9906e0d57
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);