From 759b602542a22cbb93202e233c42ac4a466b586e Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Fri, 20 Dec 2024 10:54:51 +0800 Subject: [PATCH] feat(mall): 更新会员等级和积分 --- src/main/java/cc/mrbird/febs/mall/service/impl/RunVipServiceImpl.java | 19 ++++++++++++++----- 1 files changed, 14 insertions(+), 5 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 2b15086..87fe1bf 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 @@ -61,7 +61,7 @@ //获取大于当前用户等级序号的所有的VIP等级 LambdaQueryWrapper<RunVip> runVipLambdaQueryWrapper = new LambdaQueryWrapper<>(); runVipLambdaQueryWrapper.eq(RunVip::getState, YesOrNoEnum.YES.getValue()); - runVipLambdaQueryWrapper.gt(RunVip::getOrderNumber, runVip.getOrderNumber()); + runVipLambdaQueryWrapper.ge(RunVip::getOrderNumber, runVip.getOrderNumber()); List<RunVip> runVips = this.baseMapper.selectList(runVipLambdaQueryWrapper); apiRunVipVos = RunVipConversion.INSTANCE.entityToVos(runVips); @@ -304,10 +304,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