From 66f57ebef36c03353609ad3b2b6623396b5061a4 Mon Sep 17 00:00:00 2001
From: 陶杰 <1378534974@qq.com>
Date: 星期一, 28 十月 2024 15:06:54 +0800
Subject: [PATCH] 1.供应商-钱包创建并发控制

---
 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