diff --git a/src/main/java/com/nis/domain/configuration/AppPolicyCfg.java b/src/main/java/com/nis/domain/configuration/AppPolicyCfg.java index a2dfa5366..d2bfa25ef 100644 --- a/src/main/java/com/nis/domain/configuration/AppPolicyCfg.java +++ b/src/main/java/com/nis/domain/configuration/AppPolicyCfg.java @@ -32,13 +32,16 @@ public class AppPolicyCfg extends BaseCfg { private static final long serialVersionUID = -5679998383250783571L; private static final String tableName="app_policy_cfg"; @Expose + @ExcelField(title="cfg_id",sort=0) private Integer compileId; @Expose private String ratelimit; private Integer appCode;//specific_service_cfg表一级节点的spec_service_code private Integer behavCode;//specific_service_cfg表二级节点的spec_service_code private Integer specServiceId; + @ExcelField(title="basic_protocol",sort=2) private String appName; + @ExcelField(title="behaviour_type",sort=3) private String behavName; private String cfgKeywords; private String userRegion1; @@ -48,7 +51,29 @@ public class AppPolicyCfg extends BaseCfg { private String userRegion5; private String configType; + @ExcelField(title="encrypted_tunnel_behavior",sort=2) + private String behaviorName; + @ExcelField(title="social_app",sort=2) + private String socialName; + + + + public String getBehaviorName() { + return behaviorName; + } + + public void setBehaviorName(String behaviorName) { + this.behaviorName = behaviorName; + } + + public String getSocialName() { + return socialName; + } + + public void setSocialName(String socialName) { + this.socialName = socialName; + } public String getConfigType() { return configType; diff --git a/src/main/java/com/nis/domain/configuration/BaseCfg.java b/src/main/java/com/nis/domain/configuration/BaseCfg.java index 09aeae7e8..87f1ec9b1 100644 --- a/src/main/java/com/nis/domain/configuration/BaseCfg.java +++ b/src/main/java/com/nis/domain/configuration/BaseCfg.java @@ -72,18 +72,18 @@ public class BaseCfg extends BaseEntity implements Cloneable{ * GK类型 */ @Expose - @ExcelField(title="action",dictType="SERVICE_ACTION",sort=2) + @ExcelField(title="action",dictType="SERVICE_ACTION",sort=20) protected Integer action; /** * 有效标识 */ - @ExcelField(title="valid_identifier",dictType="VALID_IDENTIFIER",sort=9) + @ExcelField(title="valid_identifier",dictType="VALID_IDENTIFIER",sort=90) @Expose protected Integer isValid; /** * 是否审核 */ - @ExcelField(title="is_audit",dictType="AUDIT_STATUS",sort=10) + @ExcelField(title="is_audit",dictType="AUDIT_STATUS",sort=100) protected Integer isAudit; /** * 创建人员 @@ -92,12 +92,12 @@ public class BaseCfg extends BaseEntity implements Cloneable{ /** * 创建人员 */ - @ExcelField(title="creator",sort=11) + @ExcelField(title="creator",sort=110) protected String creatorName; /** * 配置时间 */ - @ExcelField(title="config_time",sort=12) + @ExcelField(title="config_time",sort=120) protected Date createTime; /** * 修改人员 @@ -106,12 +106,12 @@ public class BaseCfg extends BaseEntity implements Cloneable{ /** * 创建人员 */ - @ExcelField(title="editor",sort=13) + @ExcelField(title="editor",sort=130) protected String editorName; /** * 修改时间 */ - @ExcelField(title="edit_time",sort=14) + @ExcelField(title="edit_time",sort=140) protected Date editTime; /** * 审核人员 @@ -120,13 +120,13 @@ public class BaseCfg extends BaseEntity implements Cloneable{ /** * 审核人员 */ - @ExcelField(title="auditor",sort=15) + @ExcelField(title="auditor",sort=150) protected String auditorName; /** * 审核时间 */ @Expose - @ExcelField(title="audit_time",sort=16) + @ExcelField(title="audit_time",sort=160) @SerializedName("opTime") protected Date auditTime; /** @@ -142,27 +142,27 @@ public class BaseCfg extends BaseEntity implements Cloneable{ /** * 来函 */ - @ExcelField(title="letter",sort=5) + @ExcelField(title="letter",sort=50) protected String requestName; /** * 是否区域gk */ - @ExcelField(title="whether_area_block",dictType="WHETHER_AREA_BLOCK",sort=4) + @ExcelField(title="whether_area_block",dictType="WHETHER_AREA_BLOCK",sort=40) protected Integer isAreaEffective; /** * 分类 */ - @ExcelField(title="classification",dictType="type",sort=6) + @ExcelField(title="classification",dictType="type",sort=60) protected String classify; /** * 性质 */ - @ExcelField(title="attribute",dictType="attribute",sort=7) + @ExcelField(title="attribute",dictType="attribute",sort=70) protected String attribute; /** * 标签 */ - @ExcelField(title="label",dictType="label",sort=8) + @ExcelField(title="label",dictType="label",sort=80) protected String lable; /** * 分类 @@ -213,7 +213,7 @@ public class BaseCfg extends BaseEntity implements Cloneable{ /** * do_log属性在界面(do_log:0不需要1记录所有日志2只记录结构化日志。默认是2) */ - @ExcelField(title="do_log",dictType="DO_LOG",sort=3) + @ExcelField(title="do_log",dictType="DO_LOG",sort=30) protected Integer doLog = Constants.MAAT_CFG_DOLOG_DEFAULT; diff --git a/src/main/java/com/nis/domain/configuration/template/IpRateLimitTemplate.java b/src/main/java/com/nis/domain/configuration/template/IpRateLimitTemplate.java index c6283d70b..67dfb1ea0 100644 --- a/src/main/java/com/nis/domain/configuration/template/IpRateLimitTemplate.java +++ b/src/main/java/com/nis/domain/configuration/template/IpRateLimitTemplate.java @@ -9,7 +9,7 @@ import com.nis.util.excel.ExcelField; public class IpRateLimitTemplate extends IpAllTemplate { private String userRegion1; - @ExcelField(title="rate_limte",align=2,sort=2) + @ExcelField(title="ratelimit",dictType="RATE_LIMIT",align=2,sort=2) public String getUserRegion1() { return userRegion1; } diff --git a/src/main/java/com/nis/domain/log/PxyHttpLog.java b/src/main/java/com/nis/domain/log/PxyHttpLog.java index b665cb412..15bbfb658 100644 --- a/src/main/java/com/nis/domain/log/PxyHttpLog.java +++ b/src/main/java/com/nis/domain/log/PxyHttpLog.java @@ -17,15 +17,15 @@ public class PxyHttpLog extends BaseLogEntity { private String respHeader; private String reqBody; private String resBody; - private String webSite; + private String website; - - public String getWebSite() { - return webSite; + + public String getWebsite() { + return website; } - public void setWebSite(String webSite) { - this.webSite = webSite; + public void setWebsite(String website) { + this.website = website; } public String getUrl() { return url; diff --git a/src/main/java/com/nis/util/excel/ExportExcel.java b/src/main/java/com/nis/util/excel/ExportExcel.java index fea52e9a8..20606e1e3 100644 --- a/src/main/java/com/nis/util/excel/ExportExcel.java +++ b/src/main/java/com/nis/util/excel/ExportExcel.java @@ -133,52 +133,21 @@ public class ExportExcel { } public String[] validRegionFieldAndSetComment(String headerStr,String commentStr,FunctionRegionDict region,FunctionServiceDict service,Properties msgProp){ String[] titleInfo=new String[2]; - if(region.getIsMaat().equals(1)){//maat - if(region.getRegionType().equals(1)){//IP配置 - //ip配置需要导入的信息:srcIp srcPort destIp destPort Protocol Direction - //确定需要导入的srcIp srcPort destIp destPort信息 - if(StringUtil.isEmpty(region.getConfigIpPortShow())){//无源目的ip和端口 - if("client_ip".equals(headerStr) - || "server_ip".equals(headerStr) - || "client_port".equals(headerStr) - || "server_port".equals(headerStr) - ){ - headerStr=""; - commentStr=""; - } - }else{ - if("client_ip".equals(headerStr)){ - if(((","+region.getConfigIpPortShow()+",").indexOf(",1,") > -1) ){ - commentStr=""; - if((","+region.getConfigIpType()+",").indexOf(",4,") > -1){ - if((","+region.getConfigIpPattern()+",").indexOf(",3,") > -1){ - commentStr=commentStr+"0.0.0.0"+"\n"; - } - if((","+region.getConfigIpPattern()+",").indexOf(",2,") > -1){ - commentStr=commentStr+"0.0.0.0-1"+"\n"; - } - if((","+region.getConfigIpPattern()+",").indexOf(",1,") > -1){ - commentStr=commentStr+"0.0.0.0/16"+"\n"; - } - } - if((","+region.getConfigIpType()+",").indexOf(",6,") > -1){ - if((","+region.getConfigIpPattern()+",").indexOf(",3,") > -1){ - commentStr=commentStr+"::"+"\n"; - } - if((","+region.getConfigIpPattern()+",").indexOf(",2,") > -1){ - commentStr=commentStr+"::-::"+"\n"; - } - if((","+region.getConfigIpPattern()+",").indexOf(",1,") > -1){ - commentStr=commentStr+"::/128"+"\n"; - } - } - }else{ - headerStr=""; - commentStr=""; - } - } - if("server_ip".equals(headerStr)){ - if((","+region.getConfigIpPortShow()+",").indexOf(",3,") > -1){ + if(region.getRegionType().equals(1)){//IP配置 + //ip配置需要导入的信息:srcIp srcPort destIp destPort Protocol Direction + //确定需要导入的srcIp srcPort destIp destPort信息 + if(StringUtil.isEmpty(region.getConfigIpPortShow())){//无源目的ip和端口 + if("client_ip".equals(headerStr) + || "server_ip".equals(headerStr) + || "client_port".equals(headerStr) + || "server_port".equals(headerStr) + ){ + headerStr=""; + commentStr=""; + } + }else{ + if("client_ip".equals(headerStr)){ + if(((","+region.getConfigIpPortShow()+",").indexOf(",1,") > -1) ){ commentStr=""; if((","+region.getConfigIpType()+",").indexOf(",4,") > -1){ if((","+region.getConfigIpPattern()+",").indexOf(",3,") > -1){ @@ -206,108 +175,157 @@ public class ExportExcel { headerStr=""; commentStr=""; } - } - if("client_port".equals(headerStr)){ - if(((","+region.getConfigIpPortShow()+",").indexOf(",2,") > -1)){ - commentStr=""; - if((","+region.getConfigPortPattern()+",").indexOf(",1,") > -1){ - commentStr=commentStr+"0["+msgProp.getProperty("val_src_port")+"]"+"\n"; + } + if("server_ip".equals(headerStr)){ + if((","+region.getConfigIpPortShow()+",").indexOf(",3,") > -1){ + commentStr=""; + if((","+region.getConfigIpType()+",").indexOf(",4,") > -1){ + if((","+region.getConfigIpPattern()+",").indexOf(",3,") > -1){ + commentStr=commentStr+"0.0.0.0"+"\n"; } - if((","+region.getConfigPortPattern()+",").indexOf(",2,") > -1){ - commentStr=commentStr+"0/65535["+msgProp.getProperty("val_src_port_mask")+"]"+"\n"; + if((","+region.getConfigIpPattern()+",").indexOf(",2,") > -1){ + commentStr=commentStr+"0.0.0.0-1"+"\n"; + } + if((","+region.getConfigIpPattern()+",").indexOf(",1,") > -1){ + commentStr=commentStr+"0.0.0.0/16"+"\n"; } - }else{ - headerStr=""; - commentStr=""; } - } - if("server_port".equals(headerStr)){ - if((","+region.getConfigIpPortShow()+",").indexOf(",4,") > -1){ - commentStr=""; - if((","+region.getConfigPortPattern()+",").indexOf(",1,") > -1){ - commentStr=commentStr+"0["+msgProp.getProperty("val_src_port")+"]"+"\n"; + if((","+region.getConfigIpType()+",").indexOf(",6,") > -1){ + if((","+region.getConfigIpPattern()+",").indexOf(",3,") > -1){ + commentStr=commentStr+"::"+"\n"; } - if((","+region.getConfigPortPattern()+",").indexOf(",2,") > -1){ - commentStr=commentStr+"0/65535["+msgProp.getProperty("val_src_port_mask")+"]"+"\n"; + if((","+region.getConfigIpPattern()+",").indexOf(",2,") > -1){ + commentStr=commentStr+"::-::"+"\n"; + } + if((","+region.getConfigIpPattern()+",").indexOf(",1,") > -1){ + commentStr=commentStr+"::/128"+"\n"; } - }else{ - headerStr=""; - commentStr=""; } + }else{ + headerStr=""; + commentStr=""; } - } - //导入的Protocol - if("protocol".equals(headerStr)){ - if(service.getFunctionId().equals(5) ){ + } + if("client_port".equals(headerStr)){ + if(((","+region.getConfigIpPortShow()+",").indexOf(",2,") > -1)){ + commentStr=""; + if((","+region.getConfigPortPattern()+",").indexOf(",1,") > -1){ + commentStr=commentStr+"0["+msgProp.getProperty("val_src_port")+"]"+"\n"; + } + if((","+region.getConfigPortPattern()+",").indexOf(",2,") > -1){ + commentStr=commentStr+"0/65535["+msgProp.getProperty("val_src_port_mask")+"]"+"\n"; + } + }else{ + headerStr=""; + commentStr=""; + } + } + if("server_port".equals(headerStr)){ + if((","+region.getConfigIpPortShow()+",").indexOf(",4,") > -1){ + commentStr=""; + if((","+region.getConfigPortPattern()+",").indexOf(",1,") > -1){ + commentStr=commentStr+"0["+msgProp.getProperty("val_src_port")+"]"+"\n"; + } + if((","+region.getConfigPortPattern()+",").indexOf(",2,") > -1){ + commentStr=commentStr+"0/65535["+msgProp.getProperty("val_src_port_mask")+"]"+"\n"; + } + }else{ + headerStr=""; + commentStr=""; + } + } + } + //导入的Protocol + if("protocol".equals(headerStr)){ + if(service.getFunctionId().equals(5) ){ + commentStr=""; + //block tcp + if(service.getAction().equals(16) ){ + List protocol=DictUtils.getDictList("PROTOCOL"); + if(protocol !=null && protocol.size()>0){ + for (SysDataDictionaryItem sysDataDictionaryItem : protocol) { + if(sysDataDictionaryItem.getItemCode().equals(6)){ + commentStr=commentStr+sysDataDictionaryItem.getItemCode()+":"+sysDataDictionaryItem.getItemValue()+"\n"; + } + } + } + }else{ commentStr=""; List protocol=DictUtils.getDictList("PROTOCOL"); if(protocol !=null && protocol.size()>0){ for (SysDataDictionaryItem sysDataDictionaryItem : protocol) { - if(service.getAction().equals(16) && sysDataDictionaryItem.getItemCode().equals(6)){ - commentStr=commentStr+sysDataDictionaryItem.getItemCode()+":"+sysDataDictionaryItem.getItemValue()+"\n"; - } - if(service.getAction().equals(1) && - (sysDataDictionaryItem.getItemCode().equals(6) - || sysDataDictionaryItem.getItemCode().equals(17) - || sysDataDictionaryItem.getItemCode().equals(0) )){ - commentStr=commentStr+sysDataDictionaryItem.getItemCode()+":"+sysDataDictionaryItem.getItemValue()+"\n"; - } - if(service.getAction().equals(32) && - (sysDataDictionaryItem.getItemCode().equals(6) - || sysDataDictionaryItem.getItemCode().equals(17) - || sysDataDictionaryItem.getItemCode().equals(1) - || sysDataDictionaryItem.getItemCode().equals(15) - || sysDataDictionaryItem.getItemCode().equals(51) - || sysDataDictionaryItem.getItemCode().equals(50))){ - commentStr=commentStr+sysDataDictionaryItem.getItemCode()+":"+sysDataDictionaryItem.getItemValue()+"\n"; - } - if(service.getAction().equals(64) && - (sysDataDictionaryItem.getItemCode().equals(6) - || sysDataDictionaryItem.getItemCode().equals(17) )){ - commentStr=commentStr+sysDataDictionaryItem.getItemCode()+":"+sysDataDictionaryItem.getItemValue()+"\n"; - } - } - } - - }else{ - if(StringUtil.isEmpty(region.getConfigProtocol())){ - headerStr=""; - commentStr=""; - }else{ - commentStr=""; - List protocol=DictUtils.getDictList("PROTOCOL"); - if(protocol !=null && protocol.size()>0){ - for (SysDataDictionaryItem sysDataDictionaryItem : protocol) { - if((","+region.getConfigProtocol()+",").indexOf(","+sysDataDictionaryItem.getItemCode()+",") >0){ - if(StringUtil.isEmpty(msgProp.getProperty(sysDataDictionaryItem.getItemValue()))){ - commentStr=commentStr+sysDataDictionaryItem.getItemCode()+":"+sysDataDictionaryItem.getItemValue()+"\n"; - }else{ - commentStr=commentStr+sysDataDictionaryItem.getItemCode()+":"+msgProp.getProperty(sysDataDictionaryItem.getItemValue())+"\n"; - } - + if((","+region.getConfigProtocol()+",").indexOf(","+sysDataDictionaryItem.getItemCode()+",") >-1){ + if(StringUtil.isEmpty(msgProp.getProperty(sysDataDictionaryItem.getItemValue()))){ + commentStr=commentStr+sysDataDictionaryItem.getItemCode()+":"+sysDataDictionaryItem.getItemValue()+"\n"; + }else{ + commentStr=commentStr+sysDataDictionaryItem.getItemCode()+":"+msgProp.getProperty(sysDataDictionaryItem.getItemValue())+"\n"; } + } } } } - } - - //导入的Direction - if("direction".equals(headerStr)){ + }else{ if(StringUtil.isEmpty(region.getConfigProtocol())){ headerStr=""; commentStr=""; }else{ commentStr=""; - List direction=DictUtils.getDictList("DIRECTION"); - if(direction !=null && direction.size()>0){ - for (SysDataDictionaryItem sysDataDictionaryItem : direction) { - if(StringUtil.isEmpty(msgProp.getProperty(sysDataDictionaryItem.getItemValue()))){ - commentStr=commentStr+sysDataDictionaryItem.getItemCode()+":"+sysDataDictionaryItem.getItemValue()+"\n"; - }else{ - commentStr=commentStr+sysDataDictionaryItem.getItemCode()+":"+msgProp.getProperty(sysDataDictionaryItem.getItemValue())+"\n"; + List protocol=DictUtils.getDictList("PROTOCOL"); + if(protocol !=null && protocol.size()>0){ + for (SysDataDictionaryItem sysDataDictionaryItem : protocol) { + if((","+region.getConfigProtocol()+",").indexOf(","+sysDataDictionaryItem.getItemCode()+",") >-1){ + if(StringUtil.isEmpty(msgProp.getProperty(sysDataDictionaryItem.getItemValue()))){ + commentStr=commentStr+sysDataDictionaryItem.getItemCode()+":"+sysDataDictionaryItem.getItemValue()+"\n"; + }else{ + commentStr=commentStr+sysDataDictionaryItem.getItemCode()+":"+msgProp.getProperty(sysDataDictionaryItem.getItemValue())+"\n"; + } + } } + if(StringUtil.isEmpty(commentStr)){ + headerStr=""; + commentStr=""; + } + } + } + } + } + + //导入的Direction + if("direction".equals(headerStr)){ + if(StringUtil.isEmpty(region.getConfigDirection())){ + headerStr=""; + commentStr=""; + }else{ + commentStr=""; + List direction=DictUtils.getDictList("DIRECTION"); + if(direction !=null && direction.size()>0){ + for (SysDataDictionaryItem sysDataDictionaryItem : direction) { + if(((","+region.getConfigDirection()+",").indexOf(sysDataDictionaryItem.getItemCode()) >-1) && StringUtil.isEmpty(msgProp.getProperty(sysDataDictionaryItem.getItemValue()))){ + commentStr=commentStr+sysDataDictionaryItem.getItemCode()+":"+sysDataDictionaryItem.getItemValue()+"\n"; + }else if((","+region.getConfigDirection()+",").indexOf(sysDataDictionaryItem.getItemCode()) >-1){ + commentStr=commentStr+sysDataDictionaryItem.getItemCode()+":"+msgProp.getProperty(sysDataDictionaryItem.getItemValue())+"\n"; + } + } + if(StringUtil.isEmpty(commentStr)){ + headerStr=""; + commentStr=""; + } + } + } + } + + //导入的限速 + if("ratelimit".equals(headerStr)){ + commentStr=""; + List ratelimit=DictUtils.getDictList("RATE_LIMIT"); + if(ratelimit !=null && ratelimit.size()>0){ + for (SysDataDictionaryItem sysDataDictionaryItem : ratelimit) { + if(StringUtil.isEmpty(msgProp.getProperty(sysDataDictionaryItem.getItemValue()))){ + commentStr=commentStr+sysDataDictionaryItem.getItemCode()+":"+sysDataDictionaryItem.getItemValue()+"\n"; + }else{ + commentStr=commentStr+sysDataDictionaryItem.getItemCode()+":"+msgProp.getProperty(sysDataDictionaryItem.getItemValue())+"\n"; } } } @@ -799,7 +817,7 @@ public class ExportExcel { if (!StringUtil.isEmpty(commentStr)){ cell.setCellValue(headerList.get(i)); Comment comment = this.sheet.createDrawingPatriarch().createCellComment( - new XSSFClientAnchor(0, 0, 0, 0, (short) i, 0, (short) i+4, 3)); + new XSSFClientAnchor(0, 0, 0, 0, (short) i, 0, (short) i+4, i+5)); comment.setString(new XSSFRichTextString(commentStr)); cell.setCellComment(comment); }else{ 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 ad2149174..c4628008f 100644 --- a/src/main/java/com/nis/web/controller/configuration/AppCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/AppCfgController.java @@ -1406,4 +1406,100 @@ public class AppCfgController extends BaseController { } } + //ip配置导出 + @RequestMapping(value = "exportIpAddr") + public void exportIp(Model model,HttpServletRequest request,HttpServletResponse response, + @ModelAttribute("cfg")AppPolicyCfg entity,String ids,RedirectAttributes redirectAttributes){ + try { + //export data info + List titleList=new ArrayList(); + Map> classMap=new HashMap>(); + Map dataMap=new HashMap(); + Map noExportMap=new HashMap(); + /*//导出选中记录 + * if(!StringUtil.isEmpty(ids)){ + for(String id:ids.split(",")){ + Long.parseLong(id); + } + //List list=ipCfgService.getListByCfgIdWithName(IpPortCfg.getTablename(), entity.getFunctionId(), ids); + }else{*/ + //条件导出数据大于最大导出数,只导出最大导出条数 + entity.setTableName(IpPortCfg.getTablename()); + Page pageInfo=new Page(request, response,"a"); + if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + }else{ + pageInfo.setPageNo(1); + pageInfo.setPageSize(-1); + } + Page page = appCfgService.findAppPolicyList(pageInfo, entity); + for(AppPolicyCfg policy:page.getList()){ + SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(policy.getSpecServiceId()); + if(app!=null) { + policy.setSocialName(app.getSpecServiceName()); + } + } + //查找社交应用的所有有效二级特定服务 + SpecificServiceCfg second=new SpecificServiceCfg(); + for(SysDataDictionaryItem dict:DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) { + if(Constants.SPECIFIC_SERVICE_CFG_TYPE_APP.equals(dict.getItemValue())) { + second.setCfgType(Integer.parseInt(dict.getItemCode())); + break; + } + } + second.setIsValid(Constants.VALID_YES); + second.setIsLeaf(1); + List secondList=specificServiceCfgService.findAllSpecificServiceCfg(second, null); + //遍历,找到匹配项后将行为设置进去 + for(AppPolicyCfg policy:page.getList()){ + if(policy.getBehavCode()==null) continue; + for(SpecificServiceCfg secondCfg:secondList) { + if(secondCfg.getSpecServiceCode()==null) continue; + if(secondCfg.getSpecServiceCode().intValue()==policy.getBehavCode().intValue()) { + policy.setBehavName(secondCfg.getSpecServiceName()); + break; + } + } + } + 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,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" + +",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; + String subscribeInfoNoExport=",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" + +",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; + noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); + noExportMap.put("NTC_IP", ipPortInfoNoExport); + noExportMap.put("NTC_SUBSCRIBE_ID", subscribeInfoNoExport); + List ipList=new ArrayList(); + List subscribeInfoList=new ArrayList(); + for (AppPolicyCfg cfg : page.getList()) { + AppPolicyCfg cfgIndexInfo=appCfgService.exportIpInfo(cfg); + ipList.addAll(cfgIndexInfo.getIpPortList()); + subscribeInfoList.addAll(cfgIndexInfo.getNtcSubscribeIdCfgList()); + } + dataMap.put(entity.getMenuNameCode(), page.getList()); + dataMap.put("NTC_IP", ipList); + dataMap.put("NTC_SUBSCRIBE_ID", subscribeInfoList); + + /*}*/ + this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); + } catch (Exception e) { + logger.error("ip addr export failed",e); + addMessage(redirectAttributes, "export_failed"); + } + //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + } + + + } 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 3f063a718..43a54c807 100644 --- a/src/main/java/com/nis/web/controller/configuration/BasicProtocolController.java +++ b/src/main/java/com/nis/web/controller/configuration/BasicProtocolController.java @@ -2,7 +2,9 @@ package com.nis.web.controller.configuration; import java.util.ArrayList; import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -17,12 +19,15 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes; import com.nis.domain.Page; import com.nis.domain.configuration.AppPolicyCfg; +import com.nis.domain.configuration.CfgIndexInfo; import com.nis.domain.configuration.IpPortCfg; import com.nis.domain.configuration.NtcSubscribeIdCfg; +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.Constants; +import com.nis.util.StringUtil; import com.nis.web.controller.BaseController; import com.nis.web.security.UserUtils; @@ -208,4 +213,78 @@ public class BasicProtocolController extends BaseController { } return "redirect:" + adminPath +"/basicprotocol/list?functionId="+functionId; } + + //ip配置导出 + @RequestMapping(value = "exportIpAddr") + public void exportIp(Model model,HttpServletRequest request,HttpServletResponse response, + @ModelAttribute("cfg")AppPolicyCfg entity,String ids,RedirectAttributes redirectAttributes){ + try { + //export data info + List titleList=new ArrayList(); + Map> classMap=new HashMap>(); + Map dataMap=new HashMap(); + Map noExportMap=new HashMap(); + /*//导出选中记录 + * if(!StringUtil.isEmpty(ids)){ + for(String id:ids.split(",")){ + Long.parseLong(id); + } + //List list=ipCfgService.getListByCfgIdWithName(IpPortCfg.getTablename(), entity.getFunctionId(), ids); + }else{*/ + //条件导出数据大于最大导出数,只导出最大导出条数 + entity.setTableName(IpPortCfg.getTablename()); + Page pageInfo=new Page(request, response,"a"); + if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + }else{ + pageInfo.setPageNo(1); + pageInfo.setPageSize(-1); + } + Page page = appCfgService.findAppPolicyList(pageInfo, entity); + for(AppPolicyCfg policy:page.getList()){ + SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(policy.getSpecServiceId()); + if(app!=null) { + policy.setAppName(app.getSpecServiceName()); + } + + } + 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 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" + +",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; + String subscribeInfoNoExport=",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" + +",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; + noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); + noExportMap.put("NTC_IP", ipPortInfoNoExport); + noExportMap.put("NTC_SUBSCRIBE_ID", subscribeInfoNoExport); + List ipList=new ArrayList(); + List subscribeInfoList=new ArrayList(); + for (AppPolicyCfg cfg : page.getList()) { + AppPolicyCfg cfgIndexInfo=appCfgService.exportIpInfo(cfg); + ipList.addAll(cfgIndexInfo.getIpPortList()); + subscribeInfoList.addAll(cfgIndexInfo.getNtcSubscribeIdCfgList()); + } + dataMap.put(entity.getMenuNameCode(), page.getList()); + dataMap.put("NTC_IP", ipList); + dataMap.put("NTC_SUBSCRIBE_ID", subscribeInfoList); + + /*}*/ + this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); + } catch (Exception e) { + logger.error("ip addr export failed",e); + addMessage(redirectAttributes, "export_failed"); + } + //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 59c389960..79bba6407 100644 --- a/src/main/java/com/nis/web/controller/configuration/EncryptedTunnelBehaviorController.java +++ b/src/main/java/com/nis/web/controller/configuration/EncryptedTunnelBehaviorController.java @@ -2,7 +2,9 @@ package com.nis.web.controller.configuration; import java.util.ArrayList; import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -228,4 +230,100 @@ public class EncryptedTunnelBehaviorController extends BaseController { } return "redirect:" + adminPath +"/encryptedtunnelbehav/list?functionId="+functionId; } + + //ip配置导出 + @RequestMapping(value = "exportIpAddr") + public void exportIp(Model model,HttpServletRequest request,HttpServletResponse response, + @ModelAttribute("cfg")AppPolicyCfg entity,String ids,RedirectAttributes redirectAttributes){ + try { + //export data info + List titleList=new ArrayList(); + Map> classMap=new HashMap>(); + Map dataMap=new HashMap(); + Map noExportMap=new HashMap(); + /*//导出选中记录 + * if(!StringUtil.isEmpty(ids)){ + for(String id:ids.split(",")){ + Long.parseLong(id); + } + //List list=ipCfgService.getListByCfgIdWithName(IpPortCfg.getTablename(), entity.getFunctionId(), ids); + }else{*/ + //条件导出数据大于最大导出数,只导出最大导出条数 + entity.setTableName(IpPortCfg.getTablename()); + Page pageInfo=new Page(request, response,"a"); + if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + }else{ + pageInfo.setPageNo(1); + pageInfo.setPageSize(-1); + } + Page page = appCfgService.findAppPolicyList(pageInfo, entity); + for(AppPolicyCfg policy:page.getList()){ + SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(policy.getSpecServiceId()); + if(app!=null) { + policy.setBehaviorName(app.getSpecServiceName()); + } + } + //查找社交应用的所有有效二级特定服务 + SpecificServiceCfg second=new SpecificServiceCfg(); + for(SysDataDictionaryItem dict:DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) { + if(Constants.SPECIFIC_SERVICE_CFG_TYPE_ENCRYPTED_TUNNEL_BEHAVIOR.equals(dict.getItemValue())) { + second.setCfgType(Integer.parseInt(dict.getItemCode())); + break; + } + } + second.setIsValid(Constants.VALID_YES); + second.setIsLeaf(1); + List secondList=specificServiceCfgService.findAllSpecificServiceCfg(second, null); + //遍历,找到匹配项后将行为设置进去 + for(AppPolicyCfg policy:page.getList()){ + if(policy.getBehavCode()==null) continue; + for(SpecificServiceCfg secondCfg:secondList) { + if(secondCfg.getSpecServiceCode()==null) continue; + if(secondCfg.getSpecServiceCode().intValue()==policy.getBehavCode().intValue()) { + policy.setBehavName(secondCfg.getSpecServiceName()); + break; + } + } + } + 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=",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" + +",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; + String subscribeInfoNoExport=",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" + +",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; + noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); + noExportMap.put("NTC_IP", ipPortInfoNoExport); + noExportMap.put("NTC_SUBSCRIBE_ID", subscribeInfoNoExport); + List ipList=new ArrayList(); + List subscribeInfoList=new ArrayList(); + for (AppPolicyCfg cfg : page.getList()) { + AppPolicyCfg cfgIndexInfo=appCfgService.exportIpInfo(cfg); + ipList.addAll(cfgIndexInfo.getIpPortList()); + subscribeInfoList.addAll(cfgIndexInfo.getNtcSubscribeIdCfgList()); + } + dataMap.put(entity.getMenuNameCode(), page.getList()); + dataMap.put("NTC_IP", ipList); + dataMap.put("NTC_SUBSCRIBE_ID", subscribeInfoList); + + /*}*/ + this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); + } catch (Exception e) { + logger.error("TunnelBehavior export failed",e); + addMessage(redirectAttributes, "export_failed"); + } + //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + } + + } diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/AvController.java b/src/main/java/com/nis/web/controller/configuration/ntc/AvController.java index f057d959e..c672e6ccd 100644 --- a/src/main/java/com/nis/web/controller/configuration/ntc/AvController.java +++ b/src/main/java/com/nis/web/controller/configuration/ntc/AvController.java @@ -29,6 +29,7 @@ import com.nis.domain.maat.ToMaatResult; import com.nis.domain.maat.ToMaatResult.ResponseData; import com.nis.exceptions.CallExternalProceduresException; import com.nis.exceptions.MaatConvertException; +import com.nis.exceptions.MultiPartNewException; import com.nis.util.ConfigServiceUtil; import com.nis.util.Constants; import com.nis.util.DictUtils; @@ -162,10 +163,16 @@ public class AvController extends BaseController { // entity.setSrcMd5(srcMd5); // entity.setSampleMd5(sampleMd5); - //验证音视频文件时长 - Encoder encoder = new Encoder(); - String length = ""; - try { + + //音频、视频、VoIP、说话人(音频)、人脸识别(视频)样例需要验证时长 + if(entity.getCfgType().equals(Constants.AV_SAMPLE_AUDIO_REGION) + || entity.getCfgType().equals(Constants.AV_SAMPLE_VIDEO_REGION) + || entity.getCfgType().equals(Constants.AV_SAMPLE_VOIP_REGION) + || entity.getCfgType().equals(Constants.MM_SPEAKER_RECOGNIZATION_REGION) + || entity.getCfgType().equals(Constants.MM_FACE_RECOGNIZATION_REGION)){ + //验证音视频文件时长 + Encoder encoder = new Encoder(); + String length = ""; MultimediaInfo m = encoder.getInfo(uploadSrcFile); long ls = m.getDuration()/1000; int hour = (int) (ls/3600); @@ -176,13 +183,10 @@ public class AvController extends BaseController { if(ls>0 && second>Constants.AV_DURATION_LIMIT){ addMessage(redirectAttributes,"exceeds_duration_limit"); logger.error("The duration of uploaded files exceeds the limit("+Constants.AV_DURATION_LIMIT+"s)."); - return "redirect:" + adminPath +"/ntc/av/sample/fileSampleList?functionId="+entity.getFunctionId(); + throw new MultiPartNewException(this.getMsgProp().getProperty("exceeds_duration_limit")); } - } catch (Exception e) { - e.printStackTrace(); - addMessage(redirectAttributes,"save_failed"); - return "redirect:" + adminPath +"/ntc/av/sample/fileSampleList?functionId="+entity.getFunctionId(); } + } avCfgService.saveOrUpdateAvFileSample(entity, srcFile); @@ -195,7 +199,7 @@ public class AvController extends BaseController { if(e instanceof MaatConvertException||e instanceof CallExternalProceduresException) { addMessage(redirectAttributes,e.getMessage()); }else { - addMessage(redirectAttributes,"save_failed"); + addMessage(redirectAttributes,e.getMessage()); } } 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 c58045051..f6774b712 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 @@ -275,73 +275,73 @@ public class IpController extends BaseController{ return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+5; } - //ip配置导出 - @RequestMapping(value = "exportIpAddr") - public void exportIp(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")CfgIndexInfo entity,String ids,RedirectAttributes redirectAttributes){ - try { - //export data info - List titleList=new ArrayList(); - Map> classMap=new HashMap>(); - Map dataMap=new HashMap(); - Map noExportMap=new HashMap(); + //ip配置导出 + @RequestMapping(value = "exportIpAddr") + public void exportIp(Model model,HttpServletRequest request,HttpServletResponse response, + @ModelAttribute("cfg")CfgIndexInfo entity,String ids,RedirectAttributes redirectAttributes){ + try { + //export data info + List titleList=new ArrayList(); + Map> classMap=new HashMap>(); + Map dataMap=new HashMap(); + Map noExportMap=new HashMap(); + + + /*//导出选中记录 + * if(!StringUtil.isEmpty(ids)){ + for(String id:ids.split(",")){ + Long.parseLong(id); + } + //List list=ipCfgService.getListByCfgIdWithName(IpPortCfg.getTablename(), entity.getFunctionId(), ids); + }else{*/ + //条件导出数据大于最大导出数,只导出最大导出条数 + entity.setTableName(IpPortCfg.getTablename()); + Page pageInfo=new Page(request, response,"a"); + if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + }else{ + pageInfo.setPageNo(1); + pageInfo.setPageSize(-1); + } + Page page = ipCfgService.getIpCfgList(pageInfo, entity); + titleList.add(entity.getMenuNameCode()); + titleList.add("NTC_IP"); + titleList.add("asn_policy"); + classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); + classMap.put("NTC_IP", IpPortCfg.class); + classMap.put("asn_policy", ConfigGroupInfo.class); + String cfgIndexInfoNoExport=",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" + +",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; + String asnGroupInfoNoExport=""; + noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); + noExportMap.put("NTC_IP", ipPortInfoNoExport); + noExportMap.put("asn_policy", asnGroupInfoNoExport); + List ipList=new ArrayList(); + List groupInfoList=new ArrayList(); + for (CfgIndexInfo cfg : page.getList()) { + CfgIndexInfo cfgIndexInfo=ipCfgService.exportIpInfo(cfg); + ipList.addAll(cfgIndexInfo.getIpPortList()); + if(!StringUtil.isEmpty(cfgIndexInfo.getAsnIpGroupName())){ + ConfigGroupInfo group=new ConfigGroupInfo(); + group.setCompileId(cfgIndexInfo.getCompileId()); + group.setGroupName(cfgIndexInfo.getAsnIpGroupName()); + groupInfoList.add(group); + } + } + dataMap.put(entity.getMenuNameCode(), page.getList()); + dataMap.put("NTC_IP", ipList); + dataMap.put("asn_policy", groupInfoList); - - /*//导出选中记录 - * if(!StringUtil.isEmpty(ids)){ - for(String id:ids.split(",")){ - Long.parseLong(id); - } - //List list=ipCfgService.getListByCfgIdWithName(IpPortCfg.getTablename(), entity.getFunctionId(), ids); - }else{*/ - //条件导出数据大于最大导出数,只导出最大导出条数 - entity.setTableName(IpPortCfg.getTablename()); - Page pageInfo=new Page(request, response,"a"); - if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - }else{ - pageInfo.setPageNo(1); - pageInfo.setPageSize(-1); - } - Page page = ipCfgService.getIpCfgList(pageInfo, entity); - titleList.add(entity.getMenuNameCode()); - titleList.add("NTC_IP"); - titleList.add("asn_policy"); - classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); - classMap.put("NTC_IP", IpPortCfg.class); - classMap.put("asn_policy", ConfigGroupInfo.class); - String cfgIndexInfoNoExport=",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" - +",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; - String asnGroupInfoNoExport=""; - noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); - noExportMap.put("NTC_IP", ipPortInfoNoExport); - noExportMap.put("asn_policy", asnGroupInfoNoExport); - List ipList=new ArrayList(); - List groupInfoList=new ArrayList(); - for (CfgIndexInfo cfg : page.getList()) { - CfgIndexInfo cfgIndexInfo=ipCfgService.exportIpInfo(cfg); - ipList.addAll(cfgIndexInfo.getIpPortList()); - if(!StringUtil.isEmpty(cfgIndexInfo.getAsnIpGroupName())){ - ConfigGroupInfo group=new ConfigGroupInfo(); - group.setCompileId(cfgIndexInfo.getCompileId()); - group.setGroupName(cfgIndexInfo.getAsnIpGroupName()); - groupInfoList.add(group); - } - } - dataMap.put(entity.getMenuNameCode(), page.getList()); - dataMap.put("NTC_IP", ipList); - dataMap.put("asn_policy", groupInfoList); - - /*}*/ - this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); - } catch (Exception e) { - logger.error("ip addr export failed",e); - addMessage(redirectAttributes, "export_failed"); - } - //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + /*}*/ + this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); + } catch (Exception e) { + logger.error("ip addr export failed",e); + addMessage(redirectAttributes, "export_failed"); } + //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + } } 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 809503f2b..4ffaf753e 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 @@ -2,7 +2,9 @@ package com.nis.web.controller.configuration.ntc; import java.util.ArrayList; import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -25,8 +27,10 @@ import com.nis.domain.configuration.HttpUrlCfg; import com.nis.domain.configuration.IpPortCfg; import com.nis.domain.configuration.NtcSubscribeIdCfg; import com.nis.domain.configuration.template.WhiteListIpTemplate; +import com.nis.domain.specific.ConfigGroupInfo; import com.nis.exceptions.MaatConvertException; import com.nis.util.Constants; +import com.nis.util.StringUtil; import com.nis.web.controller.configuration.CommonController; import com.nis.web.security.UserUtils; @@ -247,4 +251,63 @@ public class WhiteListController extends CommonController{ @ModelAttribute("cfg")IpPortCfg entity,String ids,RedirectAttributes redirectAttributes){ this._exportIp(columns,model, request, response, entity, ids, redirectAttributes); } + + //ip配置导出 + @RequestMapping(value = "exportIpAddr") + public void exportIp(Model model,HttpServletRequest request,HttpServletResponse response, + @ModelAttribute("cfg")CfgIndexInfo entity,String ids,RedirectAttributes redirectAttributes){ + try { + //export data info + List titleList=new ArrayList(); + Map> classMap=new HashMap>(); + Map dataMap=new HashMap(); + Map noExportMap=new HashMap(); + + + /*//导出选中记录 + * if(!StringUtil.isEmpty(ids)){ + for(String id:ids.split(",")){ + Long.parseLong(id); + } + //List list=ipCfgService.getListByCfgIdWithName(IpPortCfg.getTablename(), entity.getFunctionId(), ids); + }else{*/ + //条件导出数据大于最大导出数,只导出最大导出条数 + entity.setTableName(IpPortCfg.getTablename()); + Page pageInfo=new Page(request, response,"a"); + if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + }else{ + pageInfo.setPageNo(1); + pageInfo.setPageSize(-1); + } + Page page = ipCfgService.getIpCfgList(pageInfo, entity); + titleList.add(entity.getMenuNameCode()); + titleList.add("NTC_IP"); + classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); + classMap.put("NTC_IP", IpPortCfg.class); + String cfgIndexInfoNoExport=",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" + +",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; + noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); + noExportMap.put("NTC_IP", ipPortInfoNoExport); + List ipList=new ArrayList(); + for (CfgIndexInfo cfg : page.getList()) { + CfgIndexInfo cfgIndexInfo=ipCfgService.exportIpInfo(cfg); + ipList.addAll(cfgIndexInfo.getIpPortList()); + } + dataMap.put(entity.getMenuNameCode(), page.getList()); + dataMap.put("NTC_IP", ipList); + /*}*/ + this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); + } catch (Exception e) { + logger.error("ip white export failed",e); + addMessage(redirectAttributes, "export_failed"); + } + //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + } + + } diff --git a/src/main/java/com/nis/web/controller/configuration/proxy/InterceptController.java b/src/main/java/com/nis/web/controller/configuration/proxy/InterceptController.java index fabffc01b..2084e68e6 100644 --- a/src/main/java/com/nis/web/controller/configuration/proxy/InterceptController.java +++ b/src/main/java/com/nis/web/controller/configuration/proxy/InterceptController.java @@ -2,7 +2,9 @@ package com.nis.web.controller.configuration.proxy; import java.util.ArrayList; import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -20,9 +22,12 @@ import com.nis.domain.Page; import com.nis.domain.SysUser; import com.nis.domain.configuration.BaseStringCfg; import com.nis.domain.configuration.CfgIndexInfo; +import com.nis.domain.configuration.InterceptPktBin; import com.nis.domain.configuration.IpPortCfg; import com.nis.domain.configuration.PxyObjKeyring; +import com.nis.domain.specific.ConfigGroupInfo; import com.nis.exceptions.MaatConvertException; +import com.nis.util.Constants; import com.nis.util.StringUtil; import com.nis.web.controller.configuration.CommonController; import com.nis.web.security.UserUtils; @@ -180,4 +185,72 @@ public class InterceptController extends CommonController{ @ModelAttribute("cfg")IpPortCfg entity,String ids,RedirectAttributes redirectAttributes){ this._exportIp(columns,model, request, response, entity, ids, redirectAttributes); }*/ + + //ip配置导出 + @RequestMapping(value = "exportIpAddr") + public void exportIp(Model model,HttpServletRequest request,HttpServletResponse response, + @ModelAttribute("cfg")CfgIndexInfo entity,String ids,RedirectAttributes redirectAttributes){ + try { + //export data info + List titleList=new ArrayList(); + Map> classMap=new HashMap>(); + Map dataMap=new HashMap(); + Map noExportMap=new HashMap(); + + + /*//导出选中记录 + * if(!StringUtil.isEmpty(ids)){ + for(String id:ids.split(",")){ + Long.parseLong(id); + } + //List list=ipCfgService.getListByCfgIdWithName(IpPortCfg.getTablename(), entity.getFunctionId(), ids); + }else{*/ + //条件导出数据大于最大导出数,只导出最大导出条数 + entity.setTableName(IpPortCfg.getTablename()); + Page pageInfo=new Page(request, response,"a"); + if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + }else{ + pageInfo.setPageNo(1); + pageInfo.setPageSize(-1); + } + Page page = ipCfgService.getIpCfgList(pageInfo, entity); + titleList.add(entity.getMenuNameCode()); + titleList.add("ip_addrs"); + titleList.add("intercept_pkt"); + classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); + classMap.put("ip_addrs", IpPortCfg.class); + classMap.put("intercept_pkt", InterceptPktBin.class); + String cfgIndexInfoNoExport=",group_name,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" + +",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; + String interceptNoExport=",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" + +",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; + noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); + noExportMap.put("ip_addrs", ipPortInfoNoExport); + noExportMap.put("intercept_pkt", interceptNoExport); + List ipList=new ArrayList(); + List interInfoList=new ArrayList(); + for (CfgIndexInfo cfg : page.getList()) { + CfgIndexInfo cfgIndexInfo=interceptCfgService.exportIpInfo(cfg); + ipList.addAll(cfgIndexInfo.getIpPortList()); + interInfoList.addAll(cfgIndexInfo.getInterceptPktBinList()); + } + dataMap.put(entity.getMenuNameCode(), page.getList()); + dataMap.put("ip_addrs", ipList); + dataMap.put("intercept_pkt", interInfoList); + + /*}*/ + this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); + } catch (Exception e) { + logger.error("ip addr export failed",e); + addMessage(redirectAttributes, "export_failed"); + } + //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + } } diff --git a/src/main/java/com/nis/web/service/configuration/AppCfgService.java b/src/main/java/com/nis/web/service/configuration/AppCfgService.java index f7fc73433..d1cd1a6b9 100644 --- a/src/main/java/com/nis/web/service/configuration/AppCfgService.java +++ b/src/main/java/com/nis/web/service/configuration/AppCfgService.java @@ -47,6 +47,7 @@ import com.nis.util.StringUtil; import com.nis.util.StringUtils; import com.nis.web.dao.configuration.AppCfgDao; import com.nis.web.dao.configuration.AreaIpCfgDao; +import com.nis.web.dao.configuration.IpCfgDao; import com.nis.web.dao.configuration.StringCfgDao; import com.nis.web.dao.specific.SpecificServiceCfgDao; import com.nis.web.security.UserUtils; @@ -68,6 +69,8 @@ public class AppCfgService extends BaseService { @Autowired protected StringCfgDao stringcfgDao; @Autowired + protected IpCfgDao ipCfgDao; + @Autowired protected SpecificServiceCfgDao specificServiceCfgDao; public Page findAppPolicyList(Page page, AppPolicyCfg entity) { @@ -101,6 +104,16 @@ public class AppCfgService extends BaseService { page.setList(list); return page; } + + public AppPolicyCfg exportIpInfo(AppPolicyCfg policy){ + List ipPortList = appCfgDao.getAppPolicyIpList(policy); + policy.setIpPortList(ipPortList); + NtcSubscribeIdCfg ntcSubscribeIdCfg = new NtcSubscribeIdCfg(); + ntcSubscribeIdCfg.setCompileId(policy.getCompileId()); + List ntcList = stringcfgDao.findSubscribeIdCfgList(ntcSubscribeIdCfg); + policy.setNtcSubscribeIdCfgList(ntcList); + return policy; + } // 主题网站列表 public Page findAppTopicDomainList(Page page, AppTopicDomainCfg entity) { diff --git a/src/main/java/com/nis/web/service/configuration/AvContentCfgService.java b/src/main/java/com/nis/web/service/configuration/AvContentCfgService.java index 6456c6b3e..f688ab6e8 100644 --- a/src/main/java/com/nis/web/service/configuration/AvContentCfgService.java +++ b/src/main/java/com/nis/web/service/configuration/AvContentCfgService.java @@ -926,6 +926,10 @@ public class AvContentCfgService extends BaseService{ Map ipMap = cfgConvert(ipRegionList,list,1,entity,groupRelationList); groupRelationList=ipMap.get("groupList"); ipRegionList=ipMap.get("dstList"); + if (ipMap.get("numRegionList") != null) { + numRegionList.addAll(ipMap.get("numRegionList")); + } + } if(!StringUtil.isEmpty(areaIpCfgList)){ Map areaMap = cfgConvert(areaIpRegionList,areaIpCfgList,1,entity,groupRelationList); @@ -1261,6 +1265,9 @@ public class AvContentCfgService extends BaseService{ Map ipMap = cfgConvert(ipRegionList,list,1,entity,groupRelationList); groupRelationList=ipMap.get("groupList"); ipRegionList=ipMap.get("dstList"); + if (ipMap.get("numRegionList") != null) { + numRegionList.addAll(ipMap.get("numRegionList")); + } } if(!StringUtil.isEmpty(areaIpCfgList)){ diff --git a/src/main/java/com/nis/web/service/configuration/InterceptCfgService.java b/src/main/java/com/nis/web/service/configuration/InterceptCfgService.java index 3b5c7d80b..c3a7db693 100644 --- a/src/main/java/com/nis/web/service/configuration/InterceptCfgService.java +++ b/src/main/java/com/nis/web/service/configuration/InterceptCfgService.java @@ -25,6 +25,7 @@ import com.nis.domain.maat.MaatCfg.DigestCfg; import com.nis.domain.maat.MaatCfg.GroupCfg; import com.nis.domain.maat.MaatCfg.IpCfg; import com.nis.domain.maat.MaatCfg.StringCfg; +import com.nis.domain.specific.ConfigGroupInfo; import com.nis.exceptions.MaatConvertException; import com.nis.util.ConfigServiceUtil; import com.nis.util.Constants; @@ -73,6 +74,16 @@ public class InterceptCfgService extends CrudService * @param entity */ + public CfgIndexInfo exportIpInfo(CfgIndexInfo entity){ + List ipPortList = websiteCfgDao.getIpPortList(entity); + entity.setIpPortList(ipPortList); + if(StringUtils.isNotBlank(entity.getUserRegion1())) { + List info=interceptCfgDao.getInterceptPktBin(entity); + entity.setInterceptPktBinList(info); + } + return entity; + } + public void saveInterceptCfg(CfgIndexInfo entity){ if(!entity.getAction().equals(Constants.REPLACE_ACTION)){ entity.setInterceptPktBinList(null); diff --git a/src/main/java/com/nis/web/service/configuration/IpCfgService.java b/src/main/java/com/nis/web/service/configuration/IpCfgService.java index 5ea7d5287..48007b825 100644 --- a/src/main/java/com/nis/web/service/configuration/IpCfgService.java +++ b/src/main/java/com/nis/web/service/configuration/IpCfgService.java @@ -469,6 +469,9 @@ public class IpCfgService extends CrudService { Map map = cfgConvert(ipRegionList,beans,1,cfg,groupRelationList); groupRelationList=map.get("groupList"); ipRegionList=map.get("dstList"); + if (map.get("numRegionList") != null) { + numRegionList.addAll(map.get("numRegionList")); + } maatCfg.setAreaEffectiveIds("0"); maatCfg.setAction(cfg.getAction()); maatCfg.setAuditTime(cfg.getAuditTime()); diff --git a/src/main/webapp/WEB-INF/views/cfg/app/appPolicyCfgList.jsp b/src/main/webapp/WEB-INF/views/cfg/app/appPolicyCfgList.jsp index 3e9c88729..f228c308b 100644 --- a/src/main/webapp/WEB-INF/views/cfg/app/appPolicyCfgList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/app/appPolicyCfgList.jsp @@ -186,6 +186,7 @@ +
diff --git a/src/main/webapp/WEB-INF/views/cfg/basicprotocol/list.jsp b/src/main/webapp/WEB-INF/views/cfg/basicprotocol/list.jsp index aa8c1e28f..48781c7f3 100644 --- a/src/main/webapp/WEB-INF/views/cfg/basicprotocol/list.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/basicprotocol/list.jsp @@ -189,6 +189,7 @@ +
diff --git a/src/main/webapp/WEB-INF/views/cfg/encryptedtunnelbehav/list.jsp b/src/main/webapp/WEB-INF/views/cfg/encryptedtunnelbehav/list.jsp index f95c39120..40cb5214a 100644 --- a/src/main/webapp/WEB-INF/views/cfg/encryptedtunnelbehav/list.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/encryptedtunnelbehav/list.jsp @@ -186,6 +186,7 @@ +
diff --git a/src/main/webapp/WEB-INF/views/cfg/intercept/interceptList.jsp b/src/main/webapp/WEB-INF/views/cfg/intercept/interceptList.jsp index aea6776c8..fd9bbeed8 100644 --- a/src/main/webapp/WEB-INF/views/cfg/intercept/interceptList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/intercept/interceptList.jsp @@ -176,6 +176,7 @@ +