From 3bc7a5ae3caabdea9056462e6052a1e5d990371c Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Mon, 30 May 2022 18:40:25 +0800
Subject: [PATCH] fix

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java |   12 ++++++++----
 src/main/java/cc/mrbird/febs/common/contants/AppContants.java             |    1 +
 src/main/java/cc/mrbird/febs/job/SystemTradeJob.java                      |    2 +-
 3 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/common/contants/AppContants.java b/src/main/java/cc/mrbird/febs/common/contants/AppContants.java
index def4173..1bf2d66 100644
--- a/src/main/java/cc/mrbird/febs/common/contants/AppContants.java
+++ b/src/main/java/cc/mrbird/febs/common/contants/AppContants.java
@@ -108,4 +108,5 @@
     public static final String REDIS_KEY_TRANSFER_POOL_VOL_REMAIN = "TRANSFER_POOL_VOL_REMAIN";
     public static final String REDIS_KEY_USDT_OUT_LIMIT = "SOURCE_POOL_USDT_OUT_LIMIT";
     public static final String REDIS_KEY_USDT_OUT_LIMIT_REMAIN = "SOURCE_POOL_USDT_OUT_LIMIT_REMAIN";
+    public static final String REDIS_KEY_COIN_REMAIN = "COIN_REMAIN";
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java
index 03de9eb..2109892 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java
@@ -5,6 +5,7 @@
 import cc.mrbird.febs.common.utils.RedisUtils;
 import cc.mrbird.febs.dapp.chain.ChainEnum;
 import cc.mrbird.febs.dapp.chain.ChainService;
+import cc.mrbird.febs.dapp.chain.ContractChainService;
 import cc.mrbird.febs.dapp.dto.SystemDto;
 import cc.mrbird.febs.dapp.entity.DappMemberEntity;
 import cc.mrbird.febs.dapp.entity.DappMineDataEntity;
@@ -77,17 +78,20 @@
         system.setBuyTotal(transferPool.getTodayVol());
         system.setBuyRemain(poolRemain);
 
-        BigDecimal balance = ChainService.getInstance(ChainEnum.BSC_TFC.name()).balanceOf(member.getAddress());
-        Object o = redisUtils.get(AppContants.REDIS_KEY_USDT_OUT_LIMIT_REMAIN);
+        ContractChainService instance = ChainService.getInstance(ChainEnum.BSC_TFC.name());
+        BigDecimal balance = instance.balanceOf(member.getAddress());
+        Object o = redisUtils.get(AppContants.REDIS_KEY_COIN_REMAIN);
+
+        BigDecimal coinTotal = balance.multiply(BigDecimal.valueOf(0.3)).setScale(instance.decimals(), RoundingMode.HALF_DOWN);
         BigDecimal remain;
         if (o == null) {
-            remain = balance.multiply(BigDecimal.valueOf(0.3));
+            remain = coinTotal;
             redisUtils.set(AppContants.REDIS_KEY_USDT_OUT_LIMIT_REMAIN, remain);
         } else {
             remain = (BigDecimal) o;
         }
         // 卖币数量
-        system.setSaleTotal(balance.multiply(BigDecimal.valueOf(0.3)));
+        system.setSaleTotal(coinTotal);
         system.setSaleRemain(remain);
 
         BigDecimal usdtRemain = (BigDecimal) redisUtils.get(AppContants.REDIS_KEY_USDT_OUT_LIMIT_REMAIN);
diff --git a/src/main/java/cc/mrbird/febs/job/SystemTradeJob.java b/src/main/java/cc/mrbird/febs/job/SystemTradeJob.java
index 145058d..99409cd 100644
--- a/src/main/java/cc/mrbird/febs/job/SystemTradeJob.java
+++ b/src/main/java/cc/mrbird/febs/job/SystemTradeJob.java
@@ -103,7 +103,7 @@
         log.info("源池每日出U限制");
         BigDecimal sourceBalance = ChainService.getInstance(ChainEnum.BSC_USDT.name()).balanceOf(ChainEnum.BSC_USDT_SOURCE.getAddress());
 
-        BigDecimal total = sourceBalance.multiply(BigDecimal.valueOf(0.1));
+        BigDecimal total = sourceBalance.multiply(BigDecimal.valueOf(0.1)).setScale(8, RoundingMode.HALF_DOWN);
         redisUtils.set(AppContants.REDIS_KEY_USDT_OUT_LIMIT, total);
         redisUtils.set(AppContants.REDIS_KEY_USDT_OUT_LIMIT_REMAIN, total);
     }

--
Gitblit v1.9.1