From ae1471f378f399f76518539ec8992e64a3673436 Mon Sep 17 00:00:00 2001
From: 陶杰 <1378534974@qq.com>
Date: 星期三, 08 一月 2025 15:26:06 +0800
Subject: [PATCH] 1.订单提交:订单最小金额配置

---
 src/main/java/com/mzl/flower/web/v2/wallet/WalletController.java |   50 +++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 45 insertions(+), 5 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 5a545c3..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
@@ -5,17 +5,22 @@
 import com.mzl.flower.base.BaseController;
 import com.mzl.flower.base.R;
 import com.mzl.flower.base.ReturnDataDTO;
+import com.mzl.flower.config.exception.ValidationException;
 import com.mzl.flower.dto.request.wallet.QueryWalletDTO;
-import com.mzl.flower.entity.wallet.WalletBillRecordDO;
+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;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 import com.mzl.flower.entity.wallet.WalletDO;
 
-import javax.validation.constraints.Min;
-import javax.validation.constraints.Max;
 import javax.validation.constraints.Positive;
+import java.math.BigDecimal;
 
 /**
 * @author @TaoJie
@@ -23,10 +28,18 @@
 */
 @RestController
 @RequestMapping("/v2/wallet")
+@Api(value = "供应商-钱包", tags = "供应商-钱包")
+@Validated
 public class WalletController extends BaseController {
 
     @Autowired
     private WalletService walletService;
+
+    @Autowired
+    private SupplierService supplierService;
+
+    @Autowired
+    private WalletBillRecordService walletBillRecordService;
 
     @PostMapping("")
     public ResponseEntity<ReturnDataDTO> create() {
@@ -46,14 +59,41 @@
     }
 
     @GetMapping("/{id}")
-    public WalletDO get(@PathVariable(value = "id") @Positive(message = "{id.positive}") Integer id) {
+    public ResponseEntity<ReturnDataDTO> get(@PathVariable(value = "id") @Positive(message = "{id.positive}") Integer id) {
         return null;
+    }
+
+    @GetMapping("/supplier")
+    @ApiOperation(value = "获取供应商钱包", notes = "获取供应商钱包")
+    public ResponseEntity<ReturnDataDTO> getWalletBySupplierId() {
+        // 判断供应商是否存在
+        final SupplierDTO currentSupplier = supplierService.getCurrentSupplier();
+        if(null==currentSupplier){
+            throw new ValidationException("供应商不能为空");
+        }
+        final WalletDO walletDO = walletService.getCurrentSupplier();
+        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);
     }
 
     @GetMapping("/page")
     public ResponseEntity<ReturnDataDTO<Page<WalletDO>>> page(@RequestBody QueryWalletDTO dto
     ) {
-        // 帮我写分页查询
 
         return null;
     }

--
Gitblit v1.9.3