From fc6eecc821a1255ecca1125c05c025863d92f066 Mon Sep 17 00:00:00 2001 From: "kuang.yife" Date: Wed, 23 Nov 2022 00:00:57 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=98=E6=AC=BE=E5=9B=9E=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ghy/payment/mapper/FinancialMasterMapper.java | 4 ++-- .../service/impl/FinancialMasterServiceImpl.java | 15 ++++++++++++--- .../payment/service/impl/PayCallbackService.java | 7 +------ .../mapper/financial/FinancialMasterMapper.xml | 2 +- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/ghy-payment/src/main/java/com/ghy/payment/mapper/FinancialMasterMapper.java b/ghy-payment/src/main/java/com/ghy/payment/mapper/FinancialMasterMapper.java index 531311e4..90ee4819 100644 --- a/ghy-payment/src/main/java/com/ghy/payment/mapper/FinancialMasterMapper.java +++ b/ghy-payment/src/main/java/com/ghy/payment/mapper/FinancialMasterMapper.java @@ -47,10 +47,10 @@ public interface FinancialMasterMapper { /** * 支付成功 * - * @param paymentId 支付ID + * @param id ID * @param payType 支付渠道 */ - void paySucceeded(@Param(value = "paymentId") String paymentId, @Param(value = "payType") int payType); + void paySucceeded(@Param(value = "id") Long id, @Param(value = "payType") int payType); /** * 支付成功 diff --git a/ghy-payment/src/main/java/com/ghy/payment/service/impl/FinancialMasterServiceImpl.java b/ghy-payment/src/main/java/com/ghy/payment/service/impl/FinancialMasterServiceImpl.java index 0d720ba7..addb2009 100644 --- a/ghy-payment/src/main/java/com/ghy/payment/service/impl/FinancialMasterServiceImpl.java +++ b/ghy-payment/src/main/java/com/ghy/payment/service/impl/FinancialMasterServiceImpl.java @@ -13,6 +13,7 @@ import com.ghy.payment.service.FinancialMasterService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.time.LocalDateTime; @@ -97,9 +98,17 @@ public class FinancialMasterServiceImpl implements FinancialMasterService { payType = -1; logger.error("paymentId[{}] Unknown payChannel [{}]!", paymentId, payChannel); } - FinancialMaster financialMaster = financialMasterMapper.selectByPaymentId(paymentId); - financialMasterMapper.updateOrderStatus(financialMaster.getOrderMasterCode(), PayStatus.PAID.getCode()); - financialMasterMapper.paySucceeded(paymentId, payType); + PaymentDTO paymentDTO = paymentMapper.selectById(paymentId); + String orderMasterCode = paymentDTO.getOrderNo().split("_")[0]; + FinancialMaster param = new FinancialMaster(); + param.setOrderMasterCode(orderMasterCode); + List result = financialMasterMapper.selectFinancialMasterList(param); + if(!CollectionUtils.isEmpty(result)){ + financialMasterMapper.updateOrderStatus(result.get(0).getOrderMasterCode(), PayStatus.PAID.getCode()); + financialMasterMapper.paySucceeded(result.get(0).getId(), payType); + }else { + logger.error("原单不存在!"); + } } @Override diff --git a/ghy-payment/src/main/java/com/ghy/payment/service/impl/PayCallbackService.java b/ghy-payment/src/main/java/com/ghy/payment/service/impl/PayCallbackService.java index 8b610757..5e7c3288 100644 --- a/ghy-payment/src/main/java/com/ghy/payment/service/impl/PayCallbackService.java +++ b/ghy-payment/src/main/java/com/ghy/payment/service/impl/PayCallbackService.java @@ -112,12 +112,7 @@ public class PayCallbackService implements CallBackService { String status = payment.getStatus(); financialMasterService.insertPayment(payment); - if (AdapayStatusEnum.succeeded.code.equals(status)) { - FinancialMaster update = new FinancialMaster(); - update.setOrderMasterCode(payment.getOrderNo().split("_")[0]); - update.setPaymentId(payment.getId()); - financialMasterService.updateFinancialMaster(update); - } else { + if (!AdapayStatusEnum.succeeded.code.equals(status)) { logger.warn("发起支付失败 : {}", response.toJSONString()); } } diff --git a/ghy-payment/src/main/resources/mapper/financial/FinancialMasterMapper.xml b/ghy-payment/src/main/resources/mapper/financial/FinancialMasterMapper.xml index 5b7a24d1..448ade9b 100644 --- a/ghy-payment/src/main/resources/mapper/financial/FinancialMasterMapper.xml +++ b/ghy-payment/src/main/resources/mapper/financial/FinancialMasterMapper.xml @@ -115,7 +115,7 @@ pay_type = #{payType}, pay_time = SYSDATE(), update_time = SYSDATE() - WHERE payment_id = #{paymentId} + WHERE id = #{id}