From a26796c06e7dbf5e1f96dca971b08e1278103f29 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Mon, 13 Jun 2022 18:14:33 +0800
Subject: [PATCH] fix

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/BscCoinContractEvent.java |    2 +-
 src/test/java/cc/mrbird/febs/ChainTest.java                              |   10 ++++++++++
 src/main/resources/application-test.yml                                  |    6 +++---
 3 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/BscCoinContractEvent.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/BscCoinContractEvent.java
index 4d17957..0e51a29 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/BscCoinContractEvent.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/BscCoinContractEvent.java
@@ -100,7 +100,7 @@
             }
 
             BigInteger tokens = e.tokens;
-            BigDecimal amount = BigDecimal.valueOf(tokens.intValue()).divide(BigDecimal.TEN.pow(decimals), decimals, RoundingMode.HALF_DOWN);
+            BigDecimal amount = new BigDecimal(tokens.toString()).divide(BigDecimal.TEN.pow(decimals), decimals, RoundingMode.HALF_DOWN);
 
             // 如果转账对象地址不为源池地址,注册该用户并绑定上下级关系
             if (!e.to.equals(ChainEnum.BSC_TFC_SOURCE.getAddress().toLowerCase())) {
diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml
index c9b313a..886833c 100644
--- a/src/main/resources/application-test.yml
+++ b/src/main/resources/application-test.yml
@@ -2,7 +2,7 @@
   datasource:
     dynamic:
       # 是否开启 SQL日志输出,生产环境建议关闭,有性能损耗
-      p6spy: false
+      p6spy: true
       hikari:
         connection-timeout: 30000
         max-lifetime: 1800000
@@ -49,5 +49,5 @@
     publisher-confirm-type: correlated
 
 system:
-  online-transfer: false
-  chain-listener: false
\ No newline at end of file
+  online-transfer: true
+  chain-listener: true
\ No newline at end of file
diff --git a/src/test/java/cc/mrbird/febs/ChainTest.java b/src/test/java/cc/mrbird/febs/ChainTest.java
index dfd0d1f..95c5b3d 100644
--- a/src/test/java/cc/mrbird/febs/ChainTest.java
+++ b/src/test/java/cc/mrbird/febs/ChainTest.java
@@ -15,6 +15,8 @@
 import org.springframework.boot.test.context.SpringBootTest;
 
 import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.math.RoundingMode;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -95,4 +97,12 @@
     public void userBuyRewardTest() {
         chainProducer.sendUserBuyReward(56L);
     }
+
+    @Test
+    public void coinDecimalsTest() {
+        int decimals = ChainService.getInstance(ChainEnum.BSC_TFC.name()).decimals();
+        BigInteger bigInteger = new BigInteger("110000000000");
+        BigDecimal amount = new BigDecimal(bigInteger.toString()).divide(BigDecimal.TEN.pow(decimals), decimals, RoundingMode.HALF_DOWN);
+        System.out.println(amount);
+    }
 }

--
Gitblit v1.9.1