From acf0e1696da79bc7fd73f6356182a172a0adaad8 Mon Sep 17 00:00:00 2001
From: zainali5120 <512061637@qq.com>
Date: Mon, 11 Jan 2021 22:59:55 +0800
Subject: [PATCH] TRC20版本提交

---
 src/main/java/com/xcong/excoin/rabbit/consumer/UsdtUpdateConsumer.java |   36 ++++++++++++++++++++++++++++++++++--
 1 files changed, 34 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/rabbit/consumer/UsdtUpdateConsumer.java b/src/main/java/com/xcong/excoin/rabbit/consumer/UsdtUpdateConsumer.java
index 62c25c7..7c762db 100644
--- a/src/main/java/com/xcong/excoin/rabbit/consumer/UsdtUpdateConsumer.java
+++ b/src/main/java/com/xcong/excoin/rabbit/consumer/UsdtUpdateConsumer.java
@@ -3,14 +3,18 @@
 import com.alibaba.fastjson.JSONObject;
 import com.xcong.excoin.configurations.RabbitMqConfig;
 import com.xcong.excoin.modules.blackchain.model.EthUsdtChargeDto;
+import com.xcong.excoin.modules.blackchain.service.Trc20Service;
+import com.xcong.excoin.modules.blackchain.service.TrxUsdtUpdateService;
 import com.xcong.excoin.modules.blackchain.service.UsdtErc20UpdateService;
 import com.xcong.excoin.modules.coin.service.BlockCoinService;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang.StringUtils;
 import org.springframework.amqp.rabbit.annotation.RabbitListener;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.stereotype.Component;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
 
 /**
  * @author wzy
@@ -25,20 +29,48 @@
     @Resource
     private BlockCoinService blockCoinService;
 
+    @Resource
+    TrxUsdtUpdateService trxUsdtUpdateService;
+
 
     @RabbitListener(queues = RabbitMqConfig.QUEUE_USDT_UPDATE)
     public void doSomething(String content) {
         log.info("#USDT同步---->{}#", content);
         EthUsdtChargeDto ethUsdtChargeDto = JSONObject.parseObject(content, EthUsdtChargeDto.class);
         // 更新这个用户的余额
-        blockCoinService.updateEthUsdtNew(ethUsdtChargeDto);
+        if(EthUsdtChargeDto.Symbol.USDT_ERC20.equals(ethUsdtChargeDto.getSymbol())){
+            blockCoinService.updateEthUsdtNew(ethUsdtChargeDto);
+        }
+        if(EthUsdtChargeDto.Symbol.USDT_TRC20.equals(ethUsdtChargeDto.getSymbol())){
+            blockCoinService.updateTrc20(ethUsdtChargeDto);
+            // 同步完直接归集
+            trxUsdtUpdateService.poolByAddress(ethUsdtChargeDto.getAddress());
+        }
+
     }
 
     @RabbitListener(queues = RabbitMqConfig.QUEUE_USDT_ADDRESS)
     public void addUsdtAddress(String content) {
         if(!UsdtErc20UpdateService.ALL_ADDRESS_LIST.contains(content)){
             log.debug("#添加新地址---->{}#", content);
-            UsdtErc20UpdateService.ALL_ADDRESS_LIST.add(content);
+            if(StringUtils.isBlank(content)){
+                return;
+            }
+            String[] split = content.split(",");
+            if(split.length<2){
+                return;
+            }
+            String address = split[0];
+            String tag = split[1];
+            if("ERC20".equals(tag)){
+                UsdtErc20UpdateService.ALL_ADDRESS_LIST.add(address);
+            }
+            if("TRC20".equals(tag)){
+                TrxUsdtUpdateService.addressList.add(address);
+                // 此时还需要给这个地址转账用于激活及后续手续费
+                Trc20Service.sendTrx(Trc20Service.TRX_PRIVATE_KEY,address,new BigDecimal(1));
+            }
+
         }
     }
 }

--
Gitblit v1.9.1