取totoalfee为实际值

This commit is contained in:
2025-08-28 10:46:13 +08:00
parent 0b1b84a721
commit 081a9491fd

View File

@ -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("total_fee", String.valueOf(paymentRecord.getTotalFee().setScale(2, RoundingMode.HALF_UP) .movePointRight(2) .intValueExact()));// 转换为分
reqData.put("refund_fee", String.valueOf(request.getRefundFee())); reqData.put("refund_fee", String.valueOf(request.getRefundFee()));
reqData.put("notify_url",refundNotifyUrl); reqData.put("notify_url",refundNotifyUrl);
BigDecimal totalFee = paymentRecord.getTotalFee();
// 创建动态配置 // 创建动态配置
@ -282,7 +283,7 @@ public class WechatPayService {
// 记录退款信息到数据库 // 记录退款信息到数据库
if ("SUCCESS".equals(result.get("return_code"))) { if ("SUCCESS".equals(result.get("return_code"))) {
recordRefundInfo(request, companyConfig, result); recordRefundInfo(request, companyConfig, result,totalFee);
} }
return result; return result;
@ -291,13 +292,13 @@ public class WechatPayService {
/** /**
* 记录退款信息到数据库 * 记录退款信息到数据库
*/ */
private void recordRefundInfo(RefundRequest request, CompanyWechatConfig companyConfig, Map<String, String> result) { private void recordRefundInfo(RefundRequest request, CompanyWechatConfig companyConfig, Map<String, String> result,BigDecimal totalFee) {
try { try {
RefundRecord refundRecord = new RefundRecord(); RefundRecord refundRecord = new RefundRecord();
refundRecord.setCompanyId(request.getCompanyId()); refundRecord.setCompanyId(request.getCompanyId());
refundRecord.setOutTradeNo(request.getOutTradeNo()); refundRecord.setOutTradeNo(request.getOutTradeNo());
refundRecord.setOutRefundNo(request.getOutRefundNo()); 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.setRefundFee(new BigDecimal(request.getRefundFee()).divide(new BigDecimal(100))); // 转换为元
refundRecord.setRefundDesc(request.getRefundDesc()); refundRecord.setRefundDesc(request.getRefundDesc());
refundRecord.setCreateTime(new Date()); refundRecord.setCreateTime(new Date());