package com.mzl.flower.web.v2.wallet; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.mzl.flower.base.BaseController; import com.mzl.flower.base.R; import com.mzl.flower.base.ReturnDataDTO; 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.service.supplier.SupplierService; import com.mzl.flower.service.wallet.WalletBillRecordService; import com.mzl.flower.service.wallet.WalletService; 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; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.PathVariable; import com.mzl.flower.entity.wallet.WalletWithdrawRecordDO; import javax.validation.constraints.Positive; /** * @author @TaoJie * @since 2024-10-22 */ @Api(value = "提现记录", tags = "提现记录") @RestController @RequestMapping("/v2/withdraw-record") @RequiredArgsConstructor public class WalletWithdrawRecordController extends BaseController { private final WalletWithdrawRecordService walletWithdrawRecordService; private final WalletBillRecordService walletBillRecordService; private final SupplierService supplierService; @Autowired private WalletService walletService; @GetMapping("/list") @ApiOperation(value = "查询提现记录-分页", httpMethod = "GET") public ResponseEntity>> 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 create(@Validated @RequestBody CreateWalletWithdrawRecordDTO walletWithdrawRecordDTO) { walletWithdrawRecordService.create(walletWithdrawRecordDTO); return returnData(R.SUCCESS.getCode(), null); } @PutMapping("/{id}") public ResponseEntity update(@PathVariable @Positive(message = "{id.positive}") Integer id) { return returnData(R.SUCCESS.getCode(), null); } @DeleteMapping("/{id}") public ResponseEntity delete(@PathVariable @Positive(message = "{id.positive}") Integer id) { return returnData(R.SUCCESS.getCode(), null); } @GetMapping("/{id}") public WalletWithdrawRecordDO get(@PathVariable(value = "id") @Positive(message = "{id.positive}") Integer id) { return null; } @GetMapping("/supplier/page") public ResponseEntity>> page(Page page, QueryWalletWithdrawDTO dto ) { // 根据当前用户获取供应商 dto.setSupplierId(String.valueOf(supplierService.getCurrentSupplier().getId())); return returnData(R.SUCCESS.getCode(), walletWithdrawRecordService.queryPage(dto, page)); } }