From c7a9e0e2dce79c1edaab846ef359ff4405edfdc0 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 09 Jun 2022 18:24:54 +0800
Subject: [PATCH] fix redis expire

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 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 5e64ebc..0b8503c 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
@@ -15,6 +15,9 @@
 import cc.mrbird.febs.dapp.vo.SlipSettingVo;
 import cc.mrbird.febs.rabbit.producer.ChainProducer;
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUnit;
+import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.RandomUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSONObject;
@@ -108,13 +111,17 @@
 
         ContractChainService instance = ChainService.getInstance(ChainEnum.BSC_TFC.name());
         BigDecimal balance = instance.balanceOf(member.getAddress());
+
         Object o = redisUtils.get(AppContants.REDIS_KEY_COIN_REMAIN + member.getAddress());
 
         BigDecimal coinTotal = balance.multiply(BigDecimal.valueOf(0.3)).setScale(instance.decimals(), RoundingMode.HALF_DOWN);
         BigDecimal remain;
         if (o == null) {
+            DateTime tomorrow = DateUtil.beginOfDay(DateUtil.tomorrow());
+            long time = DateUtil.between(new Date(), tomorrow, DateUnit.SECOND, true);
+
             remain = coinTotal;
-            redisUtils.set(AppContants.REDIS_KEY_COIN_REMAIN + member.getAddress(), remain);
+            redisUtils.set(AppContants.REDIS_KEY_COIN_REMAIN + member.getAddress(), remain, time);
         } else {
             remain = (BigDecimal) o;
         }
@@ -188,6 +195,9 @@
 
                 OnlineTransferUtil.addTransfer(parent.getAddress(), total, fundflow.getType(), 1, ChainEnum.BSC_TFC_SOURCE.name(), AppContants.SYMBOL_COIN, batchNo);
 
+                DappFundFlowEntity distribFlow = new DappFundFlowEntity(parent.getId(), total, 4, 2, BigDecimal.ZERO);
+                dappFundFlowDao.insert(distribFlow);
+
                 nodeAmount = nodeAmount.subtract(total);
                 i++;
             }
@@ -207,7 +217,6 @@
 
     @Override
     public void mining() {
-        log.info("挖矿");
         ContractChainService contract = ChainService.getInstance(ChainEnum.BSC_TFC.name());
         // 发行量
         BigInteger totalSupply = contract.totalSupply();

--
Gitblit v1.9.1