Helius
2022-08-12 5e0c0bacadab898152518437ceb63bf8b54c6652
src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java
@@ -122,6 +122,31 @@
                }
            }
            // 激活卡牌
            if (fundFlow.getType() == 8) {
                DappFundFlowEntity finalFundFlow = fundFlow;
                DappMemberEntity member = dappMemberService.getById(fundFlow.getMemberId());
                new Thread(() -> {
                    try {
                        int count = finalFundFlow.getAmount().intValue();
                        String token = null;
                        while (count > 0) {
                            token = ChainService.getInstance(ChainEnum.BSC_NFT_SDC.name()).safeMintNFT(member.getAddress());
                            Thread.sleep(5000);
                            count--;
                        }
                        finalFundFlow.setStatus(2);
                        finalFundFlow.setToHash(token);
                        dappFundFlowDao.updateById(finalFundFlow);
                    } catch (Exception ex) {
                        ex.printStackTrace();
                        log.error("发放卡牌错误", ex);
                    }
                }).start();
                return;
            }
            OnlineTransferUtil.addTransferRecord(e.from, e.to, amount, e.log.getTransactionHash(), DappTransferRecordEntity.TRANSFER_SOURCE_FLAG_APPLICATION, "USDT");
@@ -142,7 +167,7 @@
            // 如果系统会开启,则使用自动打款
            if (!"start".equals(hasStart)) {
                OnlineTransferUtil.addTransfer(e.from, fundFlow.getAmount(), 1, 1, ChainEnum.BSC_TFC_MAKE.name(), "BSC", fundFlow.getId().toString());
                OnlineTransferUtil.addTransfer(e.from, fundFlow.getAmount(), 1, 1, ChainEnum.BSC_TFC.name(), "BSC", fundFlow.getId().toString());
                Map<String, String> map = new HashMap<>();
                map.put("batchNo", fundFlow.getId().toString());
@@ -151,10 +176,14 @@
                // 发送转账消息
                chainProducer.sendOnlineTransfer(JSONObject.toJSONString(map));
                // 发送盲盒消息
                chainProducer.sendNftBoxMsg(fundFlow.getId());
                fromMember.setMakerType(1);
                dappMemberService.updateById(fromMember);
            } else {
                OnlineTransferUtil.addTransfer(e.from, fundFlow.getAmount(), 1, 1, ChainEnum.BSC_TFC_SOURCE.name(), AppContants.SYMBOL_COIN, fundFlow.getId().toString());
                // 买入收手续费,到账币数量减去手续费
                OnlineTransferUtil.addTransfer(e.from, fundFlow.getAmount().subtract(fundFlow.getFee()), 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());