抗DDOS攻击导出添加日志总量、导出顺序调整

This commit is contained in:
wangwei
2019-01-16 11:48:48 +08:00
parent 4dcd0ec948
commit cd08bc1309
4 changed files with 78 additions and 6 deletions

View File

@@ -3,8 +3,10 @@ package com.nis.web.controller.configuration.manipulation;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -159,6 +161,35 @@ public class DdosCfgController extends BaseController {
Page<DdosIpCfg> page = ddosCfgService.findPage(pageInfo, entity);
ipLists = page.getList();
}
List<Map<String,Object>> logTotals=new ArrayList<Map<String,Object>>();
StringBuilder compileIds=new StringBuilder(",");//配置ids
Set<Integer> set=new HashSet<Integer>();//服务ids
for (DdosIpCfg cfg : ipLists) {
if(cfg.getIsAudit()!=0){
set.add(cfg.getServiceId());
compileIds.append(cfg.getCompileId()+",");
}else{
Map<String,Object> logTotal=new HashMap<String,Object>();
logTotal.put("compileId", cfg.getCompileId()+"");
logTotal.put("sum",0L);
logTotals.add(logTotal);
}
}
StringBuilder serviceIds=new StringBuilder(",");
for (Integer id : set) {
serviceIds.append(id+",");
}
if(serviceIds.length()>1&&compileIds.length()>1){
String serviceIdsStr=serviceIds.toString().substring(1, serviceIds.length()-1);
String compileIdsStr=compileIds.toString().substring(1, compileIds.length()-1);
//获取日志总量
if(!com.nis.util.StringUtils.isBlank(serviceIdsStr)&&!com.nis.util.StringUtils.isBlank(compileIdsStr)){
List<Map<String,Object>> logs = getLogTotal( null,serviceIdsStr,compileIdsStr);
logTotals.addAll(logs);
}
}
/*
* //导出选中记录 if(!StringUtil.isEmpty(ids)){ for(String
* id:ids.split(",")){ Long.parseLong(id); } //List<CfgIndexInfo>
@@ -169,7 +200,7 @@ public class DdosCfgController extends BaseController {
titleList.add(entity.getMenuNameCode());
classMap.put(entity.getMenuNameCode(), DdosIpCfg.class);
String cfgIndexInfoNoExport = ",do_log,client_ip,client_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,";
String cfgIndexInfoNoExport = ",client_ip,client_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,";
// 时间过滤
if (entity.getSearch_create_time_start() == null && entity.getSearch_create_time_end() == null) {
@@ -186,6 +217,15 @@ public class DdosCfgController extends BaseController {
}
noExportMap.put(entity.getMenuNameCode(), cfgIndexInfoNoExport);
for (DdosIpCfg cfg : ipLists) {
for (Map<String,Object> logTotal : logTotals) {
if(cfg.getCompileId().equals(Integer.parseInt((String) logTotal.get("compileId")))){
cfg.setTotalLogs((Long)logTotal.get("sum"));
break;
}
}
}
dataMap.put(entity.getMenuNameCode(), ipLists);
String timeRange = initTimeMap(entity);