From bd4d6ee6e9e303e6fdbf05fede63dc3cd50263c3 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Mon, 30 Dec 2024 17:33:30 +0800 Subject: [PATCH] feat(mall): 添加节点业绩累计功能 --- src/main/java/cc/mrbird/febs/mall/service/impl/RunVipServiceImpl.java | 27 ++++++++++++++++++++------- 1 files changed, 20 insertions(+), 7 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/RunVipServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/RunVipServiceImpl.java index d7d34dc..37fad9e 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/RunVipServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/RunVipServiceImpl.java @@ -50,12 +50,13 @@ private final MallMemberMapper mallMemberMapper; @Override public List<ApiRunVipVo> vipInfo() { - MallMember member = LoginUserUtil.getLoginUser(); + Long memberId = LoginUserUtil.getLoginUser().getId(); List<ApiRunVipVo> apiRunVipVos = new ArrayList<>(); - if (StrUtil.isEmpty(member.getLevel())) { + MallMember mallMember = mallMemberMapper.selectById(memberId); + if (StrUtil.isEmpty(mallMember.getLevel())) { return apiRunVipVos; } - String level = member.getLevel(); + String level = mallMember.getLevel(); //获取当前用户的VIP等级 RunVip runVip = this.baseMapper.selectOne(new LambdaQueryWrapper<RunVip>().eq(RunVip::getVipCode, level)); //获取大于当前用户等级序号的所有的VIP等级 @@ -161,6 +162,9 @@ MallCharge mallCharge = mallChargeMapper.selectOne(objectLambdaQueryWrapper); ApiGoChargeVo apiGoChargeVo = new ApiGoChargeVo(); + if(null == mallCharge){ + throw new FebsException("记录不存在"); + } apiGoChargeVo.setFailTime(mallCharge.getFailTime()); apiGoChargeVo.setAddress(mallCharge.getAddress()); apiGoChargeVo.setAmount(mallCharge.getAmount()); @@ -304,10 +308,19 @@ ); if(CollUtil.isNotEmpty(mallMoneyFlows)){ BigDecimal reduce = mallMoneyFlows.stream().map(MallMoneyFlow::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add); - if(reduce.intValue() >= realScore){ - apiRunHealthVo.setScoreUsed(reduce.intValue() - realScore); - apiRunHealthVo.setScoreTotal(reduce.intValue()); - } + apiRunHealthVo.setScoreTotal(reduce.intValue()); + } + List<MallMoneyFlow> mallMoneyFlowScoreOuts = mallMoneyFlowMapper.selectList( + new LambdaQueryWrapper<MallMoneyFlow>() + .eq(MallMoneyFlow::getMemberId, memberId) + .eq(MallMoneyFlow::getFlowType, FlowTypeEnum.SCORE.getValue()) + .eq(MallMoneyFlow::getType, RunVipMoneyFlowTypeEnum.SCORE_OUT_BALANCE.getValue()) + .ge(MallMoneyFlow::getCreatedTime, DateUtil.beginOfDay(DateUtil.date())) + .le(MallMoneyFlow::getCreatedTime, DateUtil.endOfDay(DateUtil.date())) + ); + if(CollUtil.isNotEmpty(mallMoneyFlowScoreOuts)){ + BigDecimal reduce = mallMoneyFlowScoreOuts.stream().map(MallMoneyFlow::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add).abs(); + apiRunHealthVo.setScoreUsed(reduce.intValue()); } return apiRunHealthVo; } -- Gitblit v1.9.1