From 366dbbdc52e92684c16532d85039d9eb7650983f Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期三, 26 十月 2022 16:41:55 +0800 Subject: [PATCH] 1 --- src/main/java/com/lf/server/service/sys/BlacklistService.java | 37 +++++++++++++++++++++++++++++++++++++ 1 files changed, 37 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/lf/server/service/sys/BlacklistService.java b/src/main/java/com/lf/server/service/sys/BlacklistService.java index 3ca0f08..f7d8fc7 100644 --- a/src/main/java/com/lf/server/service/sys/BlacklistService.java +++ b/src/main/java/com/lf/server/service/sys/BlacklistService.java @@ -1,12 +1,17 @@ package com.lf.server.service.sys; +import com.lf.server.entity.all.MenusAuthEntity; +import com.lf.server.entity.all.RedisCacheKey; +import com.lf.server.entity.all.SettingData; import com.lf.server.entity.sys.BlacklistEntity; import com.lf.server.helper.StringHelper; import com.lf.server.mapper.sys.BlacklistMapper; +import com.lf.server.service.all.RedisService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; +import java.util.concurrent.TimeUnit; /** * 榛戝悕鍗� @@ -16,6 +21,11 @@ public class BlacklistService implements BlacklistMapper { @Autowired BlacklistMapper blacklistMapper; + + @Autowired + RedisService redisService; + + private final static int TWO = 2; @Override public Integer selectCount(String ip, Integer type) { @@ -42,6 +52,33 @@ } @Override + public List<String> selectIpList(Integer type) { + if (type == null || type < 1 || type > TWO) { + return null; + } + + String key = RedisCacheKey.blacklistKey(type.toString()); + Object obj = redisService.get(key); + if (obj instanceof List<?>) { + return (List<String>) obj; + } + + List<String> list = blacklistMapper.selectIpList(type); + if (list != null && list.size() > 0) { + redisService.put(key, list, SettingData.CACHE_EXPIRE, TimeUnit.MINUTES); + } + + return list; + } + + /** + * 娓呯┖缂撳瓨 + */ + public void clearCache() { + redisService.clearKeys(RedisCacheKey.blacklistKey("")); + } + + @Override public Integer insert(BlacklistEntity entity) { return blacklistMapper.insert(entity); } -- Gitblit v1.9.3