fix
Helius
2022-07-13 19a4e58671e39afaf0e89e9fd5b13f0c3851c595
src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java
@@ -80,10 +80,8 @@
            }
            DappMemberEntity fromMember = dappMemberService.findByAddress(e.from, null);
            // 如果此时fromMember为null,则说明该用户未经过转账绑定关系,而是直接注册并购买币,则将关系绑定到顶级账户
            if (fromMember == null) {
                DappMemberEntity toAddress = dappMemberService.findByAddress(e.to, null);
                fromMember = dappMemberService.insertMember(e.from, toAddress.getInviteId());
                return;
            }
            String hasStart = redisUtils.getString(AppContants.SYSTEM_START_FLAG);
@@ -107,7 +105,7 @@
                boolean hasFlow = false;
                for (DappFundFlowEntity flow : flows) {
                    if (flow.getStatus() == 1) {
                        if (amount.compareTo(flow.getTargetAmount()) == 0) {
                        if (amount.compareTo(flow.getAmount().multiply(flow.getNewestPrice()).setScale(4, RoundingMode.HALF_UP)) == 0) {
                            hasFlow = true;
                            fundFlow = flow;
                            fundFlow.setFromHash(e.log.getTransactionHash());
@@ -129,33 +127,8 @@
            fundFlow.setTargetAmount(amount);
            dappFundFlowDao.updateById(fundFlow);
            // 如果系统会开启,则使用自动打款
            if (!"start".equals(hasStart)) {
                OnlineTransferUtil.addTransfer(e.from, fundFlow.getAmount(), 1, 1, ChainEnum.BSC_TFC_MAKE.name(), "BSC", fundFlow.getId().toString());
            // 查找直推,并判断自身是否大于50,若大于50则,上级推荐则+1
                Map<String, String> map = new HashMap<>();
                map.put("batchNo", fundFlow.getId().toString());
                map.put("type", "flow");
                // 发送转账消息
                chainProducer.sendOnlineTransfer(JSONObject.toJSONString(map));
            } else {
                OnlineTransferUtil.addTransfer(e.from, fundFlow.getAmount(), 1, 1, ChainEnum.BSC_TFC_SOURCE.name(), AppContants.SYMBOL_COIN, fundFlow.getId().toString());
                Map<String, String> map = new HashMap<>();
                map.put("batchNo", fundFlow.getId().toString());
                map.put("type", "flow");
                // 发送转账消息
                chainProducer.sendOnlineTransfer(JSONObject.toJSONString(map));
                // 发送购买奖励消息
                chainProducer.sendUserBuyReward(fundFlow.getId());
            }
        }
    }
    public static void main(String[] args) {
        System.out.println(ChainService.getInstance(ChainEnum.BSC_USDT.name()).balanceOf("0x9DDE1834683D642D4D077498DC7fbdb8CF70E8FE"));
    }
}