From 2c5a0e133b64bb0a46b1419c48e9b62a4779e268 Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期一, 09 十二月 2024 16:13:17 +0800
Subject: [PATCH] add: 供应商子账号

---
 src/main/java/com/mzl/flower/web/v2/wallet/WalletWithdrawRecordController.java |   65 ++++++++++++++++++++------------
 1 files changed, 40 insertions(+), 25 deletions(-)

diff --git a/src/main/java/com/mzl/flower/web/v2/wallet/WalletWithdrawRecordController.java b/src/main/java/com/mzl/flower/web/v2/wallet/WalletWithdrawRecordController.java
index a4ec014..e3bdbc9 100644
--- a/src/main/java/com/mzl/flower/web/v2/wallet/WalletWithdrawRecordController.java
+++ b/src/main/java/com/mzl/flower/web/v2/wallet/WalletWithdrawRecordController.java
@@ -5,17 +5,21 @@
 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.config.security.SecurityUtils;
+import com.mzl.flower.constant.Constants;
+import com.mzl.flower.dto.request.wallet.QueryWalletWithdrawDTO;
+import com.mzl.flower.dto.request.wallet.WalletWithdrawRecordDTO;
+import com.mzl.flower.dto.response.wallet.WalletWithdrawRecordVO;
+import com.mzl.flower.service.wallet.WalletWithdrawRecordService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
 import com.mzl.flower.dto.request.wallet.CreateWalletWithdrawRecordDTO;
-import com.mzl.flower.dto.response.supplier.SupplierDTO;
-import com.mzl.flower.entity.wallet.WalletDO;
 import com.mzl.flower.service.supplier.SupplierService;
 import com.mzl.flower.service.wallet.WalletBillRecordService;
 import com.mzl.flower.service.wallet.WalletService;
-import com.mzl.flower.service.wallet.WalletWithdrawRecordService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.PutMapping;
@@ -23,38 +27,52 @@
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestParam;
 import com.mzl.flower.entity.wallet.WalletWithdrawRecordDO;
-import javax.validation.constraints.Min;
-import javax.validation.constraints.Max;
 import javax.validation.constraints.Positive;
-
-import org.springframework.web.bind.annotation.RestController;
 
 /**
 * @author @TaoJie
 * @since 2024-10-22
 */
+@Api(value = "提现记录", tags = "提现记录")
 @RestController
 @RequestMapping("/v2/withdraw-record")
+@RequiredArgsConstructor
 public class WalletWithdrawRecordController extends BaseController {
 
-    @Autowired
-    private WalletWithdrawRecordService walletWithdrawRecordService;
+    private final WalletWithdrawRecordService walletWithdrawRecordService;
 
-    @Autowired
-    private WalletBillRecordService walletBillRecordService;
+    private final WalletBillRecordService walletBillRecordService;
 
-    @Autowired
-    private SupplierService supplierService;
+    private final SupplierService supplierService;
     @Autowired
     private WalletService walletService;
+   
+    @GetMapping("/list")
+    @ApiOperation(value = "查询提现记录-分页", httpMethod = "GET")
+    public ResponseEntity<ReturnDataDTO<Page<WalletWithdrawRecordVO>>> getMemberList(Page page, QueryWalletWithdrawDTO dto) {
+        return returnData(R.SUCCESS.getCode(), walletWithdrawRecordService.queryPage(dto, page));
+    }
 
+    @PostMapping(value = "/pass")
+    @ApiOperation(value = "通过", httpMethod = "POST")
+    public ResponseEntity update(@RequestBody WalletWithdrawRecordDTO walletWithdrawRecordDTO) {
+        walletWithdrawRecordDTO.setApproveState(Constants.WALLET_APPROVE_STATE.APPROVE.name());
+        walletWithdrawRecordService.updateWallet(walletWithdrawRecordDTO);
+        return returnData(R.SUCCESS.getCode(), null);
+    }
 
+    @PostMapping(value = "/refuse")
+    @ApiOperation(value = "拒绝", httpMethod = "POST")
+    public ResponseEntity refuse(@RequestBody WalletWithdrawRecordDTO walletWithdrawRecordDTO) {
+        walletWithdrawRecordDTO.setApproveState(Constants.WALLET_APPROVE_STATE.REJECT.name());
+        walletWithdrawRecordService.updateWallet(walletWithdrawRecordDTO);
+        return returnData(R.SUCCESS.getCode(), null);
+    }
 
 
     @PostMapping("")
-    public ResponseEntity<ReturnDataDTO> create(@Validated CreateWalletWithdrawRecordDTO walletWithdrawRecordDTO) {
+    public ResponseEntity<ReturnDataDTO> create(@Validated @RequestBody CreateWalletWithdrawRecordDTO walletWithdrawRecordDTO) {
 
         walletWithdrawRecordService.create(walletWithdrawRecordDTO);
 
@@ -76,15 +94,12 @@
         return null;
     }
 
-    @GetMapping("/page")
-    public ResponseEntity<ReturnDataDTO<Page<WalletWithdrawRecordDO>>> page(
-            @RequestParam(name = "page", required = false, defaultValue = "0")
-            @Min(value = 0, message = "{page.number.min}") Integer page,
-            @RequestParam(name = "count", required = false, defaultValue = "10")
-            @Min(value = 1, message = "{page.count.min}")
-            @Max(value = 30, message = "{page.count.max}") Integer count
+    @GetMapping("/supplier/page")
+    public ResponseEntity<ReturnDataDTO<Page<WalletWithdrawRecordDO>>> page(Page page, QueryWalletWithdrawDTO dto
     ) {
-        return null;
+        // 根据当前用户获取供应商
+        dto.setSupplierId(String.valueOf(supplierService.getCurrentSupplier().getId()));
+        return returnData(R.SUCCESS.getCode(), walletWithdrawRecordService.queryPage(dto, page));
     }
 
 }

--
Gitblit v1.9.3