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