From d1c4c4b56f065d28cadf90370e0709294cfcdbc4 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 10 Oct 2022 16:16:32 +0800
Subject: [PATCH] 20220707

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java |   82 ++++++++++++++++++++++++++++++++++++----
 1 files changed, 73 insertions(+), 9 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 f72adf3..9f67320 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,6 +1,7 @@
 package cc.mrbird.febs.dapp.service.impl;
 
 import cc.mrbird.febs.common.contants.AppContants;
+import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.common.utils.LoginUserUtil;
 import cc.mrbird.febs.common.utils.RedisUtils;
 import cc.mrbird.febs.dapp.chain.ChainEnum;
@@ -17,11 +18,14 @@
 import cc.mrbird.febs.job.SystemTradeJob;
 import cc.mrbird.febs.rabbit.producer.ChainProducer;
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.date.DateField;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUnit;
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.RandomUtil;
 import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSONUtil;
 import com.alibaba.fastjson.JSONObject;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -62,6 +66,7 @@
     private final DappMemberBoxRecordMapper dappMemberBoxRecordMapper;
     private final DappWalletCoinDao dappWalletCoinDao;
     private final DappSdeWithdrawFeeDao dappSdeWithdrawFeeDao;
+    private final DappPriceRecordDao dappPriceRecordDao;
 
 
     @Override
@@ -80,6 +85,7 @@
 //        int count = nftCount == null ? 0 : nftCount.intValue();
         result.put("cardCnt", 1000);
         result.put("nftPrice", AppContants.NFT_ACTIVE_PRICE);
+        result.put("rewardPool", ChainService.getInstance(ChainEnum.BSC_TFC.name()).balanceOf(ChainEnum.BSC_TFC_REWARD.getAddress()));
         return result;
     }
 
@@ -144,12 +150,9 @@
 
         Object o = redisUtils.get(AppContants.REDIS_KEY_COIN_REMAIN + member.getAddress());
 
-        BigDecimal minLimit = new BigDecimal(50);
-        BigDecimal coinTotal;
-        if (balance.compareTo(minLimit) > 0) {
+        BigDecimal coinTotal = balance;
+        if (this.hasProfit(member.getAddress())) {
             coinTotal = balance.multiply(BigDecimal.valueOf(0.3)).setScale(instance.decimals(), RoundingMode.HALF_DOWN);
-        } else {
-            coinTotal = new BigDecimal(50);
         }
 
         BigDecimal remain;
@@ -743,7 +746,7 @@
             // 源池USDT数量
             BigDecimal usdtBalance = ChainService.getInstance(ChainEnum.BSC_USDT_SOURCE.name()).balanceOf(ChainEnum.BSC_USDT_SOURCE.getAddress());
 
-            return tfcBalance.divide(usdtBalance, tfcInstance.decimals(), RoundingMode.HALF_UP);
+            return usdtBalance.divide(tfcBalance, tfcInstance.decimals(), RoundingMode.HALF_UP);
         } else {
             return new BigDecimal("0.05");
         }
@@ -891,9 +894,6 @@
         return cardCntMap;
     }
 
-    @Autowired
-    private DappPriceRecordDao dappPriceRecordDao;
-
     @Override
     public void tfcNewPrice() {
         BigDecimal newPrice = newestPrice();
@@ -918,4 +918,68 @@
         // 给影子生态发送价格
         chainProducer.sendTfcNewPrice(newPrice.toPlainString());
     }
+
+    @Override
+    public List<DappPriceRecordEntity> findPriceListIn24H() {
+        DateTime startTime = DateUtil.offset(new Date(), DateField.HOUR, -24);
+        List<DappPriceRecordEntity> list = dappPriceRecordDao.selectPriceListInStartTimeAndEndTime(startTime, new Date());
+        list.forEach(item -> {
+            item.setTime(DateUtil.format(item.getCreateTime(), "HH:mm"));
+        });
+        return list;
+    }
+
+    @Override
+    public List<DataDictionaryCustom> findDataDicByType(String type) {
+        return dataDictionaryCustomMapper.selectDicByType(type);
+    }
+
+    @Override
+    public void levelSystemSetting(Map<String, Object> map) {
+        for (Map.Entry<String, Object> entry : map.entrySet()) {
+            if (entry.getValue() instanceof String) {
+                dataDictionaryCustomMapper.updateDicValueByTypeAndCode(null, entry.getKey(), (String) entry.getValue());
+            } else {
+                List<LinkedHashMap<String, Object>> value = (List<LinkedHashMap<String, Object>>) entry.getValue();
+
+                for (LinkedHashMap<String, Object> dic : value) {
+                    String type = (String) dic.get("type");
+                    String code = (String) dic.get("code");
+                    String dataValue = (String) dic.get("value");
+                    dataDictionaryCustomMapper.updateDicValueByTypeAndCode(type, code, dataValue);
+                }
+            }
+        }
+    }
+
+    @Override
+    @Transactional
+    public FebsResponse enableOnHook(Long id) {
+        DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectById(id);
+        if (ObjectUtil.isEmpty(dataDictionaryCustom)) {
+            return new FebsResponse().fail().message("网络繁忙,请刷新当前页面");
+        }
+        String type = dataDictionaryCustom.getType();
+        String code = dataDictionaryCustom.getCode();
+        String dicValue = dataDictionaryCustom.getValue();
+        cn.hutool.json.JSONObject jsonObject = JSONUtil.parseObj(dicValue);
+        jsonObject.set("state",1);
+        dataDictionaryCustomMapper.updateDicValueByTypeAndCode(type, code, jsonObject.toString());
+        return new FebsResponse().success();
+    }
+
+    @Override
+    public FebsResponse disableOnHook(Long id) {
+        DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectById(id);
+        if (ObjectUtil.isEmpty(dataDictionaryCustom)) {
+            return new FebsResponse().fail().message("网络繁忙,请刷新当前页面");
+        }
+        String type = dataDictionaryCustom.getType();
+        String code = dataDictionaryCustom.getCode();
+        String dicValue = dataDictionaryCustom.getValue();
+        cn.hutool.json.JSONObject jsonObject = JSONUtil.parseObj(dicValue);
+        jsonObject.set("state",2);
+        dataDictionaryCustomMapper.updateDicValueByTypeAndCode(type, code, jsonObject.toString());
+        return new FebsResponse().success();
+    }
 }

--
Gitblit v1.9.1