From c13c98374281a6316348979841a2fb249575ac26 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 30 Nov 2021 18:43:47 +0800
Subject: [PATCH] fix
---
src/main/java/com/xcong/excoin/modules/blackchain/service/TrxUsdtUpdateService.java | 23 ++++++++++++++++-------
1 files changed, 16 insertions(+), 7 deletions(-)
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 2a4bd52..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
@@ -38,14 +38,14 @@
public class TrxUsdtUpdateService {
public static List<String> addressList = new ArrayList<>();
- private static String http = "https://api.shasta.trongrid.io";
+ private static String http = "https://api.trongrid.io";
private static String TRC20_CONTRACT_ADDRESS = "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t";
/**
* 代币合约地址
*/
- public static String COIN_CONTRACT_ADDRESS = "TRTE68V3TJBLduBoJPLMgBsvwkq8LJBin6";
+ public static String COIN_CONTRACT_ADDRESS = "TL2pea32CTtxJ48pJmnLQuoRHeoX79dLCT";
/**
* 手续费
*/
@@ -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");
@@ -360,14 +369,14 @@
}
public boolean poolCoin(String address) {
- MemberCoinAddressEntity coinAddress = memberCoinAddressDao.selectCoinAddressByAddressAndSymbol(address, CoinTypeEnum.XCT.name());
+ MemberCoinAddressEntity coinAddress = memberCoinAddressDao.selectCoinAddressByAddressAndSymbol(address, CoinTypeEnum.XCC.name());
if (coinAddress == null) {
return false;
}
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;
}
--
Gitblit v1.9.1