src/main/java/cc/mrbird/febs/mall/controller/ApiRunVipController.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/cc/mrbird/febs/mall/service/IRunVipService.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/cc/mrbird/febs/mall/service/impl/RunVipServiceImpl.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/cc/mrbird/febs/mall/vo/ApiReduceAmountVo.java | ●●●●● patch | view | raw | blame | history |
src/main/java/cc/mrbird/febs/mall/controller/ApiRunVipController.java
@@ -76,7 +76,7 @@ @ApiResponses({ @ApiResponse(code = 200, message = "success", response = ApiGrowInfoVo.class) }) @PostMapping(value = "/growInfo") @GetMapping(value = "/growInfo") public FebsResponse growInfo() { return iRunVipService.growInfo(); } @@ -98,6 +98,15 @@ return iRunVipService.growCharge(apiGrowChargeDto); } @ApiOperation(value = "【购买VIP】可减免金额", notes = "【购买VIP】可减免金额") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = ApiReduceAmountVo.class) }) @GetMapping(value = "/reduceAmount") public FebsResponse reduceAmount() { return iRunVipService.reduceAmount(); } @ApiOperation(value = "【购买VIP】APP支付", notes = "【购买VIP】APP支付") @PostMapping(value = "/balanceBuy") @SubmitRepeat src/main/java/cc/mrbird/febs/mall/service/IRunVipService.java
@@ -30,4 +30,6 @@ FebsResponse growBuy(ApiGrowBuyDto apiGrowBuyDto); FebsResponse growCharge(ApiGrowChargeDto apiGrowChargeDto); FebsResponse reduceAmount(); } src/main/java/cc/mrbird/febs/mall/service/impl/RunVipServiceImpl.java
@@ -447,6 +447,7 @@ apiGrowInfoVo.setLevelNow(runVipNow.getVipCode()); apiGrowInfoVo.setAmountNow(runVipNow.getPresentPrice()); //获取runVips中的orderNumber为runVipNow.getOrderNumber() + 1的那个元素 RunVip runVipNext = runVips.stream().filter(runVip -> runVip.getOrderNumber() == runVipNow.getOrderNumber() + 1).findFirst().orElse(null); if(runVipNext != null){ @@ -668,4 +669,26 @@ mallChargeMapper.insert(mallCharge); return new FebsResponse().success().data("操作成功"); } @Override public FebsResponse reduceAmount() { Long memberId = LoginUserUtil.getLoginUser().getId(); ApiReduceAmountVo apiReduceAmountVo = new ApiReduceAmountVo(); MallMember mallMember = mallMemberMapper.selectById(memberId); //减免价格 RunVip runVip = this.baseMapper.selectOne(new LambdaQueryWrapper<RunVip>().eq(RunVip::getVipCode, mallMember.getLevel())); BigDecimal reduceAmount = runVip.getPresentPrice(); RunVipGrow runVipGrow = runVipGrowMapper.selectList( new LambdaQueryWrapper<RunVipGrow>() .eq(RunVipGrow::getMemberId, memberId) .eq(RunVipGrow::getLevelNow, mallMember.getLevel()) .orderByDesc(RunVipGrow::getId) ).stream().findFirst().orElse(null); if(runVipGrow != null){ BigDecimal amountNow = runVipGrow.getAmountNow(); reduceAmount = reduceAmount.add(amountNow); } apiReduceAmountVo.setReduceAmount(reduceAmount); return new FebsResponse().success().data(apiReduceAmountVo); } } src/main/java/cc/mrbird/febs/mall/vo/ApiReduceAmountVo.java
New file @@ -0,0 +1,16 @@ package cc.mrbird.febs.mall.vo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; @Data @ApiModel(value = "ApiReduceAmountVo", description = "信息返回类") public class ApiReduceAmountVo { @ApiModelProperty(value = "可减免金额") private BigDecimal reduceAmount = BigDecimal.ZERO; }