From 0d0a028920745bcdc5d9ddbf0ab3cbccfe167c63 Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期三, 27 十一月 2024 14:24:36 +0800
Subject: [PATCH] 568-供应商财务统计优化:查询速度慢

---
 src/main/java/com/mzl/flower/web/v2/wallet/WalletController.java |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/mzl/flower/web/v2/wallet/WalletController.java b/src/main/java/com/mzl/flower/web/v2/wallet/WalletController.java
index 208b7b0..5f9406b 100644
--- a/src/main/java/com/mzl/flower/web/v2/wallet/WalletController.java
+++ b/src/main/java/com/mzl/flower/web/v2/wallet/WalletController.java
@@ -9,6 +9,7 @@
 import com.mzl.flower.dto.request.wallet.QueryWalletDTO;
 import com.mzl.flower.dto.response.supplier.SupplierDTO;
 import com.mzl.flower.service.supplier.SupplierService;
+import com.mzl.flower.service.wallet.WalletBillRecordService;
 import com.mzl.flower.service.wallet.WalletService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -36,6 +37,9 @@
 
     @Autowired
     private SupplierService supplierService;
+
+    @Autowired
+    private WalletBillRecordService walletBillRecordService;
 
     @PostMapping("")
     public ResponseEntity<ReturnDataDTO> create() {
@@ -71,12 +75,17 @@
         if(null!=walletDO){
             // 根据当前供应商获取待结算的钱
             BigDecimal waittingSettlementAmount = walletService.getWaittingSettlementAmount(walletDO);
+            // 获取已经提现和已结算的钱
+            BigDecimal historyAmount = walletBillRecordService.getHistoryAmount(walletDO.getId(), walletDO.getSupplierId());
+            //已提现
+            walletDO.setWithdrawnAmount(walletDO.getWithdrawnAmount().add(historyAmount));
+            //已结算
+            walletDO.setSettledAmount(walletDO.getSettledAmount().add(historyAmount));
             walletDO.setSettlingAmount(waittingSettlementAmount);
             // 总交易额度
             walletDO.setTotalTransactionAmount(walletService.getSupplierTotalTransactionAmount(walletDO));
             // 总扣款数量
             walletDO.setTotalDeduction(walletService.getSupplierDeductAmount(walletDO));
-
         }
 
         return returnData(R.SUCCESS.getCode(), walletDO);

--
Gitblit v1.9.3