管道基础大数据平台系统开发-【后端】-Server
1
13693261870
2022-10-26 366dbbdc52e92684c16532d85039d9eb7650983f
1
已修改7个文件
71 ■■■■■ 文件已修改
data/db_tab.sql 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
data/项目实施计划(融合)v03.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/config/InitConfig.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/entity/all/RedisCacheKey.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/mapper/sys/BlacklistMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/service/sys/BlacklistService.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/sys/BlacklistMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
data/db_tab.sql
@@ -862,7 +862,7 @@
-- DROP TABLE IF EXISTS lf.sys_blacklist;
create table lf.sys_blacklist(
  id serial primary key,
  ip varchar(50),
  ip varchar(50) unique,
  type smallint default 1,
  visit integer default 0,
  descr varchar(50),
data/ÏîĿʵʩ¼Æ»®£¨Èںϣ©v03.xlsx
Binary files differ
src/main/java/com/lf/server/config/InitConfig.java
@@ -13,6 +13,7 @@
import com.lf.server.mapper.bd.DlgAgnpMapper;
import com.lf.server.service.all.PermsService;
import com.lf.server.service.sys.ArgsService;
import com.lf.server.service.sys.BlacklistService;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -45,6 +46,9 @@
    @Autowired
    PermsService permsService;
    @Autowired
    BlacklistService blacklistService;
    @Override
    public void run(ApplicationArguments args) {
        // noinspection AlibabaRemoveCommentedCode
@@ -59,6 +63,7 @@
            //testMybatisPlus();
            //testAes();
            //testPerms();
            //testBlacklist();
            //boolean f1 = ZipHelper.unzip("D:\\LF\\data\\resources.zip", "D:\\LF\\data\\unzip");
            //boolean f2 = ZipHelper.zip("D:\\LF\\data\\res.zip", "D:\\LF\\data\\unzip\\resources");
@@ -155,4 +160,13 @@
        pauList = permsService.selectPermsEntity("admin");
        permsService.clearAllCache();
    }
    private void testBlacklist() {
        List<String> list1 = blacklistService.selectIpList(1);
        List<String> list2 = blacklistService.selectIpList(1);
        List<String> list3 = blacklistService.selectIpList(2);
        List<String> list4 = blacklistService.selectIpList(2);
        blacklistService.clearCache();
        List<String> list5 = blacklistService.selectIpList(1);
    }
}
src/main/java/com/lf/server/entity/all/RedisCacheKey.java
@@ -60,4 +60,11 @@
    public static String permsPermsEntityKey(String key) {
        return "perms:permsEntity:" + key;
    }
    /**
     * é»‘/白名单键
     */
    public static String blacklistKey(String key) {
        return "blacklist:" + key;
    }
}
src/main/java/com/lf/server/mapper/sys/BlacklistMapper.java
@@ -49,6 +49,13 @@
    public BlacklistEntity selectById(int id);
    /**
     * æŸ¥è¯¢IP列表
     * @param type ç±»åˆ«
     * @return
     */
    public List<String> selectIpList(Integer type);
    /**
     * æ’入一条
     *
     * @param entity
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);
    }
src/main/resources/mapper/sys/BlacklistMapper.xml
@@ -37,6 +37,10 @@
        select a.*,fn_uname(a.create_user) createName,fn_uname(a.update_user) updateName from lf.sys_blacklist a where a.id = #{id}
    </select>
    <select id="selectIpList" resultType="java.lang.String">
        select ip from lf.sys_blacklist where type = #{type}
    </select>
    <insert id="insert" parameterType="com.lf.server.entity.sys.BlacklistEntity">
       insert into lf.sys_blacklist
       (ip,type,visit,descr,create_user,create_time)