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/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/IpController.java b/src/main/java/com/nis/web/controller/configuration/ntc/IpController.java index 1c8ac4586..3aafaba37 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,74 +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(); - - - /*//导出选中记录 - * 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_addr"); - titleList.add("asn_policy"); - classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); - classMap.put("ip_port_cfg", 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("ip_addr", 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("ip_addr", ipList); - dataMap.put("asn_policy", groupInfoList); + @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(); - /*}*/ - 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"); + + /*//导出选中记录 + * 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(); } - //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 @@ +