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 ++++++++-
 1 files changed, 8 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;
         }

--
Gitblit v1.9.1