| | |
| | | |
| | | private final AsyncService asyncService; |
| | | private final FebsConfigure febsConfigure; |
| | | private final RunVipGrowMapper runVipGrowMapper; |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | |
| | | } |
| | | V3 = new BigDecimal(RandomUtil.randomInt(V1.intValue(),V2.intValue())).setScale(0,RoundingMode.DOWN); |
| | | } |
| | | //会员权益的收益 |
| | | RunVipGrow runVipGrow = runVipGrowMapper.selectList( |
| | | new LambdaQueryWrapper<RunVipGrow>() |
| | | .eq(RunVipGrow::getMemberId, item.getId()) |
| | | .eq(RunVipGrow::getLevelNow, runVip.getVipCode()) |
| | | .orderByDesc(RunVipGrow::getId) |
| | | ).stream().findFirst().orElse(null); |
| | | if(null != runVipGrow){ |
| | | BigDecimal amountNow = runVipGrow.getAmountNow(); |
| | | RunVip runVipNext = runVips.stream().filter(vipItem -> vipItem.getOrderNumber() == runVip.getOrderNumber() + 1).findFirst().orElse(null); |
| | | if(runVipNext != null){ |
| | | BigDecimal presentPrice = runVip.getPresentPrice(); |
| | | BigDecimal presentPriceNext = runVipNext.getPresentPrice(); |
| | | BigDecimal subtract = presentPriceNext.subtract(presentPrice); |
| | | |
| | | BigDecimal divide = amountNow.divide(subtract, 4, RoundingMode.DOWN); |
| | | |
| | | Integer growthCnt = runVip.getGrowthCnt(); |
| | | Integer growthCntNext = runVipNext.getGrowthCnt(); |
| | | int growthNum = growthCntNext - growthCnt; |
| | | |
| | | BigDecimal growthAmountTotal = divide.multiply(new BigDecimal(growthNum)); |
| | | BigDecimal growthAmount = growthAmountTotal.divide(new BigDecimal(C1), 0, RoundingMode.DOWN); |
| | | V3 = V3.add(growthAmount); |
| | | } |
| | | } |
| | | //更新钱包数据 |
| | | if(V3.intValue() <= 0){ |
| | | continue; |