KKSU
2024-06-07 76e42bfdf66fbd49e4ed3173236b2f4b352685b2
src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java
@@ -14,6 +14,7 @@
import cc.mrbird.febs.dapp.service.DappWalletService;
import cc.mrbird.febs.dapp.utils.OnlineTransferUtil;
import cc.mrbird.febs.rabbit.producer.ChainProducer;
import cc.mrbird.febs.tree.TreeConstants;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -165,8 +166,8 @@
            DappFundFlowEntity fundFlow = dappFundFlowDao.selectByFromHashAndAndMemberId(e.log.getTransactionHash(), null,fromMember.getId());
            if(ObjectUtil.isNotEmpty(fundFlow) && 1 == fundFlow.getStatus()){
                log.info("触发USDT合约监听事件-买入贡献值,金额:{}",amount);
                if(1 == fundFlow.getType()){//认购贡献值 1
                    log.info("买入贡献值,{},金额:{}",fromAddress,amount);
                    if (fundFlow == null) {
                        List<DappFundFlowEntity> flows = dappFundFlowDao.selectFundFlowListByAddress(e.from, 1);
                        if (CollUtil.isEmpty(flows)) {
@@ -194,6 +195,20 @@
                    // 更改状态为已同步
                    fundFlow.setStatus(2);
                    dappFundFlowDao.updateById(fundFlow);
                    //激活用户
                    fromMember.setActiveStatus(1);
                    dappMemberDao.updateById(fromMember);
                    //给上级直推奖励
                    DappMemberEntity member = dappMemberDao.selectById(fromMember.getId());
                    DappMemberEntity parent = dappMemberDao.selectMemberInfoByInviteId(member.getRefererId());
                    if (ObjectUtil.isNotEmpty(parent)) {
                        BigDecimal directProfit = TreeConstants.PUT_IN_AMOUNT.multiply(new BigDecimal("0.1"));
                        dappWalletService.updateWalletCoinWithLock(directProfit, parent.getId(), 1);
                        DappFundFlowEntity fundFlowPerk = new DappFundFlowEntity(parent.getId(), directProfit, 3, 2, null, null);
                        dappFundFlowDao.insert(fundFlowPerk);
                    }
                    //生成业绩数
                    chainProducer.sendAchieveTreeMsg(fundFlow.getMemberId());
                    //分发手续费给节点
@@ -201,7 +216,7 @@
                }else if(13 == fundFlow.getType()){//认购节点 13
                    log.info("触发USDT合约监听事件-认购节点,金额:{}",amount);
                    log.info("认购节点,{},金额:{}",fromAddress,amount);
//                    fundFlow.setAmount(fundFlow.getAmount().negate());
                    // 更改状态为已同步
                    fundFlow.setStatus(2);
@@ -219,6 +234,7 @@
    }
    public void buyNodePerk(BigDecimal amount){
        log.info("买入贡献值-平分总金额-{}",amount);
        /**
         * 获取节点平分百分比 perkPercent
         * 获取平分的份数 perKNum
@@ -263,5 +279,7 @@
                    null);
            dappFundFlowDao.insert(fundFlow);
        }
        log.info("买入贡献值-总人数{},-每人金额{}",dappMemberEntities.size(),perkAmount);
    }
}