KKSU
2024-12-23 ff2845059d92bb71c7901e18a4936a246b7aa1e5
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)) {