KKSU
2025-03-12 191be8a61b2636fabbfee70ae09ef998de620ff5
src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java
@@ -625,7 +625,11 @@
                BigDecimal V3 = BigDecimal.ZERO;
                if (flag) {
                    V2 = V1.divide(new BigDecimal("2"), 0, RoundingMode.DOWN);
                    V3 = new BigDecimal(RandomUtil.randomInt(V2.intValue(),V1.intValue())).setScale(0,RoundingMode.DOWN);
                    if(V1.intValue() <= V2.intValue()){
                        V3 = new BigDecimal(RandomUtil.randomInt(V1.intValue(),V2.intValue()+1)).setScale(0,RoundingMode.DOWN);
                    }else{
                        V3 = new BigDecimal(RandomUtil.randomInt(V2.intValue(),V1.intValue())).setScale(0,RoundingMode.DOWN);
                    }
                }else{
                    List<MallMoneyFlow> mallMoneyFlows = mallMoneyFlowMapper.selectList(
                            new LambdaQueryWrapper<MallMoneyFlow>()
@@ -661,7 +665,10 @@
                    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();
                        amountNow = amountNow.subtract(presentPrice);
                        BigDecimal presentPriceNext = runVipNext.getPresentPrice();
                        BigDecimal subtract = presentPriceNext.subtract(presentPrice);
@@ -673,7 +680,9 @@
                        BigDecimal growthAmountTotal = divide.multiply(new BigDecimal(growthNum));
                        BigDecimal growthAmount = growthAmountTotal.divide(new BigDecimal(C1), 0, RoundingMode.DOWN);
                        V3 = V3.add(growthAmount);
                        if(growthAmount.intValue() > 0){
                            V3 = V3.add(growthAmount);
                        }
                    }
                }
                //更新钱包数据
@@ -734,6 +743,7 @@
                    .collect(Collectors.toMap(MallMember::getId, member -> member));
            // 缓存直推成员
            Map<String, Set<MallMember>> directMembersCache = mallMembers.stream()
                    .filter(member -> StrUtil.isNotBlank(member.getReferrerId()))
                    .collect(Collectors.groupingBy(MallMember::getReferrerId, Collectors.toSet()));