KKSU
2025-01-03 3319a39e75eb8ab6e37bd51b1a8c19574cbc32fb
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);
    }
}