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