From efb6f9d656f72c3016d738f079c92de021b9f14f Mon Sep 17 00:00:00 2001 From: 陶杰 <1378534974@qq.com> Date: 星期三, 04 十二月 2024 10:04:41 +0800 Subject: [PATCH] 1.常规配置-基本配置 2.分类-修改分类名称批量修改商品名称 --- src/main/java/com/mzl/flower/web/v2/wallet/WalletController.java | 77 ++++++++++++++++++++++++++++---------- 1 files changed, 57 insertions(+), 20 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 5039819..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,22 +5,22 @@ import com.mzl.flower.base.BaseController; import com.mzl.flower.base.R; import com.mzl.flower.base.ReturnDataDTO; -import com.mzl.flower.entity.wallet.WalletBillRecordDO; +import com.mzl.flower.config.exception.ValidationException; +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; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; -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 org.springframework.web.bind.annotation.RequestParam; +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 org.springframework.web.bind.annotation.RestController; +import java.math.BigDecimal; /** * @author @TaoJie @@ -28,7 +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() { @@ -41,23 +52,49 @@ } @DeleteMapping("/{id}") - public ResponseEntity<ReturnDataDTO> delete(@PathVariable @Positive(message = "{id.positive}") Integer id) { + public ResponseEntity<ReturnDataDTO> delete(@PathVariable Integer id) { + return returnData(R.SUCCESS.getCode(), null); + } @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( - @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 + public ResponseEntity<ReturnDataDTO<Page<WalletDO>>> page(@RequestBody QueryWalletDTO dto ) { + return null; } -- Gitblit v1.9.3