From 37926d8d866154c77d70d42931d8feba00d7569f Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 31 May 2022 09:44:46 +0800
Subject: [PATCH] fix

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java |   69 +++++++++++++++++++++++++++++-----
 1 files changed, 59 insertions(+), 10 deletions(-)

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 53321f3..7f5491b 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
@@ -1,22 +1,34 @@
 package cc.mrbird.febs.dapp.service.impl;
 
 import cc.mrbird.febs.common.contants.AppContants;
+import cc.mrbird.febs.common.utils.LoginUserUtil;
 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;
+import cc.mrbird.febs.dapp.entity.DappReturnRatioEntity;
+import cc.mrbird.febs.dapp.mapper.DappReturnRatioDao;
 import cc.mrbird.febs.dapp.mapper.DappSystemDao;
 import cc.mrbird.febs.dapp.service.DappSystemService;
+import cc.mrbird.febs.dapp.vo.RedisTransferPoolVo;
+import cn.hutool.core.util.RandomUtil;
+import cn.hutool.core.util.StrUtil;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
 /**
- * @author wzy
+ * @author 
  * @date 2022-03-24
  **/
 @Slf4j
@@ -25,23 +37,19 @@
 public class DappSystemServiceImpl implements DappSystemService {
 
     private final DappSystemDao dappSystemDao;
+    private final DappReturnRatioDao dappReturnRatioDao;
     private final RedisUtils redisUtils;
 
+    private final String[] ADDRESS_PREFIX = {"T", "0x"};
     @Override
     public Map<String, Object> findTotalInComeAndList() {
         DappMineDataEntity dataMine = dappSystemDao.selectMineDataForOne();
 
-        List<Map<String, Object>> incomeList = new ArrayList<>();
-        for (int i = 0; i < 15; i++) {
-            Map<String, Object> incomeItem = new HashMap<>();
-            incomeItem.put("address", "TUy8XwDmdsDKPLDGUrGuNRVMhwSEKtkDcD");
-            incomeItem.put("income", 0.313241234);
-            incomeList.add(incomeItem);
-        }
 
         Map<String, Object> result = new HashMap<>();
-        result.put("mineData", dataMine);
-        result.put("userIncome", incomeList);
+        result.put("total", 6000);
+        result.put("addreessCnt", 1234);
+        result.put("coinCnt", 4000);
         return result;
     }
 
@@ -50,9 +58,50 @@
         BigDecimal newPrice = (BigDecimal) redisUtils.get(AppContants.REDIS_KEY_ETH_NEW_PRICE);
         Integer changeFee = (Integer) redisUtils.get(AppContants.REDIS_KEY_CHANGE_FEE);
 
+        List<DappReturnRatioEntity> ratios = dappReturnRatioDao.selectList(null);
         Map<String, Object> result = new HashMap<>();
         result.put("newPrice", newPrice);
         result.put("changeFee", changeFee);
+        result.put("ratio", ratios);
         return result;
     }
+
+    @Override
+    public SystemDto system() {
+        DappMemberEntity member = LoginUserUtil.getAppUser();
+
+        SystemDto system = new SystemDto();
+
+        RedisTransferPoolVo transferPool = (RedisTransferPoolVo) redisUtils.get(AppContants.REDIS_KEY_TRANSFER_POOL_VOL);
+        BigDecimal poolRemain = (BigDecimal) redisUtils.get(AppContants.REDIS_KEY_TRANSFER_POOL_VOL_REMAIN);
+        // 买币数量
+        system.setBuyTotal(transferPool.getTodayVol());
+        system.setBuyRemain(poolRemain);
+
+        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 = coinTotal;
+            redisUtils.set(AppContants.REDIS_KEY_COIN_REMAIN, remain);
+        } else {
+            remain = (BigDecimal) o;
+        }
+        // 卖币数量
+        system.setSaleTotal(coinTotal);
+        system.setSaleRemain(remain);
+
+        BigDecimal usdtRemain = (BigDecimal) redisUtils.get(AppContants.REDIS_KEY_USDT_OUT_LIMIT_REMAIN);
+        BigDecimal usdtTotal = (BigDecimal) redisUtils.get(AppContants.REDIS_KEY_USDT_OUT_LIMIT);
+
+        // usdt数量
+        system.setUsdtTotal(usdtTotal);
+        system.setUsdtRemain(usdtRemain);
+
+        system.setFeeRatio(BigDecimal.TEN);
+        return system;
+    }
 }

--
Gitblit v1.9.1