From 081a9491fde01713ef372ce0c9b825b2d4c3358b Mon Sep 17 00:00:00 2001 From: eric <465889110@qq.com> Date: Thu, 28 Aug 2025 10:46:13 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=96totoalfee=E4=B8=BA=E5=AE=9E=E9=99=85?= =?UTF-8?q?=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/sczx/pay/service/WechatPayService.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/sczx/pay/service/WechatPayService.java b/src/main/java/com/sczx/pay/service/WechatPayService.java index 06ef156..46f8672 100644 --- a/src/main/java/com/sczx/pay/service/WechatPayService.java +++ b/src/main/java/com/sczx/pay/service/WechatPayService.java @@ -259,6 +259,7 @@ public class WechatPayService { reqData.put("total_fee", String.valueOf(paymentRecord.getTotalFee().setScale(2, RoundingMode.HALF_UP) .movePointRight(2) .intValueExact()));// 转换为分 reqData.put("refund_fee", String.valueOf(request.getRefundFee())); reqData.put("notify_url",refundNotifyUrl); + BigDecimal totalFee = paymentRecord.getTotalFee(); // 创建动态配置 @@ -282,7 +283,7 @@ public class WechatPayService { // 记录退款信息到数据库 if ("SUCCESS".equals(result.get("return_code"))) { - recordRefundInfo(request, companyConfig, result); + recordRefundInfo(request, companyConfig, result,totalFee); } return result; @@ -291,13 +292,13 @@ public class WechatPayService { /** * 记录退款信息到数据库 */ - private void recordRefundInfo(RefundRequest request, CompanyWechatConfig companyConfig, Map result) { + private void recordRefundInfo(RefundRequest request, CompanyWechatConfig companyConfig, Map result,BigDecimal totalFee) { try { RefundRecord refundRecord = new RefundRecord(); refundRecord.setCompanyId(request.getCompanyId()); refundRecord.setOutTradeNo(request.getOutTradeNo()); refundRecord.setOutRefundNo(request.getOutRefundNo()); - refundRecord.setTotalFee(new BigDecimal(request.getTotalFee()).divide(new BigDecimal(100))); // 转换为元 + refundRecord.setTotalFee(totalFee); refundRecord.setRefundFee(new BigDecimal(request.getRefundFee()).divide(new BigDecimal(100))); // 转换为元 refundRecord.setRefundDesc(request.getRefundDesc()); refundRecord.setCreateTime(new Date());