KKSU
2024-06-06 a19c253cc970f868bd221820f433baa54d500f76
购买节点
1 files modified
16 ■■■■■ changed files
src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java 16 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java
@@ -47,15 +47,15 @@
        redisUtils.set(AppContants.REDIS_KEY_BLOCK_USDT_NUM, e.log.getBlockNumber());
        // 判断对方打款地址是否为源池地址
        if (ChainEnum.BSC_USDT.getAddress().toLowerCase().equals(e.to)) {
            log.info("触发USDT合约监听事件");
            redisUtils.set(AppContants.REDIS_KEY_BLOCK_ETH_INCREMENT_NUM, e.log.getBlockNumber());
            // 如果得到触发,则休眠10秒。 因为此处监听器触发可能优先于前端调用transfer接口
            try {
                Thread.sleep(10000);
            } catch (InterruptedException ex) {
                ex.printStackTrace();
            }
//            try {
//                Thread.sleep(10000);
//            } catch (InterruptedException ex) {
//                ex.printStackTrace();
//            }
            ContractChainService sourceUsdtInstance = ChainService.getInstance(ChainEnum.BSC_USDT.name());
            int decimals = sourceUsdtInstance.decimals();
@@ -68,7 +68,7 @@
            DappFundFlowEntity fundFlow = dappFundFlowDao.selectByFromHash(e.log.getTransactionHash(), null);
            if(ObjectUtil.isNotEmpty(fundFlow) && 1 == fundFlow.getStatus()){
                log.info("触发USDT合约监听事件-买入贡献值,金额:{}",amount);
                if(1 == fundFlow.getType()){//认购贡献值 1
                    if (fundFlow == null) {
                        List<DappFundFlowEntity> flows = dappFundFlowDao.selectFundFlowListByAddress(e.from, 1);
@@ -101,6 +101,8 @@
                    chainProducer.sendAchieveTreeMsg(fundFlow.getMemberId());
                }else if(13 == fundFlow.getType()){//认购节点 13
                    log.info("触发USDT合约监听事件-认购节点,金额:{}",amount);
                    fundFlow.setAmount(fundFlow.getAmount().negate());
                    // 更改状态为已同步
                    fundFlow.setStatus(2);