From 42f05d2b835ed1ee41ca32cf76fe11849a890cb4 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 06 五月 2021 14:26:03 +0800
Subject: [PATCH] 金币完善

---
 service-goldcorn/src/main/java/com/ks/goldcorn/manager/RedisManager.java |   63 ++++++++++++++++++++++++++++++-
 1 files changed, 60 insertions(+), 3 deletions(-)

diff --git a/service-goldcorn/src/main/java/com/ks/goldcorn/manager/RedisManager.java b/service-goldcorn/src/main/java/com/ks/goldcorn/manager/RedisManager.java
index e36cb40..d3a1ecb 100644
--- a/service-goldcorn/src/main/java/com/ks/goldcorn/manager/RedisManager.java
+++ b/service-goldcorn/src/main/java/com/ks/goldcorn/manager/RedisManager.java
@@ -3,8 +3,11 @@
 import com.ks.lib.common.util.RedisUtil;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Component;
+import org.yeshi.utils.TimeUtil;
 
 import javax.annotation.Resource;
+import java.util.Date;
+import java.util.concurrent.TimeUnit;
 
 @Component
 public class RedisManager {
@@ -20,9 +23,63 @@
         }
     }
 
-
-    public void get() {
-        redisUtil.get("");
+    private String getGetGoldCornCountKey(String appCode, String uid, String sourceCode) {
+        String key = String.format("getcorncount-%s-%s-%s", appCode, uid, sourceCode);
+        return key;
     }
 
+    private String getGetGoldCornTimeKey(String appCode, String uid, String sourceCode) {
+        String key = String.format("getcorntime-%s-%s-%s", appCode, uid, sourceCode);
+        return key;
+    }
+
+    /**
+     * 鑾峰彇閲戝竵澧炲姞鐨勬鏁�
+     *
+     * @param appCode
+     * @param uid
+     * @return
+     */
+    public int getGoldCornAddRecordCount(String appCode, String uid, String sourceCode) {
+        String key = getGetGoldCornCountKey(appCode, uid, sourceCode);
+        Object value = redisTemplate.opsForValue().get(key);
+        if (value == null) {
+            return 0;
+        }
+        return Integer.parseInt(value + "");
+    }
+
+
+    public void addCornSuccess(String appCode, String uid, String sourceCode, int nextTimeSpan) {
+        long now = System.currentTimeMillis();
+        Date expireTime = new Date(TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(now + 1000 * 60 * 60 * 24L, "yyyyMMdd"), "yyyyMMdd"));
+        String countKey = getGetGoldCornCountKey(appCode, uid, sourceCode);
+        increCount(countKey, expireTime);
+        String timeKey = getGetGoldCornTimeKey(appCode, uid, sourceCode);
+        redisTemplate.opsForValue().set(timeKey, 1, nextTimeSpan == 0 ? 1 : nextTimeSpan, TimeUnit.SECONDS);
+    }
+
+    public boolean canAddCornWithTime(String appCode, String uid, String sourceCode) {
+        String timeKey = getGetGoldCornTimeKey(appCode, uid, sourceCode);
+        return !redisTemplate.hasKey(timeKey);
+    }
+
+    public long getCanAddCornExpireTime(String appCode, String uid, String sourceCode) {
+        String timeKey = getGetGoldCornTimeKey(appCode, uid, sourceCode);
+        return redisTemplate.getExpire(timeKey);
+    }
+
+
+    /**
+     * 澧炲姞娆℃暟
+     *
+     * @param key
+     * @param expireTime
+     */
+    private void increCount(String key, Date expireTime) {
+        redisTemplate.opsForValue().increment(key, 1);
+        redisTemplate.expireAt(key, expireTime);
+    }
+
+
 }

--
Gitblit v1.8.0