| | |
| | | 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等级 |
| | |
| | | ); |
| | | 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; |
| | | } |