From ff2845059d92bb71c7901e18a4936a246b7aa1e5 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Mon, 23 Dec 2024 18:13:28 +0800 Subject: [PATCH] perf(mall): 优化节点助力功能 --- src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java | 16 ++++++++++++++-- 1 files changed, 14 insertions(+), 2 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 c7e69f2..ad680eb 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 @@ -710,15 +710,25 @@ RunVipDataDictionaryEnum.RUN_VIP_BALANCE_TO_COIN.getType(), RunVipDataDictionaryEnum.RUN_VIP_BALANCE_TO_COIN.getCode()).getValue() ).setScale(2, BigDecimal.ROUND_DOWN); + + DateTime endTime = DateUtil.date(); for (MallMember item : mallMembers) { //获取总业绩 - BigDecimal achieve = getDirectAchieve(item.getInviteId()); + BigDecimal achieve = getDirectAchieve(item.getInviteId(),item.getDirectorTime(),endTime); + if(BigDecimal.ZERO.compareTo(achieve) >= 0){ + continue; + } BigDecimal nodePercent = getNodePercent(runNodeSets, achieve); + if(BigDecimal.ZERO.compareTo(nodePercent) >= 0){ + continue; + } asyncService.releaseNodeCoin(achieve,nodePercent,balanceToCoin,item.getId()); + item.setDirectorTime(endTime); + mallMemberMapper.updateById(item); } } - private BigDecimal getDirectAchieve(String inviteId) { + private BigDecimal getDirectAchieve(String inviteId,Date startTime,Date endTime) { try { // 获取直推成员和团队成员的ID集合 @@ -733,6 +743,8 @@ new LambdaQueryWrapper<MallCharge>() .in(MallCharge::getMemberId, memberIds) .eq(MallCharge::getState, YesOrNoEnum.YES.getValue()) + .ge(MallCharge::getCreatedTime, startTime) + .lt(MallCharge::getCreatedTime, endTime) ); if (CollUtil.isEmpty(mallCharges)) { -- Gitblit v1.9.1