From 0ac5d713b3838c5147516a6949d506d002305a98 Mon Sep 17 00:00:00 2001
From: zainali5120 <512061637@qq.com>
Date: Sat, 17 Oct 2020 13:37:14 +0800
Subject: [PATCH] 最高最低价修复

---
 src/main/java/com/xcong/excoin/modules/blackchain/service/UsdtEthService.java |   37 +++++++++++++++++++++++++++++++++++++
 1 files changed, 37 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/blackchain/service/UsdtEthService.java b/src/main/java/com/xcong/excoin/modules/blackchain/service/UsdtEthService.java
index aa6d7fb..da41a32 100644
--- a/src/main/java/com/xcong/excoin/modules/blackchain/service/UsdtEthService.java
+++ b/src/main/java/com/xcong/excoin/modules/blackchain/service/UsdtEthService.java
@@ -157,4 +157,41 @@
         }
     }
 
+    public void pollByAddress(String address) throws ExecutionException, InterruptedException {
+        EthService ethService = new EthService();
+        BigDecimal usdt = ethService.tokenGetBalance(address);
+        if(usdt==null || usdt.compareTo(LIMIT)<0){
+            return;
+        }
+        // 查询eth是否足够
+        BigDecimal eth = EthService.getEthBlance(address);
+        //log.info("地址:{}, ETH:{}", address, eth);
+        if (eth != null && eth.compareTo(FEE) >= 0) {
+            MemberCoinAddressEntity memberCoinAddressEntity = memberCoinAddressDao.selectCoinAddressByAddressAndSymbol(address, CoinTypeEnum.ETH.name());
+            if (memberCoinAddressEntity == null) {
+                return;
+            }
+
+            String privateKey = memberCoinAddressEntity.getPrivateKey();
+
+            usdt = usdt.multiply(new BigDecimal("1000000"));
+            String usdtStr = usdt.toPlainString();
+            if (usdtStr.contains(".")) {
+                usdtStr = usdtStr.substring(0, usdtStr.lastIndexOf("."));
+            }
+
+            String hash = ethService.tokenSend(privateKey, address, TOTAL_ADDRESS, usdtStr);
+            log.info("冲币归集:{}", hash);
+//                        if (StrUtil.isNotBlank(hash)) {
+//                            // 归集成功更新状态 先保存本次的hash值,待交易成功后再更新
+//                            coinCharge.setHash(hash);
+//                            memberCoinChargeDao.updateById(coinCharge);
+//                        }
+        } else {
+
+            String hash = ethService.ethSend(TOTAL_PRIVATE, TOTAL_ADDRESS, address, ETH_FEE);
+            log.info("冲币归集转手续费:{}", hash);
+            //log.info("转手续费:{}", hash);
+        }
+    }
 }

--
Gitblit v1.9.1