package com.terra.system.service.sys;
|
|
import com.terra.system.entity.all.RedisCacheKey;
|
import com.terra.system.entity.all.SettingData;
|
import com.terra.system.entity.sys.BlacklistEntity;
|
import com.terra.system.helper.StringHelper;
|
import com.terra.system.mapper.sys.BlacklistMapper;
|
import com.terra.system.service.all.RedisService;
|
import javax.annotation.Resource;
|
import org.springframework.stereotype.Service;
|
|
import java.util.List;
|
import java.util.concurrent.TimeUnit;
|
|
/**
|
* 黑名单
|
* @author WWW
|
*/
|
@Service
|
public class BlacklistService implements BlacklistMapper {
|
@Resource
|
BlacklistMapper blacklistMapper;
|
|
@Resource
|
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<BlacklistEntity> selectByPage(String ip, Integer type, Integer limit, Integer offset) {
|
ip = StringHelper.getLikeUpperStr(ip);
|
|
return blacklistMapper.selectByPage(ip, type, limit, offset);
|
}
|
|
@Override
|
public List<BlacklistEntity> selectAll() {
|
return blacklistMapper.selectAll();
|
}
|
|
@Override
|
public BlacklistEntity selectById(int id) {
|
return blacklistMapper.selectById(id);
|
}
|
|
@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);
|
}
|
|
@Override
|
public Integer inserts(List<BlacklistEntity> list) {
|
return blacklistMapper.inserts(list);
|
}
|
|
@Override
|
public Integer delete(int id) {
|
return blacklistMapper.delete(id);
|
}
|
|
@Override
|
public Integer deletes(List<Integer> ids) {
|
return blacklistMapper.deletes(ids);
|
}
|
|
@Override
|
public Integer update(BlacklistEntity entity) {
|
return blacklistMapper.update(entity);
|
}
|
|
@Override
|
public Integer updates(List<BlacklistEntity> list) {
|
return blacklistMapper.updates(list);
|
}
|
}
|