diff --git a/src/main/java/com/nis/domain/configuration/AppPolicyCfg.java b/src/main/java/com/nis/domain/configuration/AppPolicyCfg.java index a29846ae2..ea261c737 100644 --- a/src/main/java/com/nis/domain/configuration/AppPolicyCfg.java +++ b/src/main/java/com/nis/domain/configuration/AppPolicyCfg.java @@ -53,6 +53,7 @@ public class AppPolicyCfg extends BaseCfg { private String userRegion5; private String configType; + @ExcelField(title="encrypted_tunnel_behavior",sort=5) private String behaviorName; @ExcelField(title="social_app",sort=5) @@ -108,6 +109,9 @@ public class AppPolicyCfg extends BaseCfg { @SerializedName("isHexbin") private Integer isHexbin; + @ExcelField(title="log_total",sort=31) + private Long totalLogs; + private List ipPortList; private IpPortCfg ipPort; private NtcSubscribeIdCfg ntcSubscribeIdCfg; @@ -278,5 +282,13 @@ public class AppPolicyCfg extends BaseCfg { public void setIndexTable(String indexTable) { this.indexTable = indexTable; } + + public Long getTotalLogs() { + return totalLogs; + } + + public void setTotalLogs(Long totalLogs) { + this.totalLogs = totalLogs; + } } diff --git a/src/main/java/com/nis/domain/configuration/BaseCfg.java b/src/main/java/com/nis/domain/configuration/BaseCfg.java index dfbe2285c..9ff914ecd 100644 --- a/src/main/java/com/nis/domain/configuration/BaseCfg.java +++ b/src/main/java/com/nis/domain/configuration/BaseCfg.java @@ -263,7 +263,6 @@ public class BaseCfg extends BaseEntity implements Cloneable{ protected Integer doLog = Constants.MAAT_CFG_DOLOG_DEFAULT; @ExcelField(title="do_blacklist",dictType="DO_BLACKLIST",sort=31) protected Integer doBlackList=Constants.MAAT_CFG_DOLOG_DOBLACKLIST_DEFAULT; - protected Integer groupId;//仅用于copy属性使用 protected Integer regionId;//仅用于copy属性使用 protected Integer numberRegionGroupId;//仅用于copy属性使用 diff --git a/src/main/java/com/nis/domain/configuration/CfgIndexInfo.java b/src/main/java/com/nis/domain/configuration/CfgIndexInfo.java index 2a6c8d87a..045267be4 100644 --- a/src/main/java/com/nis/domain/configuration/CfgIndexInfo.java +++ b/src/main/java/com/nis/domain/configuration/CfgIndexInfo.java @@ -84,6 +84,8 @@ public class CfgIndexInfo extends BaseCfg { private String country; private String detail; private List asnKeywords; + @ExcelField(title="log_total",sort=31) + private Long totalLogs; /*private CachePolicyUserRegion cachePolicyUserRegion;//缓存策略用户自定义域参数 @@ -402,5 +404,11 @@ public class CfgIndexInfo extends BaseCfg { this.complexCfg = complexCfg; } - + public Long getTotalLogs() { + return totalLogs; + } + + public void setTotalLogs(Long totalLogs) { + this.totalLogs = totalLogs; + } } diff --git a/src/main/java/com/nis/util/ConfigServiceUtil.java b/src/main/java/com/nis/util/ConfigServiceUtil.java index 8779f74ff..d47f43c14 100644 --- a/src/main/java/com/nis/util/ConfigServiceUtil.java +++ b/src/main/java/com/nis/util/ConfigServiceUtil.java @@ -566,6 +566,64 @@ public class ConfigServiceUtil { } return result; } + + /** + * + * getReport(配置日志总量统计查询) + * (这里描述这个方法适用条件 – 可选) + * @param type 1- 配置命中总量业务2- 配置报表业务 + * @param ids + * @param serviceIds + * @param searchReportStartTime + * @param searchReportEndTime + * @param connTimeOut httpclient 连接超时时间 + * @param readTimeOut httpclient 读取超时时间 + * @return + * @throws MaatConvertException + */ + public static String getReport(int type,String ids,String serviceIds,String searchReportStartTime,String searchReportEndTime,Integer connTimeOut,Integer readTimeOut) throws MaatConvertException{ + String result = null; + Response response=null; + try { + if(StringUtils.isBlank(ids)||StringUtils.isBlank(serviceIds)){ + throw new MaatConvertException(""); + } + UriBuilder builder=UriBuilder.fromPath(Constants.LOG_BASE_URL+Constants.NTC_PZ_REPORT); + builder.queryParam("searchBusinessType",type); + builder.queryParam("searchService",serviceIds); + builder.queryParam("searchCfgId",ids); + if(StringUtils.isNotBlank(searchReportStartTime)) { + builder.queryParam("searchReportStartTime",searchReportStartTime); + } + if(StringUtils.isNotBlank(searchReportEndTime)) { + builder.queryParam("searchReportEndTime",searchReportEndTime); + } + URI uri=builder.build(); + //创建连接 + ClientUtil.initClient(connTimeOut,readTimeOut); + Client client=ClientUtil.getClient(); + WebTarget wt = client.target(uri); + logger.info("getReport url:"+uri.toString()); + Builder header = wt.request(); + try { + response= header.get(); + } catch (Exception e) { + throw new MaatConvertException(""); + } + if(response !=null && response.getStatus() == 200){ + result= response.readEntity(String.class); + }else{ + throw new MaatConvertException(":"+result); + } + } catch (Exception e) { + throw e; + } finally { + if (response != null) { + response.close(); + } + } + return result; + } public static String getReport(String reportUrl, SearchReport searchCondition) throws MaatConvertException{ // if(StringUtils.isBlank(searchCondition.getSearchService())){ // throw new MaatConvertException(""); diff --git a/src/main/java/com/nis/util/excel/ExportExcel.java b/src/main/java/com/nis/util/excel/ExportExcel.java index 0de0323c2..4c66b11b8 100644 --- a/src/main/java/com/nis/util/excel/ExportExcel.java +++ b/src/main/java/com/nis/util/excel/ExportExcel.java @@ -495,16 +495,21 @@ public class ExportExcel { commentStr=""; List dict=DictUtils.getDictList("DO_LOG"); if(dict !=null && dict.size()>0){ - String configDoLog = service.getConfigDoLog(); - String doLogOption = configDoLog.substring(configDoLog.indexOf(";"), configDoLog.lastIndexOf(";")); - for (SysDataDictionaryItem sysDataDictionaryItem : dict) { - String itemCode = sysDataDictionaryItem.getItemCode(); - if(doLogOption.contains(itemCode)) { - commentStr=commentStr+itemCode+"("+msgProp.getProperty(sysDataDictionaryItem.getItemValue(),sysDataDictionaryItem.getItemValue())+")\n"; - index++; + if(StringUtil.isEmpty(service.getConfigDoLog())){ + headerStr=""; + commentStr=""; + }else{ + String configDoLog = service.getConfigDoLog(); + String doLogOption = configDoLog.substring(configDoLog.indexOf(";"), configDoLog.lastIndexOf(";")); + for (SysDataDictionaryItem sysDataDictionaryItem : dict) { + String itemCode = sysDataDictionaryItem.getItemCode(); + if(doLogOption.contains(itemCode)) { + commentStr=commentStr+itemCode+"("+msgProp.getProperty(sysDataDictionaryItem.getItemValue(),sysDataDictionaryItem.getItemValue())+")\n"; + index++; + } } + defaultValue = configDoLog.substring(configDoLog.lastIndexOf(";")+1); } - defaultValue = configDoLog.substring(configDoLog.lastIndexOf(";")+1); } commentStr=msgProp.getProperty("select")+":\n"+commentStr; index++; @@ -1288,7 +1293,11 @@ public class ExportExcel { commentStr=commentStr+msgProp.getProperty("rule_desc_tip")+":\n"; index++; //2、默认值说明 - commentStr=commentStr+"▶"+msgProp.getProperty("default_value")+":0\n"; + if(region.getDictId().equals(159)) { // P2P文件标识配置 + commentStr=commentStr+"▶"+msgProp.getProperty("default_value")+":1\n"; + }else { + commentStr=commentStr+"▶"+msgProp.getProperty("default_value")+":0\n"; + } index++; } } @@ -1318,10 +1327,19 @@ public class ExportExcel { } }else{ for (SysDataDictionaryItem sysDataDictionaryItem : isCaseSenstive) { - if(sysDataDictionaryItem.getItemCode().equals("1")){ - commentStr=commentStr+sysDataDictionaryItem.getItemCode()+"("+msgProp.getProperty(sysDataDictionaryItem.getItemValue())+")"+"\n"; - list.add(sysDataDictionaryItem.getItemCode()); - index++; + if(region.getDictId().equals(159)) { // P2P文件标识配置 + if(sysDataDictionaryItem.getItemCode().equals("0")){ + commentStr=commentStr+sysDataDictionaryItem.getItemCode()+"("+msgProp.getProperty(sysDataDictionaryItem.getItemValue())+")"+"\n"; + list.add(sysDataDictionaryItem.getItemCode()); + index++; + } + }else { + if(sysDataDictionaryItem.getItemCode().equals("1")){ + commentStr=commentStr+sysDataDictionaryItem.getItemCode()+"("+msgProp.getProperty(sysDataDictionaryItem.getItemValue())+")"+"\n"; + list.add(sysDataDictionaryItem.getItemCode()); + index++; + } + } } } @@ -2189,8 +2207,8 @@ public class ExportExcel { } } // If is dict, get dict label + String valStr=val==null?"":val.toString(); if (StringUtils.isNotBlank(ef.dictType())){ - String valStr=val==null?"":val.toString(); if("type".equals(ef.dictType()) || "attribute".equals(ef.dictType()) || "label".equals(ef.dictType())){ // Get basic info @@ -2203,6 +2221,16 @@ public class ExportExcel { } } + if(ef.title().equals("whether_area_block")&&!StringUtil.isEmpty(val)){ + Integer whetherAreaBlock=Integer.parseInt(valStr); + if(whetherAreaBlock.equals(0)){ + val = msgProp.getProperty("all","all"); + }else if(whetherAreaBlock.equals(1)){ + val = msgProp.getProperty("selective","selective"); + }else{ + val =""; + } + } if(ef.title().equals("is_hex") && !StringUtil.isEmpty(val)){ Integer isHex=Integer.parseInt(val.toString()); if(isHex.equals(0) || isHex.equals(2)){ diff --git a/src/main/java/com/nis/util/httpclient/ClientUtil.java b/src/main/java/com/nis/util/httpclient/ClientUtil.java index d2a174ea7..6f3e36e8e 100644 --- a/src/main/java/com/nis/util/httpclient/ClientUtil.java +++ b/src/main/java/com/nis/util/httpclient/ClientUtil.java @@ -66,6 +66,33 @@ public class ClientUtil { } } + /** + * @param connTimeOut 连接超时时间 + * @param readTimeOut 读取超时时间 + */ + public static void initClient(Integer connTimeOut,Integer readTimeOut){ + try{ + if(client==null){ + PoolingHttpClientConnectionManager pcm = new PoolingHttpClientConnectionManager(); + pcm.setDefaultSocketConfig( SocketConfig.custom(). setSoTimeout(Constants.POOLCM_SOCKET_TIMEOUT). build()); + pcm.setMaxTotal(Constants.HTTP_MAX_CONNECTION); pcm.setDefaultMaxPerRoute(Constants.DEFAULT_MAX_PERROUTE); + + ClientConfig clientConfig = new ClientConfig(); + clientConfig.property(ClientProperties.CONNECT_TIMEOUT, connTimeOut);//连接超时时间 + clientConfig.property(ClientProperties.READ_TIMEOUT, readTimeOut);//读取超时时间 + clientConfig.property(ApacheClientProperties.CONNECTION_MANAGER, pcm); + clientConfig.register(ClientRequestHeaderFilter.class);//请求过滤器,自动添加header信息 + clientConfig.register(JacksonFeature.class);//json支持 + clientConfig.register(MultiPartFeature.class);//文件上传支持 + client = ClientBuilder.newClient(clientConfig); + logger.info("客户端初始化成功"); + } + + }catch (Exception e) { + logger.error("初始化客户端失败,请检查证书是否正确!",e); + System.exit(1);//程序退出 + } + } /** *path 以https://或http:// 开始不做处理,否则在path前加上 Constants.BASE_URL + Constants.VERSION * @param path diff --git a/src/main/java/com/nis/web/controller/BaseController.java b/src/main/java/com/nis/web/controller/BaseController.java index 659bc074c..bdfce26ee 100644 --- a/src/main/java/com/nis/web/controller/BaseController.java +++ b/src/main/java/com/nis/web/controller/BaseController.java @@ -118,6 +118,7 @@ import com.nis.domain.maat.MaatCfg.GroupCfg; import com.nis.domain.maat.MaatCfg.IpCfg; import com.nis.domain.maat.MaatCfg.NumBoundaryCfg; import com.nis.domain.maat.MaatCfg.StringCfg; +import com.nis.domain.report.NtcPzReport; import com.nis.domain.maat.ToMaatBean; import com.nis.domain.specific.ConfigGroupInfo; import com.nis.domain.specific.SpecificServiceCfg; @@ -197,6 +198,9 @@ import com.nis.web.service.specific.SpecificServiceHostCfgService; import com.nis.web.service.systemService.ServiceConfigInfoService; import jersey.repackaged.com.google.common.collect.Maps; +import net.sf.json.JSONArray; +import net.sf.json.JSONObject; +import net.sf.json.JsonConfig; public class BaseController { @@ -3264,5 +3268,91 @@ public class BaseController { return hasData; } - + /** + * 通过serviceIds 和 compileIds获取日志总量 + * */ + public List> getLogTotal(Long endTime,String serviceIds,String compileIds){ + List> dataList=new ArrayList<>(); + SimpleDateFormat sdf=new SimpleDateFormat(Constants.SEARCH_DATEFORMAT); + Date endDate=null; + Date startDate=null; + if(endTime!=null) { + if(StringUtils.isNotBlank(Constants.LOG_TIME_START)) { + try { + startDate=sdf.parse(Constants.LOG_TIME_START); + if(StringUtils.isNotBlank(Constants.LOG_TIME_END)) { + endDate=sdf.parse(Constants.LOG_TIME_END); + }else { + endDate=new Date(endTime); + } + } catch (ParseException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + }else { + Calendar cal=Calendar.getInstance(); + //分钟间隔 + int interval=Constants.LOG_TIME_RANGE/1000/60; + cal.setTimeInMillis(endTime); + if(interval<60) {//5分钟 + cal.set(Calendar.SECOND, 0); + int minute=cal.get(Calendar.MINUTE); + cal.set(Calendar.MINUTE,minute/interval*interval); + }else {//1小时 + cal.set(Calendar.SECOND, 0); + cal.set(Calendar.MINUTE, 0); + } + Calendar endTimeCal=Calendar.getInstance(); + endTimeCal.setTimeInMillis(cal.getTimeInMillis()); + //endTimeCal.add(Calendar.SECOND, -1); + endDate=endTimeCal.getTime(); + cal.add(Calendar.MINUTE, -interval); + startDate=cal.getTime(); + } + logger.info("log search end time:"+sdf.format(endDate)); + logger.info("log search start time:"+sdf.format(startDate)); + } + List list=null; + try { + //调用带有超时时间的方法,设置与页面ajax获取total log 超时时间保持一致 页面设置在pzlog.js + String json=ConfigServiceUtil.getReport(Constants.BUSINESSTYPE_CONFIG, compileIds, serviceIds, startDate==null?null:sdf.format(startDate), endDate==null?null:sdf.format(endDate),Constants.CLIENT_CONNECT_TIMEOUT,10000); + list=getList(json); + } catch (Exception e) { + logger.error("获取日志总量失败!",e); + + } + + String[] idArr=compileIds.split(","); + for(String id:idArr) { + Map data=new HashMap(); + data.put("compileId", id); + Long sum=(long) 0; + if(list!=null&&(list.size()>0)){ + for(NtcPzReport report:list) { + if(Long.valueOf(id).longValue() == report.getCfgId().longValue()){ + sum=report.getSum().longValue(); + break; + } + } + } + data.put("sum",sum); + dataList.add(data); + } + return dataList; + } + public List getList(String json){ + JSONObject obj=JSONObject.fromObject(json); + if(obj.containsKey("data")) { + JSONObject data= obj.getJSONObject("data"); + if(data.containsKey("list")) { + Object list=data.get("list"); + JSONArray array=JSONArray.fromObject(list); + List result=JSONArray.toList(array, new NtcPzReport(),new JsonConfig()); + return result; + } + + } + return new ArrayList(); + } } diff --git a/src/main/java/com/nis/web/controller/configuration/AppCfgController.java b/src/main/java/com/nis/web/controller/configuration/AppCfgController.java index 00c2b9c13..41ed07f0b 100644 --- a/src/main/java/com/nis/web/controller/configuration/AppCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/AppCfgController.java @@ -4,8 +4,10 @@ import java.io.File; 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; @@ -1706,13 +1708,35 @@ public class AppCfgController extends BaseController { Page page = appCfgService.findAppPolicyList(pageInfo, entity); ipLists = page.getList(); } - + List> logTotals=new ArrayList>(); + StringBuilder compileIds=new StringBuilder(","); + Set set=new HashSet(); for (AppPolicyCfg policy : ipLists) { + if(policy.getIsAudit()!=0){ + set.add(policy.getServiceId()); + compileIds.append(policy.getCompileId()+","); + }else{ + Map logTotal=new HashMap(); + logTotal.put("compileId", policy.getCompileId()+""); + logTotal.put("sum",0L); + logTotals.add(logTotal); + } SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(policy.getSpecServiceId()); if (app != null) { policy.setSocialName(app.getSpecServiceName()); } } + 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); + } // 查找社交应用的所有有效二级特定服务 SpecificServiceCfg second = new SpecificServiceCfg(); for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) { @@ -1726,6 +1750,12 @@ public class AppCfgController extends BaseController { List secondList = specificServiceCfgService.findAllSpecificServiceCfg(second, null); // 遍历,找到匹配项后将行为设置进去 for (AppPolicyCfg policy : ipLists) { + for (Map logTotal : logTotals) { + if(policy.getCompileId().equals(Integer.parseInt((String) logTotal.get("compileId")))){ + policy.setTotalLogs((Long)logTotal.get("sum")); + break; + } + } if (policy.getBehavCode() == null) continue; for (SpecificServiceCfg secondCfg : secondList) { @@ -1743,7 +1773,7 @@ public class AppCfgController extends BaseController { classMap.put(entity.getMenuNameCode(), AppPolicyCfg.class); classMap.put("NTC_IP", IpPortCfg.class); classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class); - String cfgIndexInfoNoExport = ",encrypted_tunnel_behavior,basic_protocol,expression_type,match_method,whether_hexbinary,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + String cfgIndexInfoNoExport = ",do_blacklist,encrypted_tunnel_behavior,basic_protocol,expression_type,match_method,whether_hexbinary,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; String ipPortInfoNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + ",config_time,editor,edit_time,auditor,audit_time" + ",letter,whether_area_block,classification,attribute,label" diff --git a/src/main/java/com/nis/web/controller/configuration/BasicProtocolController.java b/src/main/java/com/nis/web/controller/configuration/BasicProtocolController.java index 8a4456ec6..b55c6ed00 100644 --- a/src/main/java/com/nis/web/controller/configuration/BasicProtocolController.java +++ b/src/main/java/com/nis/web/controller/configuration/BasicProtocolController.java @@ -1,10 +1,15 @@ package com.nis.web.controller.configuration; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Calendar; 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; @@ -24,15 +29,21 @@ import com.nis.domain.configuration.BaseStringCfg; import com.nis.domain.configuration.CfgIndexInfo; import com.nis.domain.configuration.IpPortCfg; import com.nis.domain.configuration.NtcSubscribeIdCfg; +import com.nis.domain.report.NtcPzReport; import com.nis.domain.specific.ConfigGroupInfo; import com.nis.domain.specific.SpecificServiceCfg; import com.nis.exceptions.CallExternalProceduresException; import com.nis.exceptions.MaatConvertException; +import com.nis.util.ConfigServiceUtil; import com.nis.util.Constants; import com.nis.util.StringUtil; import com.nis.web.controller.BaseController; import com.nis.web.security.UserUtils; +import net.sf.json.JSONArray; +import net.sf.json.JSONObject; +import net.sf.json.JsonConfig; + /** * 基础协议控制类 * @@ -283,20 +294,44 @@ public class BasicProtocolController extends BaseController { Page page = appCfgService.findAppPolicyList(pageInfo, entity); ipLists = page.getList(); } + + List> logTotals=new ArrayList>(); + StringBuilder compileIds=new StringBuilder(",");//配置ids + Set set=new HashSet();//服务ids for (AppPolicyCfg policy : ipLists) { + if(policy.getIsAudit()!=0){ + set.add(policy.getServiceId()); + compileIds.append(policy.getCompileId()+","); + }else{ + Map logTotal=new HashMap(); + logTotal.put("compileId", policy.getCompileId()+""); + logTotal.put("sum",0L); + logTotals.add(logTotal); + } SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(policy.getSpecServiceId()); if (app != null) { policy.setAppName(app.getSpecServiceName()); } } + 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()); titleList.add("NTC_IP"); titleList.add("NTC_SUBSCRIBE_ID"); classMap.put(entity.getMenuNameCode(), AppPolicyCfg.class); classMap.put("NTC_IP", IpPortCfg.class); classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class); - String cfgIndexInfoNoExport = ",encrypted_tunnel_behavior,behaviour_type,social_app,behaviour_type,expression_type,match_method,whether_hexbinary,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + String cfgIndexInfoNoExport = ",do_blacklist,encrypted_tunnel_behavior,behaviour_type,social_app,behaviour_type,expression_type,match_method,whether_hexbinary,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; String ipPortInfoNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + ",config_time,editor,edit_time,auditor,audit_time" + ",letter,whether_area_block,classification,attribute,label" @@ -326,6 +361,12 @@ public class BasicProtocolController extends BaseController { List ipList = new ArrayList(); List subscribeInfoList = new ArrayList(); for (AppPolicyCfg cfg : ipLists) { + for (Map logTotal : logTotals) { + if(cfg.getCompileId().equals(Integer.parseInt((String) logTotal.get("compileId")))){ + cfg.setTotalLogs((Long)logTotal.get("sum")); + break; + } + } AppPolicyCfg cfgIndexInfo = appCfgService.exportIpInfo(cfg); ipList.addAll(cfgIndexInfo.getIpPortList()); subscribeInfoList.addAll(cfgIndexInfo.getNtcSubscribeIdCfgList()); @@ -353,5 +394,5 @@ public class BasicProtocolController extends BaseController { // return "redirect:" + adminPath // +"/ntc/iplist/list?functionId="+entity.getFunctionId(); } - + } diff --git a/src/main/java/com/nis/web/controller/configuration/EncryptedTunnelBehaviorController.java b/src/main/java/com/nis/web/controller/configuration/EncryptedTunnelBehaviorController.java index 27b5b6e4f..375576e18 100644 --- a/src/main/java/com/nis/web/controller/configuration/EncryptedTunnelBehaviorController.java +++ b/src/main/java/com/nis/web/controller/configuration/EncryptedTunnelBehaviorController.java @@ -3,8 +3,10 @@ package com.nis.web.controller.configuration; 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; @@ -307,12 +309,35 @@ public class EncryptedTunnelBehaviorController extends BaseController { Page page = appCfgService.findAppPolicyList(pageInfo, entity); ipLists = page.getList(); } + List> logTotals=new ArrayList>(); + StringBuilder compileIds=new StringBuilder(",");//配置ids + Set set=new HashSet();//服务ids for (AppPolicyCfg policy : ipLists) { + if(policy.getIsAudit()!=0){ + set.add(policy.getServiceId()); + compileIds.append(policy.getCompileId()+","); + }else{ + Map logTotal=new HashMap(); + logTotal.put("compileId", policy.getCompileId()+""); + logTotal.put("sum",0L); + logTotals.add(logTotal); + } SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(policy.getSpecServiceId()); if (app != null) { policy.setBehaviorName(app.getSpecServiceName()); } } + 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); + } // 查找社交应用的所有有效二级特定服务 SpecificServiceCfg second = new SpecificServiceCfg(); for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) { @@ -343,7 +368,7 @@ public class EncryptedTunnelBehaviorController extends BaseController { classMap.put(entity.getMenuNameCode(), AppPolicyCfg.class); classMap.put("NTC_IP", IpPortCfg.class); classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class); - String cfgIndexInfoNoExport = ",social_app,basic_protocol,expression_type,match_method,whether_hexbinary,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + String cfgIndexInfoNoExport = ",do_blacklist,social_app,basic_protocol,expression_type,match_method,whether_hexbinary,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; String ipPortInfoNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + ",config_time,editor,edit_time,auditor,audit_time" + ",letter,whether_area_block,classification,attribute,label" @@ -373,6 +398,12 @@ public class EncryptedTunnelBehaviorController extends BaseController { List ipList = new ArrayList(); List subscribeInfoList = new ArrayList(); for (AppPolicyCfg cfg : ipLists) { + for (Map logTotal : logTotals) { + if(cfg.getCompileId().equals(Integer.parseInt((String) logTotal.get("compileId")))){ + cfg.setTotalLogs((Long)logTotal.get("sum")); + break; + } + } AppPolicyCfg cfgIndexInfo = appCfgService.exportIpInfo(cfg); ipList.addAll(cfgIndexInfo.getIpPortList()); subscribeInfoList.addAll(cfgIndexInfo.getNtcSubscribeIdCfgList()); diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/AvContentController.java b/src/main/java/com/nis/web/controller/configuration/ntc/AvContentController.java index baf8f5bf4..f32932cc9 100644 --- a/src/main/java/com/nis/web/controller/configuration/ntc/AvContentController.java +++ b/src/main/java/com/nis/web/controller/configuration/ntc/AvContentController.java @@ -3,9 +3,11 @@ package com.nis.web.controller.configuration.ntc; 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; @@ -934,6 +936,33 @@ public class AvContentController extends BaseController { Page page = avContentCfgService.findPage(pageInfo, entity); ipLists = page.getList(); } + + List> logTotals=new ArrayList>(); + StringBuilder compileIds=new StringBuilder(",");//配置ids + Set set=new HashSet();//服务ids + for (CfgIndexInfo 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()); titleList.add("NTC_UNIVERSAL_IP"); titleList.add("NTC_STREAMING_MEDIA_URL"); @@ -979,6 +1008,12 @@ public class AvContentController extends BaseController { List subscribeInfoList = new ArrayList(); List streamurlList = new ArrayList(); for (CfgIndexInfo cfg : ipLists) { + for (Map logTotal : logTotals) { + if(cfg.getCompileId().equals(Integer.parseInt((String) logTotal.get("compileId")))){ + cfg.setTotalLogs((Long)logTotal.get("sum")); + break; + } + } Map maps = avContentCfgService.exportstream(cfg); ipList.addAll(maps.get("NTC_UNIVERSAL_IP")); streamurlList.addAll(maps.get("NTC_STREAMING_MEDIA_URL")); @@ -1032,7 +1067,33 @@ public class AvContentController extends BaseController { entity); ipLists = page.getList(); } - + List> logTotals=new ArrayList>(); + StringBuilder compileIds=new StringBuilder(",");//配置ids + Set set=new HashSet();//服务ids + for (CfgIndexInfo 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()); titleList.add("NTC_UNIVERSAL_IP"); titleList.add("NTC_VOIP_ACCOUNT"); @@ -1078,6 +1139,12 @@ public class AvContentController extends BaseController { List subscribeInfoList = new ArrayList(); List countlList = new ArrayList(); for (CfgIndexInfo cfg : ipLists) { + for (Map logTotal : logTotals) { + if(cfg.getCompileId().equals(Integer.parseInt((String) logTotal.get("compileId")))){ + cfg.setTotalLogs((Long)logTotal.get("sum")); + break; + } + } Map maps = avContentCfgService.exportvoip(cfg); ipList.addAll(maps.get("NTC_UNIVERSAL_IP")); countlList.addAll(maps.get("NTC_VOIP_ACCOUNT")); diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/BgpCfgController.java b/src/main/java/com/nis/web/controller/configuration/ntc/BgpCfgController.java index e7326b2f7..4c39b780a 100644 --- a/src/main/java/com/nis/web/controller/configuration/ntc/BgpCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/ntc/BgpCfgController.java @@ -1,10 +1,13 @@ package com.nis.web.controller.configuration.ntc; import java.util.ArrayList; +import java.util.Collections; 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; @@ -198,6 +201,34 @@ public class BgpCfgController extends BaseController { Page page = bgpCfgService.getBgpList(pageInfo, entity); ipLists = page.getList(); } + List> logTotals=new ArrayList>(); + StringBuilder compileIds=new StringBuilder(",");//配置ids + Set set=new HashSet();//服务ids + for (CfgIndexInfo 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.strIsBlank(serviceIdsStr)&&!StringUtils.strIsBlank(compileIdsStr)){ + List> logs = getLogTotal( null,serviceIdsStr,compileIdsStr); + logTotals.addAll(logs); + } + + titleList.add(entity.getMenuNameCode()); titleList.add("NTC_IP"); titleList.add("NTC_BGP_AS"); @@ -206,7 +237,7 @@ public class BgpCfgController extends BaseController { classMap.put("NTC_IP", IpPortCfg.class); classMap.put("NTC_BGP_AS", BaseStringCfg.class); // classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class); - String cfgIndexInfoNoExport = ",policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + String cfgIndexInfoNoExport = ",do_blacklist,policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; String ipPortInfoNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + ",config_time,editor,edit_time,auditor,audit_time" + ",letter,whether_area_block,classification,attribute,label" @@ -243,6 +274,12 @@ public class BgpCfgController extends BaseController { // ArrayList(); List asInfoList = new ArrayList(); for (CfgIndexInfo cfg : ipLists) { + for (Map logTotal : logTotals) { + if(cfg.getCompileId().equals(Integer.parseInt((String) logTotal.get("compileId")))){ + cfg.setTotalLogs((Long)logTotal.get("sum")); + break; + } + } CfgIndexInfo cfgIndexInfo = bgpCfgService.exportbgp(cfg); ipList.addAll(cfgIndexInfo.getIpPortList()); // subscribeInfoList.addAll(cfgIndexInfo.getNtcSubscribeIdCfgList()); diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/FileTransferCfgController.java b/src/main/java/com/nis/web/controller/configuration/ntc/FileTransferCfgController.java index 98d141c71..2efa98d51 100644 --- a/src/main/java/com/nis/web/controller/configuration/ntc/FileTransferCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/ntc/FileTransferCfgController.java @@ -6,8 +6,10 @@ import java.io.IOException; 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 java.util.UUID; import javax.servlet.http.HttpServletRequest; @@ -624,6 +626,32 @@ public class FileTransferCfgController extends BaseController { ipLists = page.getList(); } + List> logTotals=new ArrayList>(); + StringBuilder compileIds=new StringBuilder(",");//配置ids + Set set=new HashSet();//服务ids + for (CfgIndexInfo 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()); titleList.add("NTC_UNIVERSAL_IP"); titleList.add("NTC_FTP_URL"); @@ -673,6 +701,12 @@ public class FileTransferCfgController extends BaseController { List ftpkeyList = new ArrayList(); List ftpurlList = new ArrayList(); for (CfgIndexInfo cfg : ipLists) { + for (Map logTotal : logTotals) { + if(cfg.getCompileId().equals(Integer.parseInt((String) logTotal.get("compileId")))){ + cfg.setTotalLogs((Long)logTotal.get("sum")); + break; + } + } Map maps = fileTransferCfgService.exportftp(cfg); ftpkeyList.addAll(maps.get("NTC_FTP_CONTENT")); ftpurlList.addAll(maps.get("NTC_FTP_URL")); @@ -730,6 +764,32 @@ public class FileTransferCfgController extends BaseController { ipLists = page.getList(); } + List> logTotals=new ArrayList>(); + StringBuilder compileIds=new StringBuilder(",");//配置ids + Set set=new HashSet();//服务ids + for (CfgIndexInfo 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()); titleList.add("NTC_UNIVERSAL_IP"); titleList.add("NTC_P2P_KEYWORDS"); @@ -783,6 +843,12 @@ public class FileTransferCfgController extends BaseController { List hashList = new ArrayList(); List keywordList = new ArrayList(); for (CfgIndexInfo cfg : ipLists) { + for (Map logTotal : logTotals) { + if(cfg.getCompileId().equals(Integer.parseInt((String) logTotal.get("compileId")))){ + cfg.setTotalLogs((Long)logTotal.get("sum")); + break; + } + } Map maps = fileTransferCfgService.exportp2p(cfg); keywordList.addAll(maps.get("NTC_P2P_KEYWORDS")); hashList.addAll(maps.get("NTC_P2P_HASH_BIN")); diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/IpController.java b/src/main/java/com/nis/web/controller/configuration/ntc/IpController.java index 079b6b402..51e6ed59a 100644 --- a/src/main/java/com/nis/web/controller/configuration/ntc/IpController.java +++ b/src/main/java/com/nis/web/controller/configuration/ntc/IpController.java @@ -3,9 +3,11 @@ package com.nis.web.controller.configuration.ntc; 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; @@ -25,6 +27,7 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes; import com.nis.domain.FunctionRegionDict; import com.nis.domain.FunctionServiceDict; import com.nis.domain.Page; +import com.nis.domain.configuration.AppPolicyCfg; import com.nis.domain.configuration.AsnKeywordCfg; import com.nis.domain.configuration.CfgIndexInfo; import com.nis.domain.configuration.IpPortCfg; @@ -62,6 +65,7 @@ import com.nis.domain.configuration.template.SnatTemplate; import com.nis.domain.configuration.template.StringAllNotDoLogTemplate; import com.nis.domain.configuration.template.StringAllTemplate; import com.nis.domain.configuration.template.TopicWebsiteTemplate; +import com.nis.domain.specific.SpecificServiceCfg; import com.nis.exceptions.MaatConvertException; import com.nis.util.Constants; import com.nis.util.DictUtils; @@ -544,7 +548,7 @@ public class IpController extends BaseController{ this._import(request,response,redirectAttributes, files,serviceDictId,regionDictIds,requestId,attribute,classify); return "redirect:" + adminPath+ importPath; } - //ip配置导出 + //ip配置导出 @RequestMapping(value = "exportIpAddr") public void exportIpAddr(Model model,HttpServletRequest request,HttpServletResponse response, @ModelAttribute("cfg")CfgIndexInfo entity,String ids,RedirectAttributes redirectAttributes){ @@ -568,6 +572,33 @@ public class IpController extends BaseController{ Page page = ipCfgService.getIpCfgList(pageInfo, entity); ipLists=page.getList(); } + + List> logTotals=new ArrayList>(); + StringBuilder compileIds=new StringBuilder(",");//配置ids + Set set=new HashSet();//服务ids + for (CfgIndexInfo 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()); titleList.add("NTC_IP"); titleList.add("asn_policy"); @@ -599,6 +630,12 @@ public class IpController extends BaseController{ List ipList=new ArrayList(); List groupInfoList=new ArrayList(); for (CfgIndexInfo cfg : ipLists) { + for (Map logTotal : logTotals) { + if(cfg.getCompileId().equals(Integer.parseInt((String) logTotal.get("compileId")))){ + cfg.setTotalLogs((Long)logTotal.get("sum")); + break; + } + } CfgIndexInfo cfgIndexInfo=ipCfgService.exportIpInfo(cfg); ipList.addAll(cfgIndexInfo.getIpPortList()); if(cfgIndexInfo.getAsnKeywords()!=null) { diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/MailCfgController.java b/src/main/java/com/nis/web/controller/configuration/ntc/MailCfgController.java index 2b4d20635..b84ce9654 100644 --- a/src/main/java/com/nis/web/controller/configuration/ntc/MailCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/ntc/MailCfgController.java @@ -5,8 +5,10 @@ import java.io.IOException; 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 java.util.UUID; import javax.servlet.http.HttpServletRequest; @@ -249,7 +251,32 @@ public class MailCfgController extends BaseController { Page page = mailCfgService.getMailList(pageInfo, entity); ipLists = page.getList(); } - + List> logTotals=new ArrayList>(); + StringBuilder compileIds=new StringBuilder(",");//配置ids + Set set=new HashSet();//服务ids + for (CfgIndexInfo 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()); String cfgIndexInfoNoExport = ",policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; String ipPortInfoNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" @@ -305,6 +332,12 @@ public class MailCfgController extends BaseController { List mailBodyList = new ArrayList(); List mailReqHdrList = new ArrayList(); for (CfgIndexInfo cfg : ipLists) { + for (Map logTotal : logTotals) { + if(cfg.getCompileId().equals(Integer.parseInt((String) logTotal.get("compileId")))){ + cfg.setTotalLogs((Long)logTotal.get("sum")); + break; + } + } Map maps = mailCfgService.exportmail(cfg); mailReqHdrList.addAll(maps.get("NTC_MAIL_HDR")); mailBodyList.addAll(maps.get("NTC_MAIL_BODY")); diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/WebsiteController.java b/src/main/java/com/nis/web/controller/configuration/ntc/WebsiteController.java index 6ab6a5608..ac33ab721 100644 --- a/src/main/java/com/nis/web/controller/configuration/ntc/WebsiteController.java +++ b/src/main/java/com/nis/web/controller/configuration/ntc/WebsiteController.java @@ -3,9 +3,11 @@ package com.nis.web.controller.configuration.ntc; 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; @@ -626,6 +628,33 @@ public class WebsiteController extends BaseController { Page page = httpRedirectCfgService.getHttpRedirectList(pageInfo, entity); ipLists = page.getList(); } + + List> logTotals=new ArrayList>(); + StringBuilder compileIds=new StringBuilder(",");//配置ids + Set set=new HashSet();//服务ids + for (CfgIndexInfo 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); + } // 条件导出数据大于最大导出数,只导出最大导出条数 String cfgIndexInfoNoExport = ",policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; @@ -680,6 +709,12 @@ public class WebsiteController extends BaseController { List ipPortList = new ArrayList<>(); List subscribeIdList = new ArrayList<>(); for (CfgIndexInfo cfg : ipLists) { + for (Map logTotal : logTotals) { + if(cfg.getCompileId().equals(Integer.parseInt((String) logTotal.get("compileId")))){ + cfg.setTotalLogs((Long)logTotal.get("sum")); + break; + } + } Map maps = websiteCfgService.exportHttpCfg(cfg); httpUrlList.addAll(maps.get("NTC_HTTP_URL")); httpReqHdrList.addAll(maps.get("NTC_HTTP_REQ_HDR")); @@ -774,8 +809,19 @@ public class WebsiteController extends BaseController { Page page = websiteCfgService.getWebsiteList(pageInfo, entity); ipLists = page.getList(); } - + List> logTotals=new ArrayList>(); + StringBuilder compileIds=new StringBuilder(",");//配置ids + Set set=new HashSet();//服务ids for (int i = 0; i < ipLists.size(); i++) { + if(ipLists.get(i).getIsAudit()!=0){ + set.add(ipLists.get(i).getServiceId()); + compileIds.append(ipLists.get(i).getCompileId()+","); + }else{ + Map logTotal=new HashMap(); + logTotal.put("compileId", ipLists.get(i).getCompileId()+""); + logTotal.put("sum",0L); + logTotals.add(logTotal); + } if (ipLists.get(i).getDnsStrategyId() != null && ipLists.get(i).getDnsStrategyId() != 0) { List resStrategys = dnsResStrategyService .findDnsResStrategys(ipLists.get(i).getDnsStrategyId(), 1, 1); @@ -793,6 +839,19 @@ public class WebsiteController extends BaseController { ipLists.get(i).setDnsStrategyName(msgProp.getProperty("no_strategy")); } } + + 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()); titleList.add("NTC_IP"); titleList.add("NTC_DNS_REGION"); @@ -801,7 +860,7 @@ public class WebsiteController extends BaseController { classMap.put("NTC_IP", IpPortCfg.class); classMap.put("NTC_DNS_REGION", ComplexkeywordCfg.class); classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class); - String cfgIndexInfoNoExport = ",group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + String cfgIndexInfoNoExport = ",do_blacklist,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; String ipPortInfoNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + ",config_time,editor,edit_time,auditor,audit_time" + ",letter,whether_area_block,classification,attribute,label" @@ -837,6 +896,12 @@ public class WebsiteController extends BaseController { List subscribeInfoList = new ArrayList(); List regionInfoList = new ArrayList(); for (CfgIndexInfo cfg : ipLists) { + for (Map logTotal : logTotals) { + if(cfg.getCompileId().equals(Integer.parseInt((String) logTotal.get("compileId")))){ + cfg.setTotalLogs((Long)logTotal.get("sum")); + break; + } + } CfgIndexInfo cfgIndexInfo = websiteCfgService.exportdns(cfg); ipList.addAll(cfgIndexInfo.getIpPortList()); subscribeInfoList.addAll(cfgIndexInfo.getNtcSubscribeIdCfgList()); @@ -892,7 +957,31 @@ public class WebsiteController extends BaseController { Page page = websiteCfgService.getWebsiteList(pageInfo, entity); ipLists = page.getList(); } - + List> logTotals=new ArrayList>(); + StringBuilder compileIds=new StringBuilder(",");//配置ids + Set set=new HashSet();//服务ids + for (CfgIndexInfo 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()); titleList.add("NTC_UNIVERSAL_IP"); titleList.add("NTC_SSL_SNI"); @@ -946,6 +1035,12 @@ public class WebsiteController extends BaseController { List ipPortList = new ArrayList<>(); List subscribeIdList = new ArrayList(); for (CfgIndexInfo cfg : ipLists) { + for (Map logTotal : logTotals) { + if(cfg.getCompileId().equals(Integer.parseInt((String) logTotal.get("compileId")))){ + cfg.setTotalLogs((Long)logTotal.get("sum")); + break; + } + } Map maps = websiteCfgService.exportssl(cfg); sslSniList.addAll(maps.get("NTC_SSL_SNI")); sslSnaList.addAll(maps.get("NTC_SSL_SAN")); diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/WhiteListController.java b/src/main/java/com/nis/web/controller/configuration/ntc/WhiteListController.java index 0f26c49db..a4b427326 100644 --- a/src/main/java/com/nis/web/controller/configuration/ntc/WhiteListController.java +++ b/src/main/java/com/nis/web/controller/configuration/ntc/WhiteListController.java @@ -3,8 +3,10 @@ package com.nis.web.controller.configuration.ntc; 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; @@ -371,7 +373,7 @@ public class WhiteListController extends CommonController { titleList.add("NTC_IP"); classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); classMap.put("NTC_IP", IpPortCfg.class); - String cfgIndexInfoNoExport = ",policy_name,do_log,letter,whether_area_block,classification,attribute,label,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + String cfgIndexInfoNoExport = ",log_total,policy_name,do_log,letter,whether_area_block,classification,attribute,label,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; String ipPortInfoNoExport = ",protocol,direction,do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + ",config_time,editor,edit_time,auditor,audit_time" + ",letter,whether_area_block,classification,attribute,label" @@ -442,7 +444,32 @@ public class WhiteListController extends CommonController { Page page = domainService.getDomainList(pageInfo, entity); ipLists = page.getList(); } - + List> logTotals=new ArrayList>(); + StringBuilder compileIds=new StringBuilder(",");//配置ids + Set set=new HashSet();//服务ids + for (CfgIndexInfo 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()); titleList.add("NTC_HTTP_URL"); classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); @@ -471,6 +498,12 @@ public class WhiteListController extends CommonController { noExportMap.put("NTC_HTTP_URL", httpUrlInfoNoExport); List httpurlList = new ArrayList(); for (CfgIndexInfo cfg : ipLists) { + for (Map logTotal : logTotals) { + if(cfg.getCompileId().equals(Integer.parseInt((String) logTotal.get("compileId")))){ + cfg.setTotalLogs((Long)logTotal.get("sum")); + break; + } + } CfgIndexInfo cfgIndexInfo = domainService.exportDomainInfo(cfg); httpurlList.addAll(cfgIndexInfo.getHttpUrlList()); } diff --git a/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsInfoController.java b/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsInfoController.java index 96cbdc1ed..8a1b1f156 100644 --- a/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsInfoController.java +++ b/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsInfoController.java @@ -525,7 +525,7 @@ public class TrafficStatisticsInfoController extends BaseController { Calendar cal = Calendar. getInstance (); cal.setTime(new Date()); String now = new SimpleDateFormat( "yyyy-MM-dd HH:mm:00" ).format(cal.getTime());//获取到完整的时间 - cal.set(Calendar.HOUR_OF_DAY, cal.get(Calendar.HOUR_OF_DAY) - 12); + cal.set(Calendar.HOUR_OF_DAY, cal.get(Calendar.HOUR_OF_DAY) - 1); String oneHoursAgo = new SimpleDateFormat( "yyyy-MM-dd HH:mm:00" ).format(cal.getTime()); List domainList = appCfgService.getDomainDict(new WebsiteDomainTopic());// domain 域名 model.addAttribute("domainList", domainList); diff --git a/src/main/resources/messages/message_en.properties b/src/main/resources/messages/message_en.properties index d12827d31..92a98b976 100644 --- a/src/main/resources/messages/message_en.properties +++ b/src/main/resources/messages/message_en.properties @@ -1018,7 +1018,7 @@ domain_intercepter_ratelimit=Domain Intercept Rate Limit app_built_in_features_config=APP Built-in Features PXY_INTERCEPT_PKT_BIN=Packet Payload certificate=Certificate -do_log=Log Option +do_log=Do Log file_strategy=File Strategy file_desc=File Desc content_type=Content Type diff --git a/src/main/resources/messages/message_ru.properties b/src/main/resources/messages/message_ru.properties index 6881b60cf..98ba3fbb7 100644 --- a/src/main/resources/messages/message_ru.properties +++ b/src/main/resources/messages/message_ru.properties @@ -1018,7 +1018,7 @@ domain_intercepter_ratelimit=\u041f\u0435\u0440\u0435\u0445\u0432\u0430\u0442 \u app_built_in_features_config=\u0412\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f PXY_INTERCEPT_PKT_BIN=\u041f\u043e\u043b\u0435\u0437\u043d\u0430\u044f \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 certificate=\u0421\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 -do_log=\u0417\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u0436\u0443\u0440\u043d\u0430\u043b \u0438\u043b\u0438 \u043d\u0435\u0442 +do_log=\u041D\u0430\u0434\u043E \u043B\u0438 \u0437\u0430\u043F\u0438\u0441\u0430\u0442\u044C \u0436\u0443\u0440\u043D\u0430\u043B file_strategy=\u041f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u0444\u0430\u0439\u043b\u043e\u0432 file_desc=\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u043e\u0432 content_type=\u0422\u0438\u043f \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f diff --git a/src/main/resources/messages/message_zh_CN.properties b/src/main/resources/messages/message_zh_CN.properties index 3ee29773d..8437f71f0 100644 --- a/src/main/resources/messages/message_zh_CN.properties +++ b/src/main/resources/messages/message_zh_CN.properties @@ -1017,7 +1017,7 @@ domain_intercepter_ratelimit=\u57df\u540d\u62e6\u622a\u9650\u901f app_built_in_features_config=APP\u5185\u7f6e\u7279\u5f81\u7ef4\u62a4 PXY_INTERCEPT_PKT_BIN=\u5305\u8f7d\u8377 certificate=\u8bc1\u4e66 -do_log=\u8bb0\u5f55\u975e\u7ed3\u6784\u5316\u65e5\u5fd7 +do_log=\u662F\u5426\u8BB0\u5F55\u65E5\u5FD7 file_strategy=\u6587\u4ef6\u7b56\u7565 file_desc=\u6587\u4ef6\u63cf\u8ff0\t content_type=\u5185\u5bb9\u7c7b\u578b