package com.moon.server.service.sys; import com.moon.server.entity.all.RedisCacheKey; import com.moon.server.entity.all.SettingData; import com.moon.server.entity.sys.BlacklistEntity; import com.moon.server.helper.StringHelper; import com.moon.server.mapper.sys.BlacklistMapper; import com.moon.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; @Service @SuppressWarnings("ALL") 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) { ip = StringHelper.getLikeUpperStr(ip); return blacklistMapper.selectCount(ip, type); } @Override public List selectByPage(String ip, Integer type, Integer limit, Integer offset) { ip = StringHelper.getLikeUpperStr(ip); return blacklistMapper.selectByPage(ip, type, limit, offset); } @Override public List selectAll() { return blacklistMapper.selectAll(); } @Override public BlacklistEntity selectById(int id) { return blacklistMapper.selectById(id); } @Override public List 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) obj; } List 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); } @Override public Integer inserts(List list) { return blacklistMapper.inserts(list); } @Override public Integer delete(int id) { return blacklistMapper.delete(id); } @Override public Integer deletes(List ids) { return blacklistMapper.deletes(ids); } @Override public Integer update(BlacklistEntity entity) { return blacklistMapper.update(entity); } @Override public Integer updates(List list) { return blacklistMapper.updates(list); } }