From 6010b19826bddf4c3da2e888949daa37efb44e4c Mon Sep 17 00:00:00 2001 From: TinyAnts Date: Mon, 3 Apr 2023 16:56:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=80=80=E6=AC=BE=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E6=9B=B4=E6=96=B0=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/FinanceRechargerServiceImpl.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/impl/FinanceRechargerServiceImpl.java b/server/like-admin/src/main/java/com/mdd/admin/service/impl/FinanceRechargerServiceImpl.java index a3fae9e2..5d2dfb0e 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/impl/FinanceRechargerServiceImpl.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/impl/FinanceRechargerServiceImpl.java @@ -152,6 +152,7 @@ public class FinanceRechargerServiceImpl implements IFinanceRechargerService { // 开启事务 TransactionStatus transactionStatus = transactionManager.getTransaction(transactionDefinition); + RefundRecord refundRecord = null; RefundLog log = null; try { // 标记退款状态 @@ -175,7 +176,7 @@ public class FinanceRechargerServiceImpl implements IFinanceRechargerService { // 生成退款记录 String refundSn = refundRecordMapper.randMakeOrderSn("sn"); - RefundRecord refundRecord = new RefundRecord(); + refundRecord = new RefundRecord(); refundRecord.setSn(refundSn); refundRecord.setUserId(rechargeOrder.getUserId()); refundRecord.setOrderId(rechargeOrder.getId()); @@ -208,7 +209,11 @@ public class FinanceRechargerServiceImpl implements IFinanceRechargerService { requestV3.setRefundAmount(AmountUtil.yuan2Fen(rechargeOrder.getOrderAmount().toString())); WxPayDriver.refund(requestV3); + // 退款记录更新 + refundRecord.setRefundStatus(RefundEnum.REFUND_SUCCESS.getCode()); + refundRecordMapper.updateById(refundRecord); + // 退款日志更新 log.setRefundStatus(RefundEnum.REFUND_SUCCESS.getCode()); refundLogMapper.updateById(log); transactionManager.commit(transactionStatus); @@ -216,6 +221,11 @@ public class FinanceRechargerServiceImpl implements IFinanceRechargerService { // 事务回滚 transactionManager.rollback(transactionStatus); + if (StringUtils.isNotNull(refundRecord)) { + refundRecord.setRefundStatus(RefundEnum.REFUND_ERROR.getCode()); + refundRecordMapper.updateById(refundRecord); + } + if (StringUtils.isNotNull(log)) { log.setRefundStatus(RefundEnum.REFUND_ERROR.getCode()); refundLogMapper.updateById(log);