From d19b094bde681e2a261ff28a088dd969b68ac65c Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期四, 24 十月 2024 15:26:40 +0800
Subject: [PATCH] fix:结算

---
 src/main/java/com/mzl/flower/service/payment/OrderSettlementService.java |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/mzl/flower/service/payment/OrderSettlementService.java b/src/main/java/com/mzl/flower/service/payment/OrderSettlementService.java
index 3fa2f6a..a8fcc7e 100644
--- a/src/main/java/com/mzl/flower/service/payment/OrderSettlementService.java
+++ b/src/main/java/com/mzl/flower/service/payment/OrderSettlementService.java
@@ -783,14 +783,19 @@
                         WalletDO walletDOInfo = walletService.getCurrentSupplier();
                         //增加供应商结算金额保存到钱包
                         walletBillRecord.setSupplierId(s.getId());
+                        walletBillRecord.setWalletId(walletDOInfo.getId());
                         walletBillRecord.setSettlementId(settlement.getId());
                         walletBillRecord.setType(Constants.BILL_CHANGE_TYPE.settlement.name());
                         walletBillRecord.setMethod(Constants.BILL_CHANGE_METHOD.add.name());
                         walletBillRecord.setOriginalAmount(walletDOInfo.getTotalAmount());
                         walletBillRecord.setChangeAmount(settlementAmount);
-                        walletBillRecord.setBalance(walletDOInfo.getTotalAmount().add(settlementAmount));
+                        walletBillRecord.setBalance(walletDOInfo.getWithdrawableAmount().add(settlementAmount));
                         //更新钱包
-                        walletDOInfo.setTotalAmount(walletBillRecord.getBalance());
+                        //可提现金额=钱包余额=结算金额
+                        walletDOInfo.setWithdrawableAmount(walletDOInfo.getWithdrawableAmount().add(settlementAmount));
+                        walletDOInfo.setTotalAmount(walletDOInfo.getWithdrawableAmount());
+                        //已结算金额
+                        walletDOInfo.setSettledAmount(walletDOInfo.getSettledAmount().add(settlementAmount));
                         walletMapper.updateById(walletDOInfo);
                         walletBillRecordMapper.insert(walletBillRecord);
                     } finally {

--
Gitblit v1.9.3