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 |    9 ++++++++-
 src/test/java/cc/mrbird/febs/JunitTest.java                               |    9 +++++++++
 2 files changed, 17 insertions(+), 1 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 a1d13b9..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;
         }
diff --git a/src/test/java/cc/mrbird/febs/JunitTest.java b/src/test/java/cc/mrbird/febs/JunitTest.java
index d473f01..84106da 100644
--- a/src/test/java/cc/mrbird/febs/JunitTest.java
+++ b/src/test/java/cc/mrbird/febs/JunitTest.java
@@ -3,11 +3,15 @@
 import cc.mrbird.febs.dapp.entity.DappMemberEntity;
 import cc.mrbird.febs.dapp.mapper.DappMemberDao;
 import cc.mrbird.febs.job.MineProfitJob;
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUnit;
+import cn.hutool.core.date.DateUtil;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 
 import java.math.BigDecimal;
+import java.util.Date;
 
 /**
  * @author 
@@ -31,4 +35,9 @@
         DappMemberEntity member = dappMemberDao.selectById(6L);
         mineProfitJob.calAgentMoney(member, BigDecimal.TEN);
     }
+
+    public static void main(String[] args) {
+        DateTime tomorrow = DateUtil.beginOfDay(DateUtil.tomorrow());
+        System.out.println(DateUtil.between(new Date(), tomorrow, DateUnit.SECOND, true));
+    }
 }

--
Gitblit v1.9.1