develop

Conflicts:
	src/main/java/com/nis/web/controller/configuration/ntc/IpController.java
	限速模板增加ratelimit字段,修改导出protocol注释信息
This commit is contained in:
duandongmei
2018-10-17 11:10:50 +08:00
20 changed files with 719 additions and 225 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,7 +51,29 @@ 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

@@ -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;
}

View File

@@ -17,15 +17,15 @@ public class PxyHttpLog extends BaseLogEntity<NtcIpLog> {
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;

View File

@@ -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<SysDataDictionaryItem> 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<SysDataDictionaryItem> 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<SysDataDictionaryItem> 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<SysDataDictionaryItem> 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<SysDataDictionaryItem> 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<SysDataDictionaryItem> 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<SysDataDictionaryItem> 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{

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

@@ -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());
}
}

View File

@@ -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<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>();
//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");
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<IpPortCfg> ipList=new ArrayList<IpPortCfg>();
List<ConfigGroupInfo> groupInfoList=new ArrayList<ConfigGroupInfo>();
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<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");
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<IpPortCfg> ipList=new ArrayList<IpPortCfg>();
List<ConfigGroupInfo> groupInfoList=new ArrayList<ConfigGroupInfo>();
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();
}
}

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) {
@@ -101,6 +104,16 @@ public class AppCfgService extends BaseService {
page.setList(list);
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) {

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">