From c268540881fe493bc40e76ba82793a63c0897c91 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Thu, 16 May 2024 10:41:12 +0800
Subject: [PATCH] 滑点监控

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java |   47 +++++++++++++++++++++++++++++++----------------
 1 files changed, 31 insertions(+), 16 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java
index 365e962..d9adc0c 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java
@@ -2,21 +2,20 @@
 
 import cc.mrbird.febs.common.contants.AppContants;
 import cc.mrbird.febs.common.utils.RedisUtils;
-import cc.mrbird.febs.common.utils.ShareCodeUtil;
 import cc.mrbird.febs.dapp.chain.*;
-import cc.mrbird.febs.dapp.entity.*;
+import cc.mrbird.febs.dapp.entity.DappFundFlowEntity;
+import cc.mrbird.febs.dapp.entity.DappMemberEntity;
+import cc.mrbird.febs.dapp.entity.DappTransferRecordEntity;
 import cc.mrbird.febs.dapp.mapper.DappFundFlowDao;
-import cc.mrbird.febs.dapp.mapper.DappMemberDao;
 import cc.mrbird.febs.dapp.mapper.DappOnlineTransferDao;
 import cc.mrbird.febs.dapp.mapper.DataDictionaryCustomMapper;
 import cc.mrbird.febs.dapp.service.DappMemberService;
+import cc.mrbird.febs.dapp.service.DappSystemService;
 import cc.mrbird.febs.dapp.utils.OnlineTransferUtil;
 import cc.mrbird.febs.rabbit.producer.ChainProducer;
 import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSONObject;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -49,6 +48,9 @@
     @Resource
     private DataDictionaryCustomMapper dataDictionaryCustomMapper;
 
+    @Autowired
+    private DappSystemService dappSystemService;
+
 
     @Override
     public void compile(EthUsdtContract.TransferEventResponse e) {
@@ -64,15 +66,13 @@
 
             // 如果得到触发,则休眠10秒。 因为此处监听器触发可能优先于前端调用transfer接口
             try {
-                Thread.sleep(5000);
+                Thread.sleep(10000);
             } catch (InterruptedException ex) {
                 ex.printStackTrace();
             }
 
             ContractChainService sourceUsdtInstance = ChainService.getInstance(ChainEnum.BSC_USDT.name());
             int decimals = sourceUsdtInstance.decimals();
-            int tfcDecimals = ChainService.getInstance(ChainEnum.BSC_TFC.name()).decimals();
-
             if (e.from.equals("0xaa25aa7a19f9c426e07dee59b12f944f4d9f1dd3")) {
                 return;
             }
@@ -138,14 +138,8 @@
                 // 发送转账消息
                 chainProducer.sendOnlineTransfer(JSONObject.toJSONString(map));
 
-                DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(AppContants.DIC_TYPE_SYSTEM_SETTING, AppContants.DIC_VALUE_SYSTEM_START_TARGET);
-                BigDecimal target = new BigDecimal(dic.getValue());
-
-                // 若源池中的USDT达到或超过8万U,则启动整个系统
-                BigDecimal balance = sourceUsdtInstance.balanceOf(ChainEnum.BSC_USDT_SOURCE.getAddress());
-                if (target.compareTo(balance) < 1) {
-                    redisUtils.set(AppContants.SYSTEM_START_FLAG, "start");
-                }
+                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());
 
@@ -155,10 +149,31 @@
 
                 // 发送转账消息
                 chainProducer.sendOnlineTransfer(JSONObject.toJSONString(map));
+
+                // 发送购买奖励消息
+                chainProducer.sendUserBuyReward(fundFlow.getId());
             }
         }
     }
 
+    @Override
+    public void coinReward(EthUsdtContract.CoinRewardEventResponse e) {
+        if (e.adr == null) {
+            return;
+        }
+
+        log.info("本地无交易USDT:{}", e.log.getTransactionHash());
+    }
+
+    @Override
+    public void huadian(EthUsdtContract.TransferEventResponse e) {
+        if (e.to == null) {
+            return;
+        }
+        log.info("本地无交易USDT:{}", e.log.getTransactionHash());
+
+    }
+
     public static void main(String[] args) {
         System.out.println(ChainService.getInstance(ChainEnum.BSC_USDT.name()).balanceOf("0x9DDE1834683D642D4D077498DC7fbdb8CF70E8FE"));
     }

--
Gitblit v1.9.1