白名单、packed、stream导出

This commit is contained in:
leijun
2018-10-17 10:36:38 +08:00
parent f7cbf39325
commit e71d14254b
16 changed files with 553 additions and 82 deletions

View File

@@ -32,13 +32,16 @@ public class AppPolicyCfg extends BaseCfg<AppPolicyCfg> {
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,8 +51,30 @@ public class AppPolicyCfg extends BaseCfg<AppPolicyCfg> {
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;
}

View File

@@ -72,18 +72,18 @@ public class BaseCfg<T> extends BaseEntity<T> 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<T> extends BaseEntity<T> 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<T> extends BaseEntity<T> 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<T> extends BaseEntity<T> 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<T> extends BaseEntity<T> 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<T> extends BaseEntity<T> 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;

View File

@@ -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<String> titleList=new ArrayList<String>();
Map<String, Class<?>> classMap=new HashMap<String, Class<?>>();
Map<String, List> dataMap=new HashMap<String, List>();
Map<String, String> noExportMap=new HashMap<String, String>();
/*//导出选中记录
* if(!StringUtil.isEmpty(ids)){
for(String id:ids.split(",")){
Long.parseLong(id);
}
//List<CfgIndexInfo> list=ipCfgService.getListByCfgIdWithName(IpPortCfg.getTablename(), entity.getFunctionId(), ids);
}else{*/
//条件导出数据大于最大导出数,只导出最大导出条数
entity.setTableName(IpPortCfg.getTablename());
Page<AppPolicyCfg> pageInfo=new Page<AppPolicyCfg>(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<AppPolicyCfg> 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<SpecificServiceCfg> 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<IpPortCfg> ipList=new ArrayList<IpPortCfg>();
List<NtcSubscribeIdCfg> subscribeInfoList=new ArrayList<NtcSubscribeIdCfg>();
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();
}
}

View File

@@ -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<String> titleList=new ArrayList<String>();
Map<String, Class<?>> classMap=new HashMap<String, Class<?>>();
Map<String, List> dataMap=new HashMap<String, List>();
Map<String, String> noExportMap=new HashMap<String, String>();
/*//导出选中记录
* if(!StringUtil.isEmpty(ids)){
for(String id:ids.split(",")){
Long.parseLong(id);
}
//List<CfgIndexInfo> list=ipCfgService.getListByCfgIdWithName(IpPortCfg.getTablename(), entity.getFunctionId(), ids);
}else{*/
//条件导出数据大于最大导出数,只导出最大导出条数
entity.setTableName(IpPortCfg.getTablename());
Page<AppPolicyCfg> pageInfo=new Page<AppPolicyCfg>(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<AppPolicyCfg> 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<IpPortCfg> ipList=new ArrayList<IpPortCfg>();
List<NtcSubscribeIdCfg> subscribeInfoList=new ArrayList<NtcSubscribeIdCfg>();
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();
}
}

View File

@@ -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<String> titleList=new ArrayList<String>();
Map<String, Class<?>> classMap=new HashMap<String, Class<?>>();
Map<String, List> dataMap=new HashMap<String, List>();
Map<String, String> noExportMap=new HashMap<String, String>();
/*//导出选中记录
* if(!StringUtil.isEmpty(ids)){
for(String id:ids.split(",")){
Long.parseLong(id);
}
//List<CfgIndexInfo> list=ipCfgService.getListByCfgIdWithName(IpPortCfg.getTablename(), entity.getFunctionId(), ids);
}else{*/
//条件导出数据大于最大导出数,只导出最大导出条数
entity.setTableName(IpPortCfg.getTablename());
Page<AppPolicyCfg> pageInfo=new Page<AppPolicyCfg>(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<AppPolicyCfg> 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<SpecificServiceCfg> 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<IpPortCfg> ipList=new ArrayList<IpPortCfg>();
List<NtcSubscribeIdCfg> subscribeInfoList=new ArrayList<NtcSubscribeIdCfg>();
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();
}
}

View File

@@ -275,7 +275,6 @@ 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,
@@ -307,10 +306,10 @@ public class IpController extends BaseController{
}
Page<CfgIndexInfo> page = ipCfgService.getIpCfgList(pageInfo, entity);
titleList.add(entity.getMenuNameCode());
titleList.add("ip_addr");
titleList.add("NTC_IP");
titleList.add("asn_policy");
classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class);
classMap.put("ip_port_cfg", IpPortCfg.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"
@@ -319,7 +318,7 @@ public class IpController extends BaseController{
+",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,";
String asnGroupInfoNoExport="";
noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport);
noExportMap.put("ip_addr", ipPortInfoNoExport);
noExportMap.put("NTC_IP", ipPortInfoNoExport);
noExportMap.put("asn_policy", asnGroupInfoNoExport);
List<IpPortCfg> ipList=new ArrayList<IpPortCfg>();
List<ConfigGroupInfo> groupInfoList=new ArrayList<ConfigGroupInfo>();
@@ -334,7 +333,7 @@ public class IpController extends BaseController{
}
}
dataMap.put(entity.getMenuNameCode(), page.getList());
dataMap.put("ip_addr", ipList);
dataMap.put("NTC_IP", ipList);
dataMap.put("asn_policy", groupInfoList);
/*}*/

View File

@@ -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<String> titleList=new ArrayList<String>();
Map<String, Class<?>> classMap=new HashMap<String, Class<?>>();
Map<String, List> dataMap=new HashMap<String, List>();
Map<String, String> noExportMap=new HashMap<String, String>();
/*//导出选中记录
* if(!StringUtil.isEmpty(ids)){
for(String id:ids.split(",")){
Long.parseLong(id);
}
//List<CfgIndexInfo> list=ipCfgService.getListByCfgIdWithName(IpPortCfg.getTablename(), entity.getFunctionId(), ids);
}else{*/
//条件导出数据大于最大导出数,只导出最大导出条数
entity.setTableName(IpPortCfg.getTablename());
Page<CfgIndexInfo> pageInfo=new Page<CfgIndexInfo>(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<CfgIndexInfo> 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<IpPortCfg> ipList=new ArrayList<IpPortCfg>();
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();
}
}

View File

@@ -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<String> titleList=new ArrayList<String>();
Map<String, Class<?>> classMap=new HashMap<String, Class<?>>();
Map<String, List> dataMap=new HashMap<String, List>();
Map<String, String> noExportMap=new HashMap<String, String>();
/*//导出选中记录
* if(!StringUtil.isEmpty(ids)){
for(String id:ids.split(",")){
Long.parseLong(id);
}
//List<CfgIndexInfo> list=ipCfgService.getListByCfgIdWithName(IpPortCfg.getTablename(), entity.getFunctionId(), ids);
}else{*/
//条件导出数据大于最大导出数,只导出最大导出条数
entity.setTableName(IpPortCfg.getTablename());
Page<CfgIndexInfo> pageInfo=new Page<CfgIndexInfo>(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<CfgIndexInfo> 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<IpPortCfg> ipList=new ArrayList<IpPortCfg>();
List<InterceptPktBin> interInfoList=new ArrayList<InterceptPktBin>();
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();
}
}

View File

@@ -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<AppPolicyCfg> findAppPolicyList(Page<AppPolicyCfg> page, AppPolicyCfg entity) {
@@ -102,6 +105,16 @@ public class AppCfgService extends BaseService {
return page;
}
public AppPolicyCfg exportIpInfo(AppPolicyCfg policy){
List<IpPortCfg> ipPortList = appCfgDao.getAppPolicyIpList(policy);
policy.setIpPortList(ipPortList);
NtcSubscribeIdCfg ntcSubscribeIdCfg = new NtcSubscribeIdCfg();
ntcSubscribeIdCfg.setCompileId(policy.getCompileId());
List<NtcSubscribeIdCfg> ntcList = stringcfgDao.findSubscribeIdCfgList(ntcSubscribeIdCfg);
policy.setNtcSubscribeIdCfgList(ntcList);
return policy;
}
// 主题网站列表
public Page<AppTopicDomainCfg> findAppTopicDomainList(Page<AppTopicDomainCfg> page, AppTopicDomainCfg entity) {
entity.getSqlMap().put("dsf", configScopeFilter(entity.getCurrentUser(), "r"));

View File

@@ -926,6 +926,10 @@ public class AvContentCfgService extends BaseService{
Map<String,List> 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<String,List> areaMap = cfgConvert(areaIpRegionList,areaIpCfgList,1,entity,groupRelationList);
@@ -1261,6 +1265,9 @@ public class AvContentCfgService extends BaseService{
Map<String,List> 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)){

View File

@@ -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<WebsiteCfgDao,CfgIndexInfo>
* @param entity
*/
public CfgIndexInfo exportIpInfo(CfgIndexInfo entity){
List<IpPortCfg> ipPortList = websiteCfgDao.getIpPortList(entity);
entity.setIpPortList(ipPortList);
if(StringUtils.isNotBlank(entity.getUserRegion1())) {
List<InterceptPktBin> info=interceptCfgDao.getInterceptPktBin(entity);
entity.setInterceptPktBinList(info);
}
return entity;
}
public void saveInterceptCfg(CfgIndexInfo entity){
if(!entity.getAction().equals(Constants.REPLACE_ACTION)){
entity.setInterceptPktBinList(null);

View File

@@ -469,6 +469,9 @@ public class IpCfgService extends CrudService<IpCfgDao,BaseIpCfg> {
Map<String,List> 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());

View File

@@ -186,6 +186,7 @@
<shiro:hasPermission name="app:policy:config">
<sys:delRow url="${ctx}/app/policyCfgForm" id="contentTable" label="update"></sys:delRow>
<sys:delRow url="${ctx}/app/updateAppPolicyCfgValid?isValid=-1&functionId=${cfg.functionId }" id="contentTable" label="delete"></sys:delRow>
<sys:delRow url="${ctx}/app/exportIpAddr?functionId=${cfg.functionId }" searchUrl="${ctx}/app/policyCfgList?functionId=${cfg.functionId}" id="contentTable" maxRow="10000" label="export"></sys:delRow>
</shiro:hasPermission>
<shiro:hasPermission name="app:policy:confirm">
<div class="btn-group">

View File

@@ -189,6 +189,7 @@
<shiro:hasPermission name="basicprotocol:config">
<sys:delRow url="${ctx}/basicprotocol/form" id="contentTable" label="update"></sys:delRow>
<sys:delRow url="${ctx}/basicprotocol/updateValid?isValid=-1&functionId=${cfg.functionId }" id="contentTable" label="delete"></sys:delRow>
<sys:delRow url="${ctx}/basicprotocol/exportIpAddr?functionId=${cfg.functionId }" searchUrl="${ctx}/basicprotocol/list?functionId=${cfg.functionId}" id="contentTable" maxRow="10000" label="export"></sys:delRow>
</shiro:hasPermission>
<shiro:hasPermission name="basicprotocol:confirm">
<div class="btn-group">

View File

@@ -186,6 +186,7 @@
<shiro:hasPermission name="encryptedtunnelbehav:config">
<sys:delRow url="${ctx}/encryptedtunnelbehav/form" id="contentTable" label="update"></sys:delRow>
<sys:delRow url="${ctx}/encryptedtunnelbehav/updateValid?isValid=-1&functionId=${cfg.functionId }" id="contentTable" label="delete"></sys:delRow>
<sys:delRow url="${ctx}/encryptedtunnelbehav/exportIpAddr?functionId=${cfg.functionId }" searchUrl="${ctx}/encryptedtunnelbehav/list?functionId=${cfg.functionId}" id="contentTable" maxRow="10000" label="export"></sys:delRow>
</shiro:hasPermission>
<shiro:hasPermission name="encryptedtunnelbehav:confirm">
<div class="btn-group">

View File

@@ -176,6 +176,7 @@
<customTag:hasAnyPermissions name="intercept:ip:config,intercept:domain:config,ip_payload:config">
<sys:delRow url="${ctx}/proxy/intercept/intercept${interceptType}Form" id="contentTable" label="update"></sys:delRow>
<sys:delRow url="${ctx}/proxy/intercept/updateIntercept${interceptType}Valid?isValid=-1&functionId=${cfg.functionId }" id="contentTable" label="delete"></sys:delRow>
<sys:delRow url="${ctx}/proxy/intercept/exportIpAddr?functionId=${cfg.functionId }" searchUrl="${ctx}/proxy/intercept/${fn:toLowerCase(interceptType)}/list?functionId=${cfg.functionId}" id="contentTable" maxRow="10000" label="export"></sys:delRow>
</customTag:hasAnyPermissions>
<customTag:hasAnyPermissions name="intercept:ip:config,intercept:domain:config,ip_payload:confirm">
<div class="btn-group">