package com.terra.proxy.service.Impl; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.logging.LogManager; import javax.annotation.Resource; import com.terra.proxy.bean.BlackRule; import com.terra.proxy.bean.VistorBean; import com.terra.proxy.util.JedisUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.terra.proxy.bean.ResActionRecord; import com.terra.proxy.mapper.LogMapper; import com.terra.proxy.service.LogService; import redis.clients.jedis.Jedis; @Service public class LogServiceImpl implements LogService { @Autowired private LogMapper logMapper; @Override public int savelog(Map params) { // 保存日志 int result=logMapper.savelog(params); return result; } @Override public List querylog(Map params) { // TODO Auto-generated method stub List list= logMapper.querylog(params); return list; } @Override public int batchsavelog(List> list) { int result= logMapper.batchsavelog(list); return result; } @Override public List querylogCountAndIp(Map params){ List list= logMapper.querylogCountAndIp(params); return list; } @Override public List getTotalCountPerHour(Map params) { List list= logMapper.getTotalCountPerHour(params); return list; } @Override public List getVisitInfoPerHourByip(Map params) { List list= logMapper.getVisitInfoPerHourByip(params); return list; } @Override public int queryTotalLog(Map params) { int total= logMapper.queryTotalLog(params); return total; } @Override public int batchsaveResRecord(List list) { int total= logMapper.batchsaveResRecord(list); return total; } @Override public int saveResRecord(ResActionRecord record) { int total= logMapper.saveResRecord(record); return total; } @Override public List selectTokenRecord(Map params) { return logMapper.selectTokenRecord(params); } @Override public int getTotalTokenRecord(Map params) { return logMapper.getTotalTokenRecord(params); } @Override public int updateTokenRecord(Map params) { return logMapper.updateTokenRecord(params); } @Override public List queryBlackLists(HashMap param) { return logMapper.queryBlackLists( param); } @Override public void saveBlackLog(VistorBean vb) { logMapper.saveBlackLog(vb); } @Override public void delBlackById(VistorBean vistorBean) { //删除redis中的记录 String status = vistorBean.getStatus(); Jedis jedis = JedisUtils.getJedis(); jedis.del(vistorBean.getRequestip()); //更新对应的黑名单IP记录的状态 vistorBean.setStatus("2"); logMapper.delBlackById(vistorBean); JedisUtils.close(jedis); vistorBean.setStatus(status); } @Override public void updateRules(BlackRule blackRule) { logMapper.updateRules(blackRule); } @Override public BlackRule selectBlackRule() { return logMapper.selectBlackRule(); } @Override public int getTotalBlackList(HashMap param) { return logMapper.getTotalBlackList(param); } @Override public void updateWhite(VistorBean vistorBean) { if("3".equals(vistorBean.getStatus())){ //移除白名单 vistorBean.setStatus("4"); logMapper.delBlackById(vistorBean); } if(null==logMapper.queryWhite(vistorBean)){ //新增一条白名单 logMapper.saveBlackLog(vistorBean); } } @Override public List selectWhiteList(HashMap param) { return logMapper.selectWhiteList(param); } @Override public int getTotalWhiteList(HashMap param) { return logMapper.getTotalWhiteList(param); } @Override public String queryToken(Map param) { return logMapper.queryToken(param); } }