From de00eeb45e3aee0cbb5f62210c05ef32bb7478b4 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 30 Nov 2021 14:22:49 +0800
Subject: [PATCH] fix
---
src/main/java/com/xcong/excoin/modules/blackchain/service/TrxUsdtUpdateService.java | 17 ++++-
src/test/java/com/xcong/excoin/TradeTest.java | 40 ++++++++++++-
src/main/java/com/xcong/excoin/modules/coin/service/impl/BlockCoinServiceImpl.java | 2
pom.xml | 82 +++++++++++++++++++-------
src/main/resources/application.yml | 2
5 files changed, 110 insertions(+), 33 deletions(-)
diff --git a/pom.xml b/pom.xml
index cc934d3..a844840 100644
--- a/pom.xml
+++ b/pom.xml
@@ -35,7 +35,58 @@
</properties>
<dependencies>
-
+
+ <dependency>
+ <groupId>io.grpc</groupId>
+ <artifactId>grpc-netty-shaded</artifactId>
+ <version>1.31.0</version>
+ </dependency>
+ <dependency>
+ <groupId>io.grpc</groupId>
+ <artifactId>grpc-netty</artifactId>
+ <version>1.31.0</version>
+ </dependency>
+ <dependency>
+ <groupId>io.grpc</groupId>
+ <artifactId>grpc-okhttp</artifactId>
+ <version>1.31.0</version>
+ </dependency>
+ <dependency>
+ <groupId>io.grpc</groupId>
+ <artifactId>grpc-protobuf</artifactId>
+ <version>1.31.0</version>
+ </dependency>
+ <dependency>
+ <groupId>io.grpc</groupId>
+ <artifactId>grpc-stub</artifactId>
+ <version>1.31.0</version>
+ </dependency>
+
+
+
+ <dependency>
+ <groupId>org.tron.trident</groupId>
+ <artifactId>abi</artifactId>
+ <version>0.3.0</version>
+ <scope>system</scope>
+ <systemPath>${basedir}/lib/abi-0.3.0.jar</systemPath>
+ </dependency>
+ <dependency>
+ <groupId>org.tron.trident</groupId>
+ <artifactId>utils</artifactId>
+ <version>0.3.0</version>
+ <scope>system</scope>
+ <systemPath>${basedir}/lib/utils-0.3.0.jar</systemPath>
+ </dependency>
+ <dependency>
+ <groupId>org.tron.trident</groupId>
+ <artifactId>core</artifactId>
+ <version>0.3.0</version>
+ <scope>system</scope>
+ <systemPath>${basedir}/lib/core-0.3.0.jar</systemPath>
+ </dependency>
+
+
<dependency>
<groupId>ripple</groupId>
<artifactId>ripple</artifactId>
@@ -348,12 +399,14 @@
<scope>system</scope>
<systemPath>${basedir}/lib/tron-sdk.jar</systemPath>
</dependency>
+
<dependency>
<groupId>org.jetbrains</groupId>
<artifactId>annotations</artifactId>
<version>13.0</version>
<scope>compile</scope>
</dependency>
+
<dependency>
<groupId>com.github.ki5fpl.tronj</groupId>
<artifactId>abi</artifactId>
@@ -377,28 +430,11 @@
<systemPath>${basedir}/lib/utils-0.4.0.jar</systemPath>
</dependency>
-
- <dependency>
- <groupId>org.tron.trident</groupId>
- <artifactId>abi</artifactId>
- <version>0.3.0</version>
- <scope>system</scope>
- <systemPath>${basedir}/lib/abi-0.3.0.jar</systemPath>
- </dependency>
- <dependency>
- <groupId>org.tron.trident</groupId>
- <artifactId>utils</artifactId>
- <version>0.3.0</version>
- <scope>system</scope>
- <systemPath>${basedir}/lib/utils-0.3.0.jar</systemPath>
- </dependency>
- <dependency>
- <groupId>org.tron.trident</groupId>
- <artifactId>core</artifactId>
- <version>0.3.0</version>
- <scope>system</scope>
- <systemPath>${basedir}/lib/core-0.3.0.jar</systemPath>
- </dependency>
+<!-- implementation 'io.grpc:grpc-netty-shaded:1.31.0'-->
+<!-- implementation 'io.grpc:grpc-netty:1.31.0'-->
+<!-- implementation 'io.grpc:grpc-okhttp:1.31.0'-->
+<!-- implementation 'io.grpc:grpc-protobuf:1.31.0'-->
+<!-- implementation 'io.grpc:grpc-stub:1.31.0'-->
</dependencies>
<build>
diff --git a/src/main/java/com/xcong/excoin/modules/blackchain/service/TrxUsdtUpdateService.java b/src/main/java/com/xcong/excoin/modules/blackchain/service/TrxUsdtUpdateService.java
index 93e5c94..83b1e24 100644
--- a/src/main/java/com/xcong/excoin/modules/blackchain/service/TrxUsdtUpdateService.java
+++ b/src/main/java/com/xcong/excoin/modules/blackchain/service/TrxUsdtUpdateService.java
@@ -273,7 +273,13 @@
//币种
if (StringUtils.isNotEmpty(amountStr)) {
- amount = new BigDecimal(amountStr).divide(new BigDecimal(1 + TransformUtil.getSeqNumByLong(0L, 6)));
+ if (TRC20_CONTRACT_ADDRESS.equals(contract_address)) {
+ // USDT精度为6
+ amount = new BigDecimal(amountStr).divide(new BigDecimal(1 + TransformUtil.getSeqNumByLong(0L, 6)));
+ } else {
+ // 代币精度为8
+ amount = new BigDecimal(amountStr).divide(new BigDecimal(1 + TransformUtil.getSeqNumByLong(0L, 8)));
+ }
}
for (String address : addressList) {
if (address.equals(to_address)) {
@@ -339,7 +345,10 @@
if (trc20_pool != null) {
poolList = (List) trc20_pool;
}
- poolList.add(address);
+
+ if (!poolList.contains(address)){
+ poolList.add(address);
+ }
redisUtils.set("TRC20_POOL", poolList);
return true;
}
@@ -348,7 +357,7 @@
public boolean poolUsdt(String address) {
// 转
BigDecimal trc20Balance = Trc20Service.getTrc20Balance(address);
- if (trc20Balance == null) {
+ if (trc20Balance == null || BigDecimal.ZERO.compareTo(trc20Balance) <= 0) {
return false;
}
MemberCoinAddressEntity coinAddressEntity = memberCoinAddressDao.selectCoinAddressByAddressAndSymbolTag(address, "USDT", "TRC20");
@@ -367,7 +376,7 @@
Trc20Contract token = contractToken(coinAddress.getAddress(), coinAddress.getPrivateKey());
BigInteger balance = token.balanceOf(address);
- if (balance == null || balance.compareTo(BigInteger.ZERO) == 0) {
+ if (balance == null || balance.compareTo(BigInteger.ZERO) <= 0) {
return false;
}
diff --git a/src/main/java/com/xcong/excoin/modules/coin/service/impl/BlockCoinServiceImpl.java b/src/main/java/com/xcong/excoin/modules/coin/service/impl/BlockCoinServiceImpl.java
index 2b5f2d4..600145a 100644
--- a/src/main/java/com/xcong/excoin/modules/coin/service/impl/BlockCoinServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/coin/service/impl/BlockCoinServiceImpl.java
@@ -422,7 +422,7 @@
return;
}
- List<String> symbolArr = StrUtil.split(dto.getSymbol(), ',');
+ List<String> symbolArr = StrUtil.split(dto.getSymbol(), '_');
if (CollUtil.isEmpty(symbolArr) || symbolArr.size() != 2) {
log.error("更新trc20失败:{}, {}, {}, {}", hash, dto.getSymbol(), amount, address);
return;
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index a894f07..51e31b5 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -100,7 +100,7 @@
other-job: false
loop-job: false
rabbit-consumer: false
- block-job: false
+ block-job: true
fish-hit: false
aliyun:
diff --git a/src/test/java/com/xcong/excoin/TradeTest.java b/src/test/java/com/xcong/excoin/TradeTest.java
index 7d71966..1cfc6a8 100644
--- a/src/test/java/com/xcong/excoin/TradeTest.java
+++ b/src/test/java/com/xcong/excoin/TradeTest.java
@@ -1,16 +1,23 @@
package com.xcong.excoin;
import cn.hutool.crypto.SecureUtil;
+import com.xcong.excoin.modules.blackchain.service.Trc20Service;
+import com.xcong.excoin.modules.blackchain.service.TrxUsdtUpdateService;
import com.xcong.excoin.modules.coin.dao.OrderCoinsDao;
import com.xcong.excoin.modules.coin.entity.OrderCoinsEntity;
import com.xcong.excoin.modules.coin.service.OrderCoinService;
+import com.xcong.excoin.rabbit.consumer.UsdtUpdateConsumer;
import com.xcong.excoin.trade.CoinTrader;
import com.xcong.excoin.utils.CoinTypeConvert;
import com.xcong.excoin.utils.RedisUtils;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
+import org.tron.trident.core.ApiWrapper;
+import org.tron.trident.core.contract.Contract;
+import org.tron.trident.core.contract.Trc20Contract;
import javax.annotation.Resource;
import java.math.BigDecimal;
@@ -36,13 +43,38 @@
redisUtils.set("GBZ_NEW_PRICE",new BigDecimal("12.33"));
}
- public static void main(String[] args) throws InterruptedException {
- String s = SecureUtil.md5("330021");
- System.out.println(s);
- }
+// public static void main(String[] args) throws InterruptedException {
+// String s = SecureUtil.md5("330021");
+// System.out.println(s);
+// }
@Test
public void gbz() {
System.out.println(redisUtils.getString(CoinTypeConvert.convertToKey("GBZ"+"/USDT")));
}
+
+ @Autowired
+ private UsdtUpdateConsumer usdtUpdateConsumer;
+
+ @Resource
+ TrxUsdtUpdateService trxUsdtUpdateService;
+
+ @Test
+ public void xccTest() {
+ String content = "{\"address\":\"TGq1DCMs1bR9pA9fwj2bKZwNWRyWZykJBZ\",\"balance\":10000,\"hash\":\"0563c844e00ded7a2851276e06240efd06ba00468450ab586dd05f0d686aa5a5\",\"symbol\":\"XCC_TRC20\"}";
+// usdtUpdateConsumer.doSomething(content);
+
+
+// trxUsdtUpdateService.poolByAddress("TGq1DCMs1bR9pA9fwj2bKZwNWRyWZykJBZ");
+
+
+ ApiWrapper wrapper = ApiWrapper.ofMainnet("af4913d8462ca83e0a2df587072e42ec565bc26f6bec0724d1bf2e80d4c0bcb7", Trc20Service.API_KEY);
+ Contract trc20Contract = wrapper.getContract("TL2pea32CTtxJ48pJmnLQuoRHeoX79dLCT");
+ Trc20Contract token = new Trc20Contract(trc20Contract, "TZ5sZBLU5pdZbqN56rVsUEQuRHzYGRSY8a", wrapper);
+
+ System.out.println(token.balanceOf("TZ5sZBLU5pdZbqN56rVsUEQuRHzYGRSY8a"));;
+ }
+
+ public static void main(String[] args) {
+ }
}
--
Gitblit v1.9.1