From faaf907706c62c81c2a91092b950b30c89159afc Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Mon, 17 Mar 2025 17:37:52 +0800 Subject: [PATCH] refactor(common): 优化文件上传逻辑 --- src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java | 22 +++++++++++++++++++--- 1 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java index 39b108d..275e13c 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java +++ b/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>() @@ -642,7 +646,13 @@ }else{ V2 = V1.multiply(new BigDecimal("2")).setScale(0,RoundingMode.DOWN); } - V3 = new BigDecimal(RandomUtil.randomInt(V1.intValue(),V2.intValue())).setScale(0,RoundingMode.DOWN); + if(V1.intValue() < V2.intValue()){ + V3 = new BigDecimal(RandomUtil.randomInt(V1.intValue(),V2.intValue())).setScale(0,RoundingMode.DOWN); + }else 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); + } } //会员权益的收益 RunVipGrow runVipGrow = runVipGrowMapper.selectList( @@ -655,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); @@ -667,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); + } } } //更新钱包数据 @@ -728,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())); -- Gitblit v1.9.1