From 2748897c53161df3f1911659a73c29c61efb4303 Mon Sep 17 00:00:00 2001 From: zhangli <123879394@qq.com> Date: Fri, 5 Sep 2025 23:58:13 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E7=94=A8=E5=90=8C=E6=AD=A5=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/sczx/pay/mapper/OrderPayMapper.java | 9 +++++---- .../java/com/sczx/pay/service/WechatPayService.java | 12 +++++++----- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/sczx/pay/mapper/OrderPayMapper.java b/src/main/java/com/sczx/pay/mapper/OrderPayMapper.java index 82c22fb..704e377 100644 --- a/src/main/java/com/sczx/pay/mapper/OrderPayMapper.java +++ b/src/main/java/com/sczx/pay/mapper/OrderPayMapper.java @@ -1,9 +1,10 @@ package com.sczx.pay.mapper; import com.sczx.pay.entity.OrderMain; -import com.sczx.pay.entity.PayStatus; -import com.sczx.pay.entity.PaymentRecord; -import org.apache.ibatis.annotations.*; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; +import org.apache.ibatis.annotations.Update; import java.math.BigDecimal; import java.util.Date; @@ -56,7 +57,7 @@ public interface OrderPayMapper { @Param("refundId") String refundId); - @Select("select suborder_id from zc_order_sub where payment_id = #{paymentId}") + @Select("select suborder_id from zc_order_sub where payment_id = #{paymentId} and suborder_type = 'RENTBATTEY' limit 1") Long getSubOrderIdByTradeNo(@Param("paymentId") String paymentId); diff --git a/src/main/java/com/sczx/pay/service/WechatPayService.java b/src/main/java/com/sczx/pay/service/WechatPayService.java index 6e60013..3409bf5 100644 --- a/src/main/java/com/sczx/pay/service/WechatPayService.java +++ b/src/main/java/com/sczx/pay/service/WechatPayService.java @@ -407,20 +407,22 @@ public class WechatPayService { logger.info("微信支付记录状态已更新,订单号: {}, 微信交易号: {}", outTradeNo, transactionId); //更新主订单状态 OrderMain orderMain = orderPayMapper.getOrderStatusByOrderNo(outTradeNo); - String subOrderId = orderPayMapper.getSubOrderIdByTradeNo(outTradeNo).toString(); + String OrderStatus = orderMain.getOrderStatus(); if(OrderStatus.equals("WAIT_PAY")){ orderPayMapper.updateOrderStatus(orderMain.getOrderNo(),"WAIT_PICK"); + String subOrderId = orderPayMapper.getSubOrderIdByTradeNo(outTradeNo).toString(); + if (!subOrderId.isEmpty()) { + String result = sendSubOrderId(subOrderId); + logger.info("调用subOrder接口结果: {}", result); + } }else if (OrderStatus.equals("RERENT_WAIT_PAY")){ orderPayMapper.updateOrderStatus(orderMain.getOrderNo(),"RENT_ING"); } orderPayMapper.updateSubOrderPaymentStatus(outTradeNo,"WX_PAY",PayStatus.SUCCESS.getCode(),transactionId); - if (subOrderId != null && !subOrderId.isEmpty()) { - String result = sendSubOrderId(subOrderId); - logger.info("调用subOrder接口结果: {}", result); - } + return true; } else { logger.warn("未找到对应的微信支付记录,订单号: {}", outTradeNo);