管道基础大数据平台系统开发-【后端】-Server
1
13693261870
2022-10-26 366dbbdc52e92684c16532d85039d9eb7650983f
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);
    }