From 009ad0e437cf1593e5f3ef123607b252633f3749 Mon Sep 17 00:00:00 2001
From: 陶杰 <1378534974@qq.com>
Date: 星期一, 28 十月 2024 17:19:47 +0800
Subject: [PATCH] 1.提现记录-待审核

---
 src/main/java/com/mzl/flower/service/impl/wallet/WalletWithdrawRecordServiceImpl.java |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/mzl/flower/service/impl/wallet/WalletWithdrawRecordServiceImpl.java b/src/main/java/com/mzl/flower/service/impl/wallet/WalletWithdrawRecordServiceImpl.java
index 9a6fbbe..985b53c 100644
--- a/src/main/java/com/mzl/flower/service/impl/wallet/WalletWithdrawRecordServiceImpl.java
+++ b/src/main/java/com/mzl/flower/service/impl/wallet/WalletWithdrawRecordServiceImpl.java
@@ -117,12 +117,22 @@
 
                     // 1.新增一条余额提现记录
                     WalletWithdrawRecordDO withdrawRecordDO = new WalletWithdrawRecordDO();
+                    //原金额
+                    withdrawRecordDO.setOriginalAmount(walletDO.getWithdrawableAmount());
+                    // 变动金额
+                    withdrawRecordDO.setChangeAmount(dto.getAmount());
+                    // 余额
+                    withdrawRecordDO.setBalance(walletDO.getWithdrawableAmount().subtract(dto.getAmount()));
                     withdrawRecordDO.setAmount(dto.getAmount());
                     withdrawRecordDO.setSupplierId(supplierDTO.getId());
                     withdrawRecordDO.setWithdrawState(Constants.WALLET_WITHDRAW_STATE.WAITING.name());
                     withdrawRecordDO.setMethod(Constants.WALLET_WITHDRAW_METHOD.WEIXIN.name());
                     withdrawRecordDO.setWithdrawType(Constants.WALLET_WITHDRAW_TYPE.BALANCE.name());
+                    // 待审核状态
+                    withdrawRecordDO.setApproveState(Constants.WALLET_APPROVE_STATE.WAITING.name());
+
                     withdrawRecordDO.create(SecurityUtils.getUserId());
+
                     // 保存余额提现记录
                     save(withdrawRecordDO);
 
@@ -246,7 +256,7 @@
             //更新钱包
             Supplier s = supplierMapper.selectById(withdrawRecordDO.getSupplierId());
 
-            WalletDO walletDO = walletService.getBySupplierId(s.getId());
+            WalletDO walletDO = walletService.getOrCreateBySupplierId(s.getId());
             RLock lock = redissonClient.getLock(String.format(LockConstants.WALLET_ID_KEY, walletDO.getId()));
             try {
                 if (lock.tryLock(10, 30, TimeUnit.SECONDS)) {

--
Gitblit v1.9.3