diff --git a/src/main/java/com/nis/domain/configuration/BaseIpCfg.java b/src/main/java/com/nis/domain/configuration/BaseIpCfg.java index 520b91f31..1f9c56baf 100644 --- a/src/main/java/com/nis/domain/configuration/BaseIpCfg.java +++ b/src/main/java/com/nis/domain/configuration/BaseIpCfg.java @@ -75,10 +75,18 @@ public class BaseIpCfg extends BaseCfg { protected String organization; //仅用于copy属性使用 protected String country; //仅用于copy属性使用 protected String detail; //仅用于copy属性使用 + @ExcelField(title="log_total",sort=31) + private Long totalLogs; public String getOrganization() { return organization; } + public Long getTotalLogs() { + return totalLogs; + } + public void setTotalLogs(Long totalLogs) { + this.totalLogs = totalLogs; + } public void setOrganization(String organization) { this.organization = organization; } diff --git a/src/main/java/com/nis/domain/configuration/IpReusePolicyCfg.java b/src/main/java/com/nis/domain/configuration/IpReusePolicyCfg.java index af29f5ca5..f6371c9d8 100644 --- a/src/main/java/com/nis/domain/configuration/IpReusePolicyCfg.java +++ b/src/main/java/com/nis/domain/configuration/IpReusePolicyCfg.java @@ -40,6 +40,7 @@ public class IpReusePolicyCfg extends BaseCfg{ private String srcIpAddress; private String destIpAddress; @Expose + @ExcelField(title="cfg_id",sort=0) @SerializedName("configId") private Integer compileId; @Expose @@ -47,7 +48,15 @@ public class IpReusePolicyCfg extends BaseCfg{ private String areaEffectiveIds ; @Expose private Integer doLog = Constants.MAAT_CFG_DOLOG_DEFAULT; + @ExcelField(title="log_total",sort=31) + private Long totalLogs; + public Long getTotalLogs() { + return totalLogs; + } + public void setTotalLogs(Long totalLogs) { + this.totalLogs = totalLogs; + } public void setDoLog(Integer doLog) { this.doLog = doLog; } diff --git a/src/main/java/com/nis/web/controller/configuration/manipulation/IpMultiplexController.java b/src/main/java/com/nis/web/controller/configuration/manipulation/IpMultiplexController.java index df8f9a255..ba21d0979 100644 --- a/src/main/java/com/nis/web/controller/configuration/manipulation/IpMultiplexController.java +++ b/src/main/java/com/nis/web/controller/configuration/manipulation/IpMultiplexController.java @@ -11,13 +11,16 @@ 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.Properties; +import java.util.Set; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.apache.commons.lang3.StringUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -451,6 +454,33 @@ public class IpMultiplexController extends CommonController { Page page = ipMultiplexService.findPage(pageInfo,entity); ipLists = page.getList(); } + //日志总量 + List> logTotals=new ArrayList>(); + StringBuilder compileIds=new StringBuilder(",");//配置ids + Set set=new HashSet();//服务ids + for (IpReusePolicyCfg cfg : ipLists) { + if(cfg.getIsAudit()!=0){ + set.add(cfg.getServiceId()); + compileIds.append(cfg.getCompileId()+","); + }else{ + Map logTotal=new HashMap(); + logTotal.put("compileId", cfg.getCompileId()+""); + logTotal.put("sum",0L); + logTotals.add(logTotal); + } + + } + StringBuilder serviceIds=new StringBuilder(","); + for (Integer id : set) { + serviceIds.append(id+","); + } + String serviceIdsStr=serviceIds.toString().substring(1, serviceIds.length()-1); + String compileIdsStr=compileIds.toString().substring(1, compileIds.length()-1); + //获取日志总量 + if(!StringUtils.isBlank(serviceIdsStr)&&!StringUtils.isBlank(compileIdsStr)){ + List> logs = getLogTotal( null,serviceIdsStr,compileIdsStr); + logTotals.addAll(logs); + } List addrPools = ipAddrPoolCfgService.getEffectiveAddrPool(); for (IpReusePolicyCfg ipReusePolicyCfg : ipLists) { if(ipReusePolicyCfg.getAddrPoolId()!=null){ @@ -487,6 +517,14 @@ public class IpMultiplexController extends CommonController { } noExportMap.put(entity.getMenuNameCode(), snatNoExport); + for (IpReusePolicyCfg cfg : ipLists) { + for (Map 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); @@ -528,7 +566,34 @@ public class IpMultiplexController extends CommonController { Page page = ipMultiplexService.findPageDnat(pageInfo, entity); ipLists = page.getList(); } - + + //日志总量 + List> logTotals=new ArrayList>(); + StringBuilder compileIds=new StringBuilder(",");//配置ids + Set set=new HashSet();//服务ids + for (BaseIpCfg cfg : ipLists) { + if(cfg.getIsAudit()!=0){ + set.add(cfg.getServiceId()); + compileIds.append(cfg.getCompileId()+","); + }else{ + Map logTotal=new HashMap(); + logTotal.put("compileId", cfg.getCompileId()+""); + logTotal.put("sum",0L); + logTotals.add(logTotal); + } + + } + StringBuilder serviceIds=new StringBuilder(","); + for (Integer id : set) { + serviceIds.append(id+","); + } + String serviceIdsStr=serviceIds.toString().substring(1, serviceIds.length()-1); + String compileIdsStr=compileIds.toString().substring(1, compileIds.length()-1); + //获取日志总量 + if(!StringUtils.isBlank(serviceIdsStr)&&!StringUtils.isBlank(compileIdsStr)){ + List> logs = getLogTotal( null,serviceIdsStr,compileIdsStr); + logTotals.addAll(logs); + } titleList.add(entity.getMenuNameCode()); classMap.put(entity.getMenuNameCode(), IpReuseDnatPolicyCfg.class); String snatNoExport = ",group_name,block_type,direction,client_ip,ip_type,ip_pattern,port_pattern,client_port,ir_type,do_log,whether_area_block,userregion1,userregion2,userregion3,userregion4,userregion5,"; @@ -548,6 +613,14 @@ public class IpMultiplexController extends CommonController { } noExportMap.put(entity.getMenuNameCode(), snatNoExport); + for (BaseIpCfg cfg : ipLists) { + for (Map 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);