diff --git a/src/main/java/com/nis/domain/SysLog.java b/src/main/java/com/nis/domain/SysLog.java index 58917212a..eb6ff8be0 100644 --- a/src/main/java/com/nis/domain/SysLog.java +++ b/src/main/java/com/nis/domain/SysLog.java @@ -35,6 +35,17 @@ public class SysLog extends BaseEntity{ private Long consumerTime;//消费时间 private Integer functionId;//功能菜单id + private String compileIds;//配置编译id + private String cfgIds;//界面配置id + private Integer compileId;//配置编译id + private Integer cfgId;//界面配置id + private String methodName;//功能方法名称 + private Integer auditState;//审核状态 + private Integer action;//GK动作 + private String operation;//操作说明 + private String functionName;//功能名称 + private Integer isValid;//配置有效状态 + public Long getConsumerTime() { return consumerTime; @@ -165,6 +176,86 @@ public class SysLog extends BaseEntity{ this.functionId = functionId; } + public Integer getCompileId() { + return compileId; + } + + public void setCompileId(Integer compileId) { + this.compileId = compileId; + } + + public String getMethodName() { + return methodName; + } + + public void setMethodName(String methodName) { + this.methodName = methodName; + } + + public Integer getAuditState() { + return auditState; + } + + public void setAuditState(Integer auditState) { + this.auditState = auditState; + } + + public Integer getAction() { + return action; + } + + public void setAction(Integer action) { + this.action = action; + } + + public String getCompileIds() { + return compileIds; + } + + public void setCompileIds(String compileIds) { + this.compileIds = compileIds; + } + + public String getCfgIds() { + return cfgIds; + } + + public void setCfgIds(String cfgIds) { + this.cfgIds = cfgIds; + } + + public Integer getCfgId() { + return cfgId; + } + + public void setCfgId(Integer cfgId) { + this.cfgId = cfgId; + } + + public String getOperation() { + return operation; + } + + public void setOperation(String operation) { + this.operation = operation; + } + + public String getFunctionName() { + return functionName; + } + + public void setFunctionName(String functionName) { + this.functionName = functionName; + } + + public Integer getIsValid() { + return isValid; + } + + public void setIsValid(Integer isValid) { + this.isValid = isValid; + } + /** * 设置请求参数 * @param paramMap diff --git a/src/main/java/com/nis/domain/basics/AsnIpCfg.java b/src/main/java/com/nis/domain/basics/AsnIpCfg.java index a1e56feb5..87b005ce4 100644 --- a/src/main/java/com/nis/domain/basics/AsnIpCfg.java +++ b/src/main/java/com/nis/domain/basics/AsnIpCfg.java @@ -30,7 +30,7 @@ public class AsnIpCfg extends BaseCfg { private String destPort; @ExcelField(title="group",sort=2) private String asnIpGroupName;//asn组名 - private Integer asnIpGroup;//asn号 + private Integer asnIpGroup;//asn组号 /** * 方向 */ diff --git a/src/main/java/com/nis/domain/configuration/BaseCfg.java b/src/main/java/com/nis/domain/configuration/BaseCfg.java index 3e339c2c9..14483c5a4 100644 --- a/src/main/java/com/nis/domain/configuration/BaseCfg.java +++ b/src/main/java/com/nis/domain/configuration/BaseCfg.java @@ -83,7 +83,7 @@ public class BaseCfg extends BaseEntity implements Cloneable{ /** * 是否审核 */ - @ExcelField(title="is_audit",dictType="AUDIT_STATUS",sort=100) + @ExcelField(title="is_audit",dictType="AUDIT_STATUS",sort=25) protected Integer isAudit; /** * 创建人员 diff --git a/src/main/java/com/nis/domain/configuration/BaseIpCfg.java b/src/main/java/com/nis/domain/configuration/BaseIpCfg.java index 17c0e6b98..fbf05089e 100644 --- a/src/main/java/com/nis/domain/configuration/BaseIpCfg.java +++ b/src/main/java/com/nis/domain/configuration/BaseIpCfg.java @@ -45,11 +45,11 @@ public class BaseIpCfg extends BaseCfg { @SerializedName("ipType") @ExcelField(title="ip_type",dictType="IP_TYPE",sort=3) protected Integer ipType; - @ExcelField(title="ip_pattern",dictType="IP_PATTERN",sort=4) + @ExcelField(title="ip_pattern",dictType="IP_PATTERN",sort=6) protected Integer ipPattern; @ExcelField(title="client_ip",sort=5) protected String srcIpAddress; - @ExcelField(title="server_ip",sort=6) + @ExcelField(title="server_ip",sort=4) protected String destIpAddress; @ExcelField(title="port_pattern",dictType="PORT_PATTERN",sort=7) protected Integer portPattern; @@ -65,6 +65,14 @@ public class BaseIpCfg extends BaseCfg { private List ntcSubscribeIdCfgList; private NtcSubscribeIdCfg ntcSubscribeIdCfg; + private Integer asnIpGroup;//asn组号,仅用于copy属性使用 + + public Integer getAsnIpGroup() { + return asnIpGroup; + } + public void setAsnIpGroup(Integer asnIpGroup) { + this.asnIpGroup = asnIpGroup; + } /** * irType * @return irType diff --git a/src/main/java/com/nis/domain/configuration/BaseStringCfg.java b/src/main/java/com/nis/domain/configuration/BaseStringCfg.java index ddc0a52ef..410d0d765 100644 --- a/src/main/java/com/nis/domain/configuration/BaseStringCfg.java +++ b/src/main/java/com/nis/domain/configuration/BaseStringCfg.java @@ -82,6 +82,9 @@ public class BaseStringCfg extends BaseCfg { private NtcSubscribeIdCfg ntcSubscribeIdCfg; private IpPortCfg ipPort; + //http url来源于http关键字的标识 + private Integer sourceCompileId; + public IpPortCfg getIpPort() { return ipPort; @@ -190,7 +193,12 @@ public class BaseStringCfg extends BaseCfg { public void setIsCaseInsenstive(Integer isCaseInsenstive) { this.isCaseInsenstive =isCaseInsenstive; } - + public Integer getSourceCompileId() { + return sourceCompileId; + } + public void setSourceCompileId(Integer sourceCompileId) { + this.sourceCompileId = sourceCompileId; + } public static List replaceBaseKeyList(List list){ for (int i = 0; i < list.size(); i++) { BaseStringCfg base=(BaseStringCfg)list.get(i); diff --git a/src/main/java/com/nis/domain/configuration/CfgIndexInfo.java b/src/main/java/com/nis/domain/configuration/CfgIndexInfo.java index b56b5acde..c78f7e138 100644 --- a/src/main/java/com/nis/domain/configuration/CfgIndexInfo.java +++ b/src/main/java/com/nis/domain/configuration/CfgIndexInfo.java @@ -71,6 +71,14 @@ public class CfgIndexInfo extends BaseCfg { private List p2pHashList; private List p2pKeywordList; + private Integer sourceCompileId; + public Integer getSourceCompileId() { + return sourceCompileId; + } + public void setSourceCompileId(Integer sourceCompileId) { + this.sourceCompileId = sourceCompileId; + } + public AvContUrlCfg getAvContUrlCfg() { return avContUrlCfg; } diff --git a/src/main/java/com/nis/domain/configuration/DdosIpCfg.java b/src/main/java/com/nis/domain/configuration/DdosIpCfg.java index 91200ff60..aefa33776 100644 --- a/src/main/java/com/nis/domain/configuration/DdosIpCfg.java +++ b/src/main/java/com/nis/domain/configuration/DdosIpCfg.java @@ -23,11 +23,11 @@ public class DdosIpCfg extends BaseIpCfg { */ private static final long serialVersionUID = -5446903784736960824L; private String indexTable="ddos_ip_cfg"; - @ExcelField(title="antiddos_protocol",sort=41) + @ExcelField(title="antiddos_protocol",sort=22) private String antiddosProtocol;//目前支持TCP_SYN, DNS, NTP, - @ExcelField(title="bps_threadshold",sort=42) + @ExcelField(title="bps_threadshold",sort=23) private Long bpsThreadshold;// 即DDoS攻击保护动作触发阈值,每秒Bit数和每秒包数 - @ExcelField(title="pps_threadshold",sort=43) + @ExcelField(title="pps_threadshold",sort=24) private Long ppsThreadshold; public String getAntiddosProtocol() { diff --git a/src/main/java/com/nis/domain/configuration/template/AsnIpTemplate.java b/src/main/java/com/nis/domain/configuration/template/AsnIpTemplate.java index bef39c55b..43c15ff90 100644 --- a/src/main/java/com/nis/domain/configuration/template/AsnIpTemplate.java +++ b/src/main/java/com/nis/domain/configuration/template/AsnIpTemplate.java @@ -14,7 +14,7 @@ public class AsnIpTemplate { */ private String cfgDesc; - private String asnNo; + private String userRegion1; private String destIpAddress; @ExcelField(title="config_describe",align=2,sort=1) @@ -25,16 +25,17 @@ public class AsnIpTemplate { this.cfgDesc = cfgDesc; } @ExcelField(title="asn_no",align=2,sort=11) - public String getAsnNo() { - return asnNo; + public String getUserRegion1() { + return userRegion1; } - public void setAsnNo(String asnNo) { - this.asnNo = asnNo; + public void setUserRegion1(String userRegion1) { + this.userRegion1 = userRegion1; } @ExcelField(title="server_ip",align=2,sort=12) public String getDestIpAddress() { return destIpAddress; } + public void setDestIpAddress(String destIpAddress) { this.destIpAddress = destIpAddress; } diff --git a/src/main/java/com/nis/util/ConfigDictUtils.java b/src/main/java/com/nis/util/ConfigDictUtils.java index 38971c998..3f6256c6f 100644 --- a/src/main/java/com/nis/util/ConfigDictUtils.java +++ b/src/main/java/com/nis/util/ConfigDictUtils.java @@ -12,10 +12,13 @@ import com.nis.domain.SysDataDictionaryItem; import com.nis.domain.SysDataDictionaryName; import com.nis.domain.basics.ServiceDictInfo; import com.nis.domain.basics.SysDictInfo; +import com.nis.domain.configuration.BaseStringCfg; +import com.nis.domain.configuration.CfgIndexInfo; import com.nis.domain.specific.SpecificServiceCfg; import com.nis.web.dao.SysDictDao; import com.nis.web.dao.basics.ServiceDictInfoDao; import com.nis.web.dao.basics.SysDictInfoDao; +import com.nis.web.dao.configuration.WebsiteCfgDao; import com.nis.web.dao.specific.SpecificServiceCfgDao; import com.nis.web.service.SpringContextHolder; @@ -33,6 +36,7 @@ public class ConfigDictUtils { private final static ServiceDictInfoDao serviceDictInfoDao = SpringContextHolder.getBean(ServiceDictInfoDao.class); private final static SysDictInfoDao sysDictInfoDao = SpringContextHolder.getBean(SysDictInfoDao.class); private final static SpecificServiceCfgDao specificServiceCfgDao = SpringContextHolder.getBean(SpecificServiceCfgDao.class); + private final static WebsiteCfgDao websiteCfgDao = SpringContextHolder.getBean(WebsiteCfgDao.class); /** * 根据主键查询配置详情 @@ -149,5 +153,28 @@ public class ConfigDictUtils { } return intArr; } - + /** + * 根据compileId获取配置内容 + * @param compileId + * @return + */ + public static String getHttpBodyKeyword(Integer compileId ) { + String httpBodyKeyword=""; + try { + if(!StringUtil.isEmpty(compileId)){ + CfgIndexInfo entity=new CfgIndexInfo(); + entity.setCompileId(compileId); + List httpBodyList=websiteCfgDao.getHttpBodyList(entity); + if(!StringUtil.isEmpty(httpBodyList)){ + BaseStringCfg cfg=(BaseStringCfg)httpBodyList.get(0); + httpBodyKeyword=StringUtil.isEmpty(cfg.getCfgKeywords()) ? "":cfg.getCfgKeywords() + .replace(Constants.KEYWORD_EXPR, " "); + } + } + + } catch (Exception e) { + e.printStackTrace(); + } + return httpBodyKeyword; + } } diff --git a/src/main/java/com/nis/util/LogUtils.java b/src/main/java/com/nis/util/LogUtils.java index 1ce245243..3082c07c5 100644 --- a/src/main/java/com/nis/util/LogUtils.java +++ b/src/main/java/com/nis/util/LogUtils.java @@ -67,7 +67,26 @@ public class LogUtils { }else{ log.setFunctionId(Integer.parseInt(request.getParameter("functionId"))); } + if(!StringUtil.isEmpty(request.getParameter("compileId"))){ + log.setCompileIds(request.getParameter("compileId")); + }else{ + log.setCompileIds(request.getParameter("compileIds")); + } + if(!StringUtil.isEmpty(request.getParameter("cfgId"))){ + log.setCfgIds(request.getParameter("cfgId")); + }else{ + log.setCfgIds(request.getParameter("ids")); + } + if(!StringUtil.isEmpty(request.getParameter("isAudit"))){ + log.setAuditState(Integer.parseInt(request.getParameter("isAudit"))); + } + if(!StringUtil.isEmpty(request.getParameter("action"))){ + log.setAction(Integer.parseInt(request.getParameter("action"))); + } + if(!(StringUtil.isEmpty(request.getParameter("isValid")))){ + log.setIsValid(Integer.parseInt(request.getParameter("isValid"))); + } // 异步保存日志 new SaveLogThread(log, handler, ex).start(); } @@ -96,6 +115,7 @@ public class LogUtils { String permission = ""; if (handler instanceof HandlerMethod){ Method m = ((HandlerMethod)handler).getMethod(); + log.setMethodName(m.getName()); RequiresPermissions rp = m.getAnnotation(RequiresPermissions.class); permission = (rp != null ? StringUtils.join(rp.value(), ",") : ""); } @@ -104,11 +124,44 @@ public class LogUtils { } // 如果有异常,设置异常信息 log.setException(Exceptions.getStackTraceAsString(ex)); - // 如果无标题并无异常日志,则不保存信息 - if (StringUtils.isBlank(log.getTitle()) && StringUtils.isBlank(log.getException())){ + // 如果无标题并无异常日志并且无具体的功能id(非业务配置的操作),则不保存信息 + if ((StringUtils.isBlank(log.getTitle()) && StringUtils.isBlank(log.getException()) && (log.getFunctionId()==null || log.getFunctionId()==0))){ return; } // 保存日志信息 + if(log.getFunctionId()!=null + && log.getFunctionId()!=0 ){ + String functionName = DictUtils.getDictLabel("SYS_SERVICE_FUNCTION", log.getFunctionId().toString()); + if(!StringUtil.isEmpty(log.getMethodName())){ + String operation = DictUtils.getDictLabel("SYS_SERVICE_OPERATION", log.getMethodName()); + if("saveOrUpdate".equals(operation)){ + if (log.getCfgId()!=null || log.getCfgIds()!=null || log.getCompileId()!=null || log.getCompileIds()!=null){ + log.setOperation("edit"); + }else{ + log.setOperation("add"); + } + }else{ + log.setOperation(operation); + } + } + if(log.getOperation()!=null && !"默认".equals(log.getOperation()) && !"默认".equals(functionName)){ + log.setFunctionName(functionName); + if(!StringUtil.isEmpty(log.getCompileIds())){ + for(String compileId:StringUtils.split(log.getCompileIds(),",")){ + log.setCompileId(Integer.parseInt(compileId)); + logDao.insertCfgOperationLog(log); + } + }else if(!StringUtil.isEmpty(log.getCfgIds())){ + for(String cfgId:StringUtils.split(log.getCfgIds(),",")){ + log.setCfgId(Integer.parseInt(cfgId)); + logDao.insertCfgOperationLog(log); + } + }else{ + logDao.insertCfgOperationLog(log); + } + } + } + logDao.insert(log); } } @@ -202,7 +255,6 @@ public class LogUtils { } } } - CacheUtils.put(CACHE_MENU_NAME_PATH_MAP, menuMap); CacheUtils.put(CACHE_MENU_NAME_PATH_MAP2, menuMap2); } @@ -240,7 +292,6 @@ public class LogUtils { return ""; } } - System.out.println(menuNamePath); return menuNamePath; } diff --git a/src/main/java/com/nis/util/excel/ExportExcel.java b/src/main/java/com/nis/util/excel/ExportExcel.java index aee24aee9..434873f1d 100644 --- a/src/main/java/com/nis/util/excel/ExportExcel.java +++ b/src/main/java/com/nis/util/excel/ExportExcel.java @@ -1821,7 +1821,23 @@ public class ExportExcel { if(!StringUtil.isEmpty(titleStr)){ //去掉不需要展示的header if(!(noExportField.indexOf(","+titleStr+",") > -1)){ - titleStr=msgProp.getProperty(titleStr)==null?titleStr:msgProp.getProperty(titleStr); + //需要替换的header + boolean flag=true; + if(noExportField.contains("&")){ + String replaceField=noExportField.substring(noExportField.indexOf("&")+1); + String[] replaceStr=replaceField.split("-"); + for (int i = 0; i < replaceStr.length; i++) { + String [] fields=replaceStr[i].split(":"); + if(fields[0].equals(titleStr)){ + titleStr=msgProp.getProperty(fields[1]); + flag=false; + break; + } + } + } + if(flag){ + titleStr=msgProp.getProperty(titleStr)==null?titleStr:msgProp.getProperty(titleStr); + } headerList.add(titleStr); commentList.add(commentStr); } diff --git a/src/main/java/com/nis/web/controller/BaseController.java b/src/main/java/com/nis/web/controller/BaseController.java index 80a7550bc..30654cadf 100644 --- a/src/main/java/com/nis/web/controller/BaseController.java +++ b/src/main/java/com/nis/web/controller/BaseController.java @@ -66,6 +66,7 @@ import com.nis.domain.configuration.template.IpRateLimitTemplate; import com.nis.domain.configuration.template.StringAllTemplate; import com.nis.domain.log.BaseLogEntity; import com.nis.domain.log.SearchReport; +import com.nis.domain.specific.ConfigGroupInfo; import com.nis.domain.specific.SpecificServiceCfg; import com.nis.exceptions.MaatConvertException; import com.nis.util.Configurations; @@ -1388,6 +1389,35 @@ public class BaseController { + ";"); } } + if (regionDict.getFunctionId().equals(600)) {//asn + //asn id + String userRegion1 = baseIpCfg.getUserRegion1(); + if(StringUtils.isBlank(userRegion1)) { + errInfo.append( + String.format(prop.getProperty("can_not_null"), prop.getProperty("asn_no")) + + ";"); + }else { + try { + Integer.parseInt(userRegion1); + /*ConfigGroupInfo configGroupInfo=asnIpCfgService.getConfigGroupInfoByAsnNo(asnNo); + if(configGroupInfo==null) {//不存在则新增 + PolicyGroupInfo info=new PolicyGroupInfo(); + info.setAsnNo(asnNo); + info.setDescription("Auto generated"); + info.setGroupName(baseIpCfg.getCfgDesc()+(i+1)); + info.setGroupType(4); + policyGroupInfoService.saveOrUpdate(info); + configGroupInfo=asnIpCfgService.getConfigGroupInfoByAsnNo(asnNo); + } + baseIpCfg.setAsnIpGroup(configGroupInfo.getGroupId());*/ + }catch (Exception e) { + // TODO: handle exception + errInfo.append( + String.format(prop.getProperty("not_number"), prop.getProperty("asn_no")) + + ";"); + } + } + } if (regionDict.getRegionType().equals(1)) { // 校验必填的IP,端口 /* @@ -2032,10 +2062,18 @@ public class BaseController { Properties prop = this.getMsgProp(); String prefix = ip.split("-")[0]; String subfix = ip.split("-")[1]; - if (Integer.parseInt(prefix.split("\\.")[0]) < 192 || Integer.parseInt(prefix.split("\\.")[0]) > 223 - || Integer.parseInt(subfix.split("\\.")[0]) < 192 || Integer.parseInt(subfix.split("\\.")[0]) > 223) { - errInfo.append(prop.get(ipName) + " " + prop.get("ip_range_in_c") + ";"); + if ((Integer.parseInt(prefix.split("\\.")[0])<128&&Integer.parseInt(subfix.split("\\.")[0])<128) + ||(Integer.parseInt(prefix.split("\\.")[0])>127&&Integer.parseInt(subfix.split("\\.")[0])>127&&Integer.parseInt(prefix.split("\\.")[0])<192&&Integer.parseInt(subfix.split("\\.")[0])<192) + ||(Integer.parseInt(prefix.split("\\.")[0])>191&&Integer.parseInt(subfix.split("\\.")[0])>191&&Integer.parseInt(prefix.split("\\.")[0])<224&&Integer.parseInt(subfix.split("\\.")[0])<224) + ||(Integer.parseInt(prefix.split("\\.")[0])>223&&Integer.parseInt(subfix.split("\\.")[0])>223&&Integer.parseInt(prefix.split("\\.")[0])<240&&Integer.parseInt(subfix.split("\\.")[0])<240) + ||(Integer.parseInt(prefix.split("\\.")[0])>239&&Integer.parseInt(subfix.split("\\.")[0])>239&&Integer.parseInt(prefix.split("\\.")[0])<256&&Integer.parseInt(subfix.split("\\.")[0])<256)) { + }else { + errInfo.append(prop.get(ipName) + " " + prop.get("ip_range_in_the_same") + ";"); } +// if (Integer.parseInt(prefix.split("\\.")[0]) < 192 || Integer.parseInt(prefix.split("\\.")[0]) > 223 +// || Integer.parseInt(subfix.split("\\.")[0]) < 192 || Integer.parseInt(subfix.split("\\.")[0]) > 223) { +// errInfo.append(prop.get(ipName) + " " + prop.get("ip_range_in_c") + ";"); +// } if (!prefix.split("\\.")[0].equals(subfix.split("\\.")[0]) || !prefix.split("\\.")[1].equals(subfix.split("\\.")[1]) || !prefix.split("\\.")[2].equals(subfix.split("\\.")[2])) { @@ -3058,7 +3096,7 @@ public class BaseController { && "p2p_ip".equals(regionDict.getConfigServiceType())) { // P2p IP List list = ei.getDataList(P2pIpTemplate.class, this.getMsgProp()); ipPortCfgs = this.checkIpCfg(serviceDict, regionDict, list); - } else if (regionDict.getFunctionId().equals(600)) { + } else if (regionDict.getFunctionId().equals(600)) {// ANS IP List list = ei.getDataList(AsnIpTemplate.class, this.getMsgProp()); ipPortCfgs = this.checkIpCfg(serviceDict, regionDict, list); } else { @@ -3104,35 +3142,38 @@ public class BaseController { } } if (regionDict.getRegionType().equals(1)) {// IP - if(regionDict.getFunctionId().intValue()==600) { - CfgIndexInfo info=new CfgIndexInfo(); - List asnIpCfgs=Lists.newArrayList(); - info.setAsnIpGroup(Integer.parseInt(asnIpGroup)); - info.setAction(0); - info.setCfgRegionCode(regionDict.getConfigRegionCode()); - info.setCfgRegionCode(regionDict.getConfigRegionCode()); - info.setCfgType(regionDict.getConfigRegionValue()); - info.setCreateTime(date); - info.setCreatorId(UserUtils.getUser().getId()); - info.setDoLog(1); - info.setFunctionId(regionDict.getFunctionId()); - info.setIsAudit(0); - info.setIsValid(0); - info.setIsAreaEffective(0); - info.setAttribute("0"); - info.setClassify("0"); - info.setLable("0"); - info.setRequestId(StringUtil.isEmpty(requestId) ? 0 : requestId); - info.setServiceId(0); + if(regionDict.getFunctionId().intValue()==600) {//ans ip + Map> asnIpCfgs=new HashMap<>(); for (BaseIpCfg cfg : ipPortCfgs) { AsnIpCfg _cfg=new AsnIpCfg(); BeanUtils.copyProperties(cfg, _cfg); _cfg.setTableName(AsnIpCfg.getTablename()); - asnIpCfgs.add(_cfg); + _cfg.setAction(0); + _cfg.setCfgRegionCode(regionDict.getConfigRegionCode()); + _cfg.setCfgRegionCode(regionDict.getConfigRegionCode()); + _cfg.setCfgType(regionDict.getConfigRegionValue()); + _cfg.setCreateTime(date); + _cfg.setCreatorId(UserUtils.getUser().getId()); + _cfg.setDoLog(1); + _cfg.setFunctionId(regionDict.getFunctionId()); + _cfg.setIsAudit(0); + _cfg.setIsValid(0); + _cfg.setIsAreaEffective(0); + _cfg.setAttribute("0"); + _cfg.setClassify("0"); + _cfg.setLable("0"); + _cfg.setRequestId(StringUtil.isEmpty(requestId) ? 0 : requestId); + _cfg.setServiceId(0); + if(asnIpCfgs.containsKey(_cfg.getUserRegion1())) { + asnIpCfgs.get(_cfg.getUserRegion1()).add(_cfg); + }else { + List ips=Lists.newArrayList(); + ips.add(_cfg); + asnIpCfgs.put(_cfg.getUserRegion1(), ips); + } } ipPortCfgs.clear(); - info.setAsnIpCfgs(asnIpCfgs); - asnIpCfgService.saveAsnIpCfg(info); + asnIpCfgService.saveAsnIpBatch(asnIpCfgs); }else { for (BaseIpCfg cfg : ipPortCfgs) { cfg.setAction(serviceDict==null?null:serviceDict.getAction()); diff --git a/src/main/java/com/nis/web/controller/configuration/manipulation/DdosCfgController.java b/src/main/java/com/nis/web/controller/configuration/manipulation/DdosCfgController.java index 1347f31ba..bfee4e6ce 100644 --- a/src/main/java/com/nis/web/controller/configuration/manipulation/DdosCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/manipulation/DdosCfgController.java @@ -131,7 +131,7 @@ public class DdosCfgController extends BaseController { Page page = ddosCfgService.findPage(pageInfo, entity); titleList.add(entity.getMenuNameCode()); classMap.put(entity.getMenuNameCode(), DdosIpCfg.class); - String cfgIndexInfoNoExport=",client_port,server_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + String cfgIndexInfoNoExport=",client_ip,client_port,server_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); dataMap.put(entity.getMenuNameCode(), page.getList()); /*}*/ diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/AvController.java b/src/main/java/com/nis/web/controller/configuration/ntc/AvController.java index 8ccef1cea..2b76d9509 100644 --- a/src/main/java/com/nis/web/controller/configuration/ntc/AvController.java +++ b/src/main/java/com/nis/web/controller/configuration/ntc/AvController.java @@ -168,6 +168,7 @@ public class AvController extends BaseController { file.delete(); } } + FileUtils.deleteDirectory(picPath); if(zouts!=null){ zouts.close(); } @@ -526,7 +527,7 @@ public class AvController extends BaseController { int second = (int) (ls-hour*3600-minute*60); length = hour+"'"+minute+"''"+second+"'''"; logger.info(file.getName()+"时长:"+length); - if(ls>0 && second>Constants.AV_DURATION_LIMIT){ + if(ls>0 && ls>Constants.AV_DURATION_LIMIT){ return false; }else{ return true; @@ -546,7 +547,7 @@ public class AvController extends BaseController { String sep = System.getProperty("file.separator"); String random = UUID.randomUUID()+""; String srcFilePath = Constants.AV_FILE_PATH+"video"+sep+"srcFile";//视频源文件保存路径 - String picFilePath = StringUtils.getUserfilesBaseDir()+"video"+sep+"picFile";//视频生成的关键帧图片文件保存路径 + String picFilePath = StringUtils.getUserfilesBaseDir()+"video"+sep+"picFile"+sep+random+sep;//视频生成的关键帧图片文件保存路径 FileUtils.createDirectory(srcFilePath); FileUtils.createDirectory(picFilePath); @@ -560,13 +561,13 @@ public class AvController extends BaseController { String shellName = Constants.VEDIO_TO_PICTURE_PROC; // String params = srcFileAllPath+" "+picFilePath+" 0.95 90.0 0.5"; String params = srcFileAllPath+" "+picFilePath; - logger.info("调用视频转关键帧图片程序输入参数:"+params); + logger.info("调用视频转关键帧图片程序:"+shellName+" " +params); Map resultMap = avCfgService.execShell(shellName, params); if(resultMap.get("exitStatus").equals(0)){//调用外部程序成功 String out = resultMap.get("out").toString();//输出参数 + logger.info("调用视频转关键帧图片程序输出参数:"+out); JSONArray resArray =JSONArray.fromObject(out); JSONObject resObject = resArray.getJSONObject(0); - logger.info("调用视频转关键帧图片程序输出参数:"+resObject); int state = resObject.getInt("state"); if(state==1){ //关键帧图片生成成功,删除原视频文件 diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/BgpCfgController.java b/src/main/java/com/nis/web/controller/configuration/ntc/BgpCfgController.java index fed7c5bdc..8e917ac5f 100644 --- a/src/main/java/com/nis/web/controller/configuration/ntc/BgpCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/ntc/BgpCfgController.java @@ -184,11 +184,11 @@ public class BgpCfgController extends BaseController{ titleList.add(entity.getMenuNameCode()); titleList.add("NTC_IP"); titleList.add("NTC_BGP_AS"); - titleList.add("NTC_SUBSCRIBE_ID"); +// titleList.add("NTC_SUBSCRIBE_ID"); classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); classMap.put("NTC_IP", IpPortCfg.class); classMap.put("NTC_BGP_AS", BaseStringCfg.class); - classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class); +// classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class); String cfgIndexInfoNoExport=",policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; String ipPortInfoNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + ",config_time,editor,edit_time,auditor,audit_time" @@ -205,22 +205,22 @@ public class BgpCfgController extends BaseController{ noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); noExportMap.put("NTC_IP", ipPortInfoNoExport); noExportMap.put("NTC_BGP_AS", regionCfgNoExport); - noExportMap.put("NTC_SUBSCRIBE_ID", ntcSubscribeIdCfgNoExport); +// noExportMap.put("NTC_SUBSCRIBE_ID", ntcSubscribeIdCfgNoExport); List ipList=new ArrayList(); - List subscribeInfoList=new ArrayList(); +// List subscribeInfoList=new ArrayList(); List asInfoList=new ArrayList(); for (CfgIndexInfo cfg : page.getList()) { CfgIndexInfo cfgIndexInfo=bgpCfgService.exportbgp(cfg); ipList.addAll(cfgIndexInfo.getIpPortList()); - subscribeInfoList.addAll(cfgIndexInfo.getNtcSubscribeIdCfgList()); +// subscribeInfoList.addAll(cfgIndexInfo.getNtcSubscribeIdCfgList()); asInfoList.addAll(cfgIndexInfo.getNtcBgpAsCfgList()); } asInfoList=BaseStringCfg.replaceBaseKeyList(asInfoList); - subscribeInfoList=BaseStringCfg.baseHexList(subscribeInfoList); +// subscribeInfoList=BaseStringCfg.baseHexList(subscribeInfoList); dataMap.put(entity.getMenuNameCode(), page.getList()); dataMap.put("NTC_IP", ipList); dataMap.put("NTC_BGP_AS", asInfoList); - dataMap.put("NTC_SUBSCRIBE_ID", subscribeInfoList); +// dataMap.put("NTC_SUBSCRIBE_ID", subscribeInfoList); /*}*/ this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/FileTransferCfgController.java b/src/main/java/com/nis/web/controller/configuration/ntc/FileTransferCfgController.java index 54a56377a..16922ee84 100644 --- a/src/main/java/com/nis/web/controller/configuration/ntc/FileTransferCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/ntc/FileTransferCfgController.java @@ -593,7 +593,7 @@ public class FileTransferCfgController extends BaseController{ String ipPortInfoNoExport=",do_log,action,config_describe,valid_identifier,is_audit,ir_type,creator,creator" + ",config_time,editor,edit_time,auditor,audit_time" +",letter,whether_area_block,classification,attribute,label" - +",userregion2,userregion3,userregion4,userregion5,group_name,"; + +",userregion2,userregion3,userregion4,userregion5,group_name,&userregion1:p2p_ip_config_type-"; String ntcSubscribeIdCfgNoExport=",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" @@ -601,7 +601,7 @@ public class FileTransferCfgController extends BaseController{ String hashCfgNoExport=",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" - +",userregion2,userregion3,userregion4,userregion5,"; + +",userregion2,userregion3,userregion4,userregion5,&userregion1:p2p_hash_type-"; String keyCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + ",config_time,editor,edit_time,auditor,audit_time" +",letter,whether_area_block,classification,attribute,label" diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/IpController.java b/src/main/java/com/nis/web/controller/configuration/ntc/IpController.java index 2b73b78bd..4de82248b 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 @@ -361,7 +361,7 @@ public class IpController extends BaseController{ classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); classMap.put("NTC_IP", IpPortCfg.class); classMap.put("asn_policy", ConfigGroupInfo.class); - String cfgIndexInfoNoExport=",policy_name,group_name,userregion1,userregion3,userregion4,userregion5,"; + String cfgIndexInfoNoExport=",policy_name,group_name,userregion1,userregion3,userregion4,userregion5,&userregion2:ratelimit-"; String ipPortInfoNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + ",config_time,editor,edit_time,auditor,audit_time" +",letter,whether_area_block,classification,attribute,label" diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/WhiteListController.java b/src/main/java/com/nis/web/controller/configuration/ntc/WhiteListController.java index 3bb87362b..4fc1f6def 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 @@ -12,6 +12,7 @@ import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.taglibs.standard.functions.Functions; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; @@ -136,6 +137,21 @@ public class WhiteListController extends CommonController{ return "/cfg/whitelist/domainList"; } + @RequestMapping(value = {"saveHttpUrlCfgs"}) + public String saveHttpUrlCfgs(RedirectAttributes model,HttpServletRequest request,HttpServletResponse response,CfgIndexInfo entity) { + if(!StringUtil.isEmpty(entity) && !StringUtil.isEmpty(entity.getHttpUrlList())){ + for (HttpUrlCfg httpUrlCfg : entity.getHttpUrlList()) { + CfgIndexInfo cfg=new CfgIndexInfo(); + List httpList=new ArrayList<>(); + BeanUtils.copyProperties(httpUrlCfg, cfg); + httpList.add(httpUrlCfg); + cfg.setHttpUrlList(httpList); + websiteCfgService.saveHttpCfg(cfg); + } + } + return "redirect:" + adminPath +"/ntc/whitelist/domain/list?functionId="+entity.getFunctionId(); + } + @RequestMapping(value = {"domain/form"}) @RequiresPermissions(value={"whitelist:domain:config"}) public String domainForm(Model model,String ids,CfgIndexInfo entity) { diff --git a/src/main/java/com/nis/web/controller/configuration/proxy/HttpRedirectPolicyController.java b/src/main/java/com/nis/web/controller/configuration/proxy/HttpRedirectPolicyController.java index 93c87c666..12b9cfe53 100644 --- a/src/main/java/com/nis/web/controller/configuration/proxy/HttpRedirectPolicyController.java +++ b/src/main/java/com/nis/web/controller/configuration/proxy/HttpRedirectPolicyController.java @@ -5,6 +5,7 @@ import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Properties; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -19,6 +20,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.mvc.support.RedirectAttributes; import com.nis.domain.FunctionRegionDict; +import com.nis.domain.FunctionServiceDict; import com.nis.domain.Page; import com.nis.domain.callback.ProxyFileStrategyCfg; import com.nis.domain.configuration.BaseStringCfg; @@ -33,6 +35,7 @@ import com.nis.domain.configuration.NtcSubscribeIdCfg; import com.nis.exceptions.MaatConvertException; import com.nis.util.Constants; import com.nis.util.DictUtils; +import com.nis.util.StringUtil; import com.nis.web.controller.BaseController; import com.nis.web.security.UserUtils; @@ -267,8 +270,45 @@ public class HttpRedirectPolicyController extends BaseController{ pageInfo.setPageNo(1); pageInfo.setPageSize(-1); } + Page page = httpRedirectCfgService.getHttpRedirectList(pageInfo, entity); + Properties prop = getMsgProp(); + for (CfgIndexInfo str : page.getList()) { + if(entity.getFunctionId()!=210 && entity.getFunctionId()!=211){ + String type="RESPONSE_CODE"; + if(entity.getFunctionId()==207){ + type="RESPONSE_CODE"; + }else if(entity.getFunctionId()==208){ + type="REDIRECT_RESPONSE_CODE"; + }else if(entity.getFunctionId()==209){ + type="CONTROL_REPLACE_ZONE"; + } + String dictlabel= DictUtils.getDictLabel(type, str.getUserRegion1()); + str.setUserRegion1(prop.getProperty(dictlabel)); + if(entity.getFunctionId()==207 || entity.getFunctionId()==208){ + if(StringUtil.isEmpty(str.getUserRegion2())){ + if(!StringUtil.isEmpty(str.getUserRegion3())){ + ProxyFileStrategyCfg file= new ProxyFileStrategyCfg(); + file.setCompileId(Integer.valueOf(str.getUserRegion3())); + List allProxyFileStrategys = proxyFileStrategyService.getProxyFileStrategyCfgList(file); + if(allProxyFileStrategys!=null && allProxyFileStrategys.size()>0){ + str.setUserRegion2(allProxyFileStrategys.get(0).getCfgDesc()); + } + } + } + } + } + } String cfgIndexInfoNoExport=",policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + if(entity.getFunctionId()==207){ + cfgIndexInfoNoExport=",policy_name,group_name,userregion3,userregion4,userregion5,&userregion1:response_code-userregion2:response_content-"; + }else if(entity.getFunctionId()==208){ + cfgIndexInfoNoExport=",policy_name,group_name,userregion3,userregion4,userregion5,&userregion1:redirect_response_code-userregion2:redirect_url-"; + }else if(entity.getFunctionId()==209){ + cfgIndexInfoNoExport=",policy_name,group_name,userregion3,userregion4,userregion5,&userregion1:replace_zone-userregion2:replaced_content-userregion3:replace_content-"; + }else if(entity.getFunctionId()==211){ + cfgIndexInfoNoExport=",do_log,log_total,policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + } String httpUrlCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + ",config_time,editor,edit_time,auditor,audit_time" +",letter,whether_area_block,classification,attribute,label" diff --git a/src/main/java/com/nis/web/controller/configuration/proxy/InterceptController.java b/src/main/java/com/nis/web/controller/configuration/proxy/InterceptController.java index 8fe99e141..d4e971e27 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 @@ -5,31 +5,29 @@ import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Properties; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang3.StringUtils; -import org.apache.shiro.authz.annotation.RequiresPermissions; -import org.apache.taglibs.standard.functions.Functions; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.servlet.mvc.support.RedirectAttributes; + 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.HttpUrlCfg; 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.DictUtils; import com.nis.util.StringUtil; import com.nis.web.controller.configuration.CommonController; import com.nis.web.security.UserUtils; @@ -198,6 +196,7 @@ public class InterceptController extends CommonController{ Map> classMap=new HashMap>(); Map dataMap=new HashMap(); Map noExportMap=new HashMap(); + Map replaceExportMap=new HashMap(); /*//导出选中记录 @@ -218,9 +217,34 @@ public class InterceptController extends CommonController{ pageInfo.setPageSize(-1); } Page page = ipCfgService.getIpCfgList(pageInfo, entity); + + //获取证书信息 + List certificateList=new ArrayList(); + if(entity.getFunctionId().equals(200)){ + certificateList=pxyObjKeyringService.findPxyObjKeyrings(null, 1, 1, "ip"); + } + if(entity.getFunctionId().equals(201)){ + certificateList=pxyObjKeyringService.findPxyObjKeyrings(null, 1, 1, "domain"); + } + for (CfgIndexInfo str : page.getList()) { + if(!StringUtil.isEmpty(str.getUserRegion5())){ + Properties prop = getMsgProp(); + String cs= DictUtils.getDictLabel("INTERCEPT_DOMAIN_INTENSITY", str.getUserRegion5()); + str.setUserRegion5(prop.getProperty(cs)); + } + if(certificateList!=null){ + if(entity.getFunctionId()==200|| entity.getFunctionId()==201){ + for (PxyObjKeyring pxyObjKeyring : certificateList) { + if(str.getUserRegion2().equals(pxyObjKeyring.getCompileId())){ + str.setUserRegion2(pxyObjKeyring.getCfgDesc()); + } + } + } + } + } titleList.add(entity.getMenuNameCode()); classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); - String cfgIndexInfoNoExport=",policy_name,group_name,userregion4,userregion5,"; + String cfgIndexInfoNoExport=""; 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" @@ -233,7 +257,7 @@ public class InterceptController extends CommonController{ + ",config_time,editor,edit_time,auditor,audit_time" +",letter,whether_area_block,classification,attribute,label" +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); + List ipList=new ArrayList(); List httpUrlList=new ArrayList(); List pktBinList=new ArrayList(); @@ -247,6 +271,7 @@ public class InterceptController extends CommonController{ httpUrlList=BaseStringCfg.baseHexList(httpUrlList); dataMap.put(entity.getMenuNameCode(), page.getList()); if(entity.getFunctionId()==212){ //IP Payload + cfgIndexInfoNoExport=",do_log,log_total,policy_name,group_name,userregion4,userregion5,&userregion1:replace_zone-userregion2:replaced_content-userregion3:replace_content-"; titleList.add("PXY_INTERCEPT_IP"); titleList.add("PXY_INTERCEPT_PKT_BIN"); classMap.put("PXY_INTERCEPT_IP", IpPortCfg.class); @@ -256,16 +281,20 @@ public class InterceptController extends CommonController{ dataMap.put("PXY_INTERCEPT_IP", ipList); dataMap.put("PXY_INTERCEPT_PKT_BIN", pktBinList); }else if(entity.getFunctionId()==200){//IP拦截 + cfgIndexInfoNoExport=",policy_name,group_name,userregion3,userregion4,userregion5,&userregion2:ratelimit-userregion1:certificate-"; titleList.add("PXY_INTERCEPT_IP"); classMap.put("PXY_INTERCEPT_IP", IpPortCfg.class); noExportMap.put("PXY_INTERCEPT_IP", ipPortInfoNoExport); dataMap.put("PXY_INTERCEPT_IP", ipList); }else if(entity.getFunctionId()==201){//域名拦截 + cfgIndexInfoNoExport=",policy_name,group_name,userregion3,userregion4,&userregion2:ratelimit-userregion1:certificate-userregion5:intercept_intensity-"; titleList.add("NTC_HTTP_URL"); classMap.put("NTC_HTTP_URL", HttpUrlCfg.class); noExportMap.put("NTC_HTTP_URL", httpUrlCfgNoExport); dataMap.put("NTC_HTTP_URL", httpUrlList); } + noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); + /*}*/ this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); } catch (Exception e) { diff --git a/src/main/java/com/nis/web/controller/configuration/statistics/ConfigureStatisticsController.java b/src/main/java/com/nis/web/controller/configuration/statistics/ConfigureStatisticsController.java index 1b8a6c178..3b69f6f0f 100644 --- a/src/main/java/com/nis/web/controller/configuration/statistics/ConfigureStatisticsController.java +++ b/src/main/java/com/nis/web/controller/configuration/statistics/ConfigureStatisticsController.java @@ -4,6 +4,7 @@ package com.nis.web.controller.configuration.statistics; import java.util.ArrayList; +import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; @@ -11,20 +12,27 @@ import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.mvc.support.RedirectAttributes; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.mchange.v1.util.MapUtils; import com.nis.domain.FunctionServiceDict; import com.nis.domain.Page; +import com.nis.domain.SysArea; import com.nis.domain.configuration.CfgIndexInfo; import com.nis.domain.configuration.RequestInfo; import com.nis.util.CacheUtils; import com.nis.util.Constants; import com.nis.util.DictUtils; import com.nis.util.StringUtil; +import com.nis.util.StringUtils; import com.nis.web.controller.BaseController; import com.nis.web.service.BaseService; import com.nis.web.service.CommonService; @@ -76,4 +84,33 @@ public class ConfigureStatisticsController extends BaseController{ model.addAttribute("configStatisticTime", configureStatisticsService.getConfigStatisticTime()); return "/index"; } + + /** + * 根据业务ID查询当前业务配置是否可继续新增,如果达到规则限制量则不允许新增。 + * @param serviceId + * @param response + * @return + */ + @ResponseBody + @RequestMapping(value = "/getEffectiveCfgNum") + public Map getEffectiveCfgNum(Integer serviceId, HttpServletResponse response) { + Map map= new HashMap(); + Integer cfgNum = configureStatisticsService.getEffectiveCfgNum(serviceId); + String dictValue = DictUtils.getDictLabel("SERVICE_RULE_LIMIT", serviceId+"","default").trim(); + Integer ruleLimit = 0; + if(!"default".equals(dictValue)){ + ruleLimit = Integer.parseInt(dictValue); + } + if(ruleLimit==0){ + map.put("status", 1);//如果为0说明没有限制 + }else if(cfgNum page = specificServiceCfgService .findTopPage(pageCondition, specificServiceCfg); - // 植入序号 - for (int i = 0; i < page.getList().size(); i++) { - page.getList().get(i).setShowSequence("" + (i + 1 + ((page.getPageNo() - 1) * page.getPageSize()))); - } - model.addAttribute("page", page); // 删除顶层数据、取出id List intList = Lists.newArrayList(); - for (SpecificServiceCfg tempSS : page.getList()) { - if (tempSS != null) { - intList.add(tempSS.getSpecServiceId()); + // 植入序号 + for (int i = 0; i < page.getList().size(); i++) { + if (page.getList().get(i) != null) { + page.getList().get(i).setShowSequence("" + (i + 1 + ((page.getPageNo() - 1) * page.getPageSize()))); + intList.add(page.getList().get(i).getSpecServiceId()); } } for (int i = allList.size() - 1; i >= 0; i--) { @@ -106,14 +103,13 @@ public class SpecificServiceCfgController extends BaseController { allList.remove(ss); } } - allList.addAll(page.getList()); List list = Lists.newArrayList(); SpecificServiceCfg.sortList(list, allList, 0, true); //处理下级序号 SpecificServiceCfg.addChildrenSeq(list, 0); - + model.addAttribute("page", page); model.addAttribute("list", list); return "/specific/specificServiceCfgList"; diff --git a/src/main/java/com/nis/web/controller/sys/SysLogController.java b/src/main/java/com/nis/web/controller/sys/SysLogController.java index 52906df59..20c6e2724 100644 --- a/src/main/java/com/nis/web/controller/sys/SysLogController.java +++ b/src/main/java/com/nis/web/controller/sys/SysLogController.java @@ -24,4 +24,11 @@ public class SysLogController extends BaseController { return "/sys/logList"; } + @RequiresPermissions("sys:cfgOperationLog:view") + @RequestMapping(value = {"cfgOperationLogList"}) + public String cfgOperationLogList(SysLog sysLog, HttpServletRequest request, HttpServletResponse response, Model model) { + Page page = logService.findCfgOperationLogPage(new Page(request, response), sysLog); + model.addAttribute("page", page); + return "/sys/cfgOperationLogList"; + } } diff --git a/src/main/java/com/nis/web/dao/SysLogDao.java b/src/main/java/com/nis/web/dao/SysLogDao.java index ecabd4df2..00e60d26e 100644 --- a/src/main/java/com/nis/web/dao/SysLogDao.java +++ b/src/main/java/com/nis/web/dao/SysLogDao.java @@ -1,7 +1,10 @@ package com.nis.web.dao; +import java.util.List; + import com.nis.domain.SysLog; @MyBatisDao public interface SysLogDao extends CrudDao{ - + public void insertCfgOperationLog(SysLog log); + public List findCfgOperationLogList(SysLog log); } \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/SysLogDao.xml b/src/main/java/com/nis/web/dao/SysLogDao.xml index e251c4713..3e267324e 100644 --- a/src/main/java/com/nis/web/dao/SysLogDao.xml +++ b/src/main/java/com/nis/web/dao/SysLogDao.xml @@ -28,6 +28,26 @@ ORDER BY a.create_date DESC + + INSERT INTO sys_log( @@ -59,4 +79,49 @@ ) + + INSERT INTO sys_cfg_operation_log( + type, + title, + create_by, + create_date, + remote_addr, + user_agent, + request_uri, + method, + state, + consumer_time, + params, + exception, + compile_id, + cfg_id, + function_id, + method_name, + audit_state, + action, + operation, + function_name + ) VALUES ( + #{type}, + #{title}, + #{createBy}, + #{createDate}, + #{remoteAddr}, + #{userAgent}, + #{requestUri}, + #{method}, + #{state}, + #{consumerTime}, + #{params}, + #{exception}, + #{compileId}, + #{cfgId}, + #{functionId}, + #{methodName}, + #{auditState}, + #{action}, + #{operation}, + #{functionName} + ) + \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/basics/AsnIpCfgDao.java b/src/main/java/com/nis/web/dao/basics/AsnIpCfgDao.java index 9b16b1019..17ab6b9fb 100644 --- a/src/main/java/com/nis/web/dao/basics/AsnIpCfgDao.java +++ b/src/main/java/com/nis/web/dao/basics/AsnIpCfgDao.java @@ -16,7 +16,10 @@ public interface AsnIpCfgDao extends CrudDao{ public List getByIds(@Param("ids")String ids); public List hasGroupIds(@Param("ids")String ids); public List findAllList(AsnIpCfg cfg); - public List findPolicyGroupInfosByType(@Param("groupId")Integer groupId); +// public List findPolicyGroupInfosByType(@Param("groupId")Integer groupId); public List findOtherIps(@Param("groupId")Integer groupId,@Param("cfgId")Integer cfgId); public List countValidIPs(@Param("groups")String groups,@Param("ids")String ids); + public ConfigGroupInfo getInfoByAsnNo(@Param("asnId")Integer asnNo); + public List getByAsnGroup(@Param("groupId")Integer groupId,@Param("asnId")Integer asnNo); + public void deleteByAsnGroup(@Param("groupId")Integer groupId,@Param("asnId")Integer asnNo); } diff --git a/src/main/java/com/nis/web/dao/basics/AsnIpCfgDao.xml b/src/main/java/com/nis/web/dao/basics/AsnIpCfgDao.xml index a93a1c3da..f90aa5a54 100644 --- a/src/main/java/com/nis/web/dao/basics/AsnIpCfgDao.xml +++ b/src/main/java/com/nis/web/dao/basics/AsnIpCfgDao.xml @@ -206,7 +206,11 @@ from asn_ip_cfg r where r.cfg_id in (${ids}) and is_valid !=-1 - + insert into asn_ip_cfg ( CFG_DESC, @@ -392,18 +396,23 @@ update asn_ip_cfg set is_valid=#{isValid} where cfg_id in (${ids}) - + + + delete from asn_ip_cfg where asn_ip_group=#{groupId} and user_region1=#{asnId} + - select count(1) from asn_ip_cfg where is_valid !=-1 and asn_ip_group in(${groups}) and cfg_id not in(${ids}) GROUP BY asn_ip_group; - + \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/configuration/AvContentCfgDao.xml b/src/main/java/com/nis/web/dao/configuration/AvContentCfgDao.xml index 986dd051f..266a37ecc 100644 --- a/src/main/java/com/nis/web/dao/configuration/AvContentCfgDao.xml +++ b/src/main/java/com/nis/web/dao/configuration/AvContentCfgDao.xml @@ -1056,7 +1056,7 @@ - update av_voip_ip_cfg + update ip_port_cfg diff --git a/src/main/java/com/nis/web/dao/configuration/WebsiteCfgDao.java b/src/main/java/com/nis/web/dao/configuration/WebsiteCfgDao.java index e9b937626..3b90a05dd 100644 --- a/src/main/java/com/nis/web/dao/configuration/WebsiteCfgDao.java +++ b/src/main/java/com/nis/web/dao/configuration/WebsiteCfgDao.java @@ -28,12 +28,14 @@ import com.nis.web.dao.MyBatisDao; @MyBatisDao public interface WebsiteCfgDao extends CrudDao{ + public List getCfgIndexInfos(CfgIndexInfo entity); public CfgIndexInfo getCfgIndexInfo(Long id); public List getWebsiteList(CfgIndexInfo entity); public List getIpPortList(CfgIndexInfo entity); public List getHttpUrlList(CfgIndexInfo entity); public List getHttpResHdrList(CfgIndexInfo entity); public List getHttpResBodyList(CfgIndexInfo entity); + public List getHttpBodyList(CfgIndexInfo entity); public List getHttpReqHdrList(CfgIndexInfo entity); public List getHttpReqBodyList(CfgIndexInfo entity); public void saveCfgIndex(CfgIndexInfo entity); diff --git a/src/main/java/com/nis/web/dao/configuration/WebsiteCfgDao.xml b/src/main/java/com/nis/web/dao/configuration/WebsiteCfgDao.xml index 75eb89d43..ee72eedfa 100644 --- a/src/main/java/com/nis/web/dao/configuration/WebsiteCfgDao.xml +++ b/src/main/java/com/nis/web/dao/configuration/WebsiteCfgDao.xml @@ -31,6 +31,8 @@ + + @@ -130,7 +132,7 @@ a.CREATOR_ID,a.CREATE_TIME,a.EDITOR_ID,a.EDIT_TIME,a.AUDITOR_ID,a.AUDIT_TIME, a.SERVICE_ID,a.REQUEST_ID,a.COMPILE_ID,a.IS_AREA_EFFECTIVE,a.CLASSIFY, a.ATTRIBUTE,a.LABLE,a.AREA_EFFECTIVE_IDS,a.function_id,a.dns_strategy_id,a.user_region1, - a.user_region2,a.user_region3,a.user_region4,a.user_region5,a.do_log + a.user_region2,a.user_region3,a.user_region4,a.user_region5,a.do_log,a.source_compile_id,a.cancel_request_id a.cfg_id,a.cfg_desc,a.ip_type,a.src_ip_address,a.ip_pattern,a.port_pattern,a.src_port @@ -328,6 +330,25 @@ FROM cfg_index_info a where cfg_id=#{cfgId} + SELECT - FROM http_url_cfg a where compile_id=#{compileId} and function_id=#{functionId} + FROM http_url_cfg a + + + AND a.compile_id =#{compileId} + + + AND a.function_id =#{functionId} + + + + + --> + \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/specific/SpecificServiceCfgDao.java b/src/main/java/com/nis/web/dao/specific/SpecificServiceCfgDao.java index 5cb21f222..29565c169 100644 --- a/src/main/java/com/nis/web/dao/specific/SpecificServiceCfgDao.java +++ b/src/main/java/com/nis/web/dao/specific/SpecificServiceCfgDao.java @@ -44,6 +44,7 @@ public interface SpecificServiceCfgDao extends CrudDao { List getChildrenById(Integer specServiceId); ConfigGroupInfo getConfigGroupInfoByGroupId(Integer groupId); + ConfigGroupInfo findPolicyGroupInfosByType(@Param("groupType")Integer groupType); Integer getIssuedConfigGroupInfoByGroupIds(@Param("groupIds")String groupIds); Integer insertConfigGroupInfo(ConfigGroupInfo entity); diff --git a/src/main/java/com/nis/web/dao/specific/SpecificServiceCfgDao.xml b/src/main/java/com/nis/web/dao/specific/SpecificServiceCfgDao.xml index 8d6fdf801..1bf00b9a0 100644 --- a/src/main/java/com/nis/web/dao/specific/SpecificServiceCfgDao.xml +++ b/src/main/java/com/nis/web/dao/specific/SpecificServiceCfgDao.xml @@ -237,4 +237,8 @@ insert into config_group_info (id,group_id,group_name,is_issued,insert_time,group_type,compile_id,asn_id) values(#{id},#{groupId},#{groupName},#{isIssued},now(),#{groupType},#{compileId},#{asnId}) + \ No newline at end of file diff --git a/src/main/java/com/nis/web/service/LogService.java b/src/main/java/com/nis/web/service/LogService.java index b009ecf0c..ef1691366 100644 --- a/src/main/java/com/nis/web/service/LogService.java +++ b/src/main/java/com/nis/web/service/LogService.java @@ -1,5 +1,8 @@ package com.nis.web.service; +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.nis.domain.Page; @@ -9,8 +12,9 @@ import com.nis.web.dao.SysLogDao; @Service public class LogService extends CrudService { - -public Page findPage(Page page, SysLog sysLog) { + @Autowired + protected SysLogDao sysLogDao; + public Page findPage(Page page, SysLog sysLog) { // 设置默认时间范围,默认当前月 if (sysLog.getBeginDate() == null){ @@ -24,4 +28,17 @@ public Page findPage(Page page, SysLog sysLog) { } + public Page findCfgOperationLogPage(Page page, SysLog sysLog) { + + // 设置默认时间范围,默认当前月 + if (sysLog.getBeginDate() == null){ + sysLog.setBeginDate(DateUtils.setDays(DateUtils.parseDate(DateUtils.getDate()), 1)); + } + if (sysLog.getEndDate() == null){ + sysLog.setEndDate(DateUtils.addMonths(sysLog.getBeginDate(), 1)); + } + sysLog.setPage(page); + List list = sysLogDao.findCfgOperationLogList(sysLog); + return page.setList(list); + } } diff --git a/src/main/java/com/nis/web/service/basics/AsnIpCfgService.java b/src/main/java/com/nis/web/service/basics/AsnIpCfgService.java index 9cdffab9e..6bb779e2a 100644 --- a/src/main/java/com/nis/web/service/basics/AsnIpCfgService.java +++ b/src/main/java/com/nis/web/service/basics/AsnIpCfgService.java @@ -3,6 +3,8 @@ package com.nis.web.service.basics; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Map; +import java.util.Map.Entry; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; @@ -10,8 +12,11 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import com.beust.jcommander.internal.Lists; import com.nis.domain.Page; +import com.nis.domain.SysDataDictionaryItem; import com.nis.domain.basics.AsnIpCfg; +import com.nis.domain.basics.PolicyGroupInfo; import com.nis.domain.configuration.CfgIndexInfo; import com.nis.domain.maat.GroupReuseAddBean; import com.nis.domain.maat.GroupReuseCfg; @@ -20,11 +25,15 @@ import com.nis.domain.maat.MaatCfg.NumBoundaryCfg; import com.nis.domain.maat.MaatCfg.StringCfg; import com.nis.domain.maat.ToMaatResult; import com.nis.domain.specific.ConfigGroupInfo; +import com.nis.exceptions.MaatConvertException; import com.nis.util.ConfigServiceUtil; import com.nis.util.Constants; +import com.nis.util.DictUtils; import com.nis.web.dao.CrudDao; import com.nis.web.dao.basics.AsnIpCfgDao; +import com.nis.web.dao.basics.PolicyGroupInfoDao; import com.nis.web.dao.specific.SpecificServiceCfgDao; +import com.nis.web.security.UserUtils; import com.nis.web.service.CrudService; @Service public class AsnIpCfgService extends CrudService, AsnIpCfg> { @@ -32,6 +41,8 @@ public class AsnIpCfgService extends CrudService, AsnIpCfg> { private AsnIpCfgDao asnIpCfgDao; @Autowired private SpecificServiceCfgDao specificServiceCfgDao; + @Autowired + private PolicyGroupInfoDao policyGroupInfoDao; /** * @param page * @param entity @@ -50,10 +61,13 @@ public class AsnIpCfgService extends CrudService, AsnIpCfg> { @Transactional(readOnly=false,rollbackFor=RuntimeException.class) public void save(List entitys){ Date createTime=new Date(); + List idList=ConfigServiceUtil.getId(3, entitys.size()); + int index=0; for(AsnIpCfg entity:entitys) { entity.setCreateTime(createTime); entity.setCreatorId(entity.getCurrentUser().getId()); - entity.setRegionId(ConfigServiceUtil.getId(3, 1).get(0)); + entity.setRegionId(idList.get(index)); + index++; } this.saveBatch(entitys, AsnIpCfgDao.class); } @@ -72,10 +86,117 @@ public class AsnIpCfgService extends CrudService, AsnIpCfg> { throw new RuntimeException("asn group is issued, cannot update asn ip!"); } + } + @Transactional(readOnly=false,rollbackFor=RuntimeException.class) + public void saveAsnIpBatch(Map> cfgs) { + List toDelAsnIpCfgs=Lists.newArrayList(); + List toSaveAsnIpCfgs=Lists.newArrayList(); + List isImportAll=DictUtils.getDictList("IS_ASN_IP_IMPORT_ALL"); + for(Entry> entry:cfgs.entrySet()) { + Integer asnNo=Integer.parseInt(entry.getKey()); + ConfigGroupInfo configGroupInfo=this.getConfigGroupInfoByAsnNo(asnNo); + if(configGroupInfo==null) {//不存在则新增 + PolicyGroupInfo info=new PolicyGroupInfo(); + info.setAsnNo(Integer.parseInt(entry.getKey())); + info.setDescription("Create by import excel"); + info.setGroupName("Import"+asnNo); + info.setGroupType(4); + this.saveAsnGroup(info); + configGroupInfo=this.getConfigGroupInfoByAsnNo(asnNo); + } + for(AsnIpCfg cfg:entry.getValue()) { + cfg.setAsnIpGroup(configGroupInfo.getGroupId()); + if(configGroupInfo.getIsIssued()==0) + cfg.setIsValid(Constants.VALID_NO); + else + cfg.setIsValid(Constants.VALID_YES); + } + if(isImportAll.get(0).getItemCode().equals("1")) {//全量下发,删除已有的 + if(configGroupInfo.getIsIssued()==0) {//已下发 + List _toDelAsnIpCfgs=this.getByAsnGroup(configGroupInfo.getGroupId(), configGroupInfo.getAsnId()); + toDelAsnIpCfgs.addAll(_toDelAsnIpCfgs); + } + this.deleteByAsnGroup(configGroupInfo.getGroupId(), configGroupInfo.getAsnId()); + } + toSaveAsnIpCfgs.addAll(entry.getValue()); + } + this.save(toSaveAsnIpCfgs); + if(toDelAsnIpCfgs.size()>0) { + asnIPRegionSendToMaat(toDelAsnIpCfgs,Constants.VALID_NO); + } + if(toSaveAsnIpCfgs.size()>0) { + asnIPRegionSendToMaat(toSaveAsnIpCfgs,Constants.VALID_YES); + } + } + /** + * asn ip分组复用新增 + * @param asnIpCfgs + */ + public void asnIPRegionSendToMaat(List asnIpCfgs,Integer valid) { + GroupReuseAddBean maatBean = new GroupReuseAddBean(); + List groupReuseList=new ArrayList<>(); + GroupReuseCfg groupReuseCfg=new GroupReuseCfg(); + List ipRegionList = groupReuseCfgAddRemoveConvert(asnIpCfgs,valid,null); + List strRegionList = new ArrayList<>(); + List numRegionList = new ArrayList<>(); + groupReuseCfg.setIpRegionList(ipRegionList); + groupReuseCfg.setStrRegionList(strRegionList); + groupReuseCfg.setNumRegionList(numRegionList); + groupReuseList.add(groupReuseCfg); + maatBean.setGroupReuseCfgList(groupReuseList); + maatBean.setAuditTime(new Date()); + maatBean.setCreatorName(UserUtils.getUser().getName()); + maatBean.setVersion(Constants.MAAT_VERSION); + if(valid==Constants.VALID_YES) { + maatBean.setOpAction(Constants.INSERT_ACTION); + //调用服务接口下发配置数据 + String json=gsonToJson(maatBean); + logger.info("asn ip复用域新增配置下发配置参数:"+json); + //调用服务接口下发配置 + ToMaatResult result =ConfigServiceUtil.postGroupReuseSources(json); + logger.info("asn ip复用域新增配置响应信息:"+result.getMsg()); + }else { + maatBean.setOpAction(Constants.UPDATE_ACTION); + //调用服务接口下发配置数据 + String json=gsonToJson(maatBean); + logger.info("asn ip复用域删除配置下发配置参数:"+json); + //调用服务接口下发配置 + ToMaatResult result = ConfigServiceUtil.put(json,3); + logger.info("asn ip复用域删除配置响应信息:"+result.getMsg()); + } + } + @Transactional(readOnly=false,rollbackFor=RuntimeException.class) + public void saveAsnGroup(PolicyGroupInfo entity) throws MaatConvertException{ + entity.setIsValid(1); + //新增 + Date createTime=new Date(); + entity.setCreatorId(UserUtils.getUser().getId()); + entity.setCreateTime(createTime); + //asn类型从综合服务获取groupId + if(4==entity.getGroupType().intValue()) { + int serviceGroupId=0; + List groupIds= ConfigServiceUtil.getId(2,1); + if(groupIds.size()>0) { + serviceGroupId=groupIds.get(0).intValue(); + }else { + throw new MaatConvertException("Get asn group id failed"); + } + entity.setServiceGroupId(serviceGroupId); + //新增协议分组 + ConfigGroupInfo group = new ConfigGroupInfo(); + group.setGroupId(serviceGroupId); + group.setGroupName(entity.getGroupName()); + group.setIsIssued(0); + group.setGroupType(entity.getGroupType()); + group.setAsnId(entity.getAsnNo()); + specificServiceCfgDao.insertConfigGroupInfo(group); + policyGroupInfoDao.insert(entity); + } + } @Transactional(readOnly=false,rollbackFor=RuntimeException.class) public void saveAsnIpCfg(CfgIndexInfo entity) { - Date crateTime=new Date(); + Date createTime=new Date(); ConfigGroupInfo groupInfo=specificServiceCfgDao.getConfigGroupInfoByGroupId(entity.getAsnIpGroup().intValue()); if(groupInfo==null) { throw new RuntimeException("ConfigGroupInfo is null!"); @@ -89,39 +210,19 @@ public class AsnIpCfgService extends CrudService, AsnIpCfg> { BeanUtils.copyProperties(entity, cfg, new String[]{"cfgId","cfgDesc"}); } - cfg.setCreateTime(crateTime); + cfg.setCreateTime(createTime); cfg.setCreatorId(entity.getCurrentUser().getId()); cfg.setAsnIpGroup(entity.getAsnIpGroup()); cfg.setIsValid(Constants.VALID_YES); } } this.save(entity.getAsnIpCfgs()); - GroupReuseAddBean maatBean = new GroupReuseAddBean(); - List groupReuseList=new ArrayList<>(); - GroupReuseCfg groupReuseCfg=new GroupReuseCfg(); - List ipRegionList = groupReuseCfgAddRemoveConvert(entity.getAsnIpCfgs(),Constants.VALID_YES,null); - List strRegionList = new ArrayList<>(); - List numRegionList = new ArrayList<>(); - groupReuseCfg.setIpRegionList(ipRegionList); - groupReuseCfg.setStrRegionList(strRegionList); - groupReuseCfg.setNumRegionList(numRegionList); - groupReuseList.add(groupReuseCfg); - maatBean.setGroupReuseCfgList(groupReuseList); - maatBean.setAuditTime(crateTime); - maatBean.setCreatorName(entity.getCurrentUser().getName()); - maatBean.setVersion(Constants.MAAT_VERSION); - maatBean.setOpAction(Constants.INSERT_ACTION); - //调用服务接口下发配置数据 - String json=gsonToJson(maatBean); - logger.info("asn ip复用域新增配置下发配置参数:"+json); - //调用服务接口下发配置 - ToMaatResult result = ConfigServiceUtil.postGroupReuseSources(json); - logger.info("asn ip复用域新增配置响应信息:"+result.getMsg()); + asnIPRegionSendToMaat(entity.getAsnIpCfgs(),Constants.VALID_YES); }else { if(entity.getAsnIpCfgs()!=null) { for(AsnIpCfg cfg:entity.getAsnIpCfgs()) { BeanUtils.copyProperties(entity, cfg, new String[]{"cfgId"}); - cfg.setCreateTime(crateTime); + cfg.setCreateTime(createTime); cfg.setCreatorId(entity.getCurrentUser().getId()); cfg.setAsnIpGroup(entity.getAsnIpGroup().intValue()); cfg.setIsValid(Constants.VALID_NO); @@ -151,34 +252,14 @@ public class AsnIpCfgService extends CrudService, AsnIpCfg> { } if(issuedList.size()>0) { //已经下发过的,调用分组复用配置删除接口 - GroupReuseAddBean maatBean = new GroupReuseAddBean(); - List groupReuseList=new ArrayList<>(); - GroupReuseCfg groupReuseCfg=new GroupReuseCfg(); - List ipRegionList = groupReuseCfgAddRemoveConvert(issuedList,Constants.VALID_NO,null); - List strRegionList = new ArrayList<>(); - List numRegionList = new ArrayList<>(); - groupReuseCfg.setIpRegionList(ipRegionList); - groupReuseCfg.setStrRegionList(strRegionList); - groupReuseCfg.setNumRegionList(numRegionList); - groupReuseList.add(groupReuseCfg); - maatBean.setGroupReuseCfgList(groupReuseList); - maatBean.setAuditTime(new Date()); - maatBean.setCreatorName(new AsnIpCfg().getCurrentUser().getName()); - maatBean.setVersion(Constants.MAAT_VERSION); - maatBean.setOpAction(Constants.UPDATE_ACTION); - //调用服务接口下发配置数据 - String json=gsonToJson(maatBean); - logger.info("asn ip复用域删除配置下发配置参数:"+json); - //调用服务接口下发配置 - ToMaatResult result = ConfigServiceUtil.put(json,3); - logger.info("asn ip复用域删除配置响应信息:"+result.getMsg()); + asnIPRegionSendToMaat(issuedList,Constants.VALID_NO); } asnIpCfgDao.updateValid(isValid, ids); } - public List findPolicyGroupInfosByType(Integer groupId) { - // TODO Auto-generated method stub - return asnIpCfgDao.findPolicyGroupInfosByType(groupId); - } +// public List findPolicyGroupInfosByType(Integer groupId) { +// // TODO Auto-generated method stub +// return asnIpCfgDao.findPolicyGroupInfosByType(groupId); +// } /** * 选中组中是否含有只剩一个未删除IP的组 * @param serviceGroupIds @@ -200,4 +281,19 @@ public class AsnIpCfgService extends CrudService, AsnIpCfg> { } return false; } + public ConfigGroupInfo getConfigGroupInfoByAsnNo(Integer asnNo) { + return asnIpCfgDao.getInfoByAsnNo(asnNo); + } + public List getByAsnGroup(Integer groupId,Integer asnNo) { + if(groupId==null||asnNo==null) { + throw new RuntimeException("groupId or asnNo is null!"); + } + return asnIpCfgDao.getByAsnGroup(groupId,asnNo); + } + public void deleteByAsnGroup(Integer groupId,Integer asnNo) { + if(groupId==null||asnNo==null) { + throw new RuntimeException("groupId or asnNo is null!"); + } + asnIpCfgDao.deleteByAsnGroup(groupId,asnNo); + } } 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 183ead19c..f877dcd8a 100644 --- a/src/main/java/com/nis/web/service/configuration/AvContentCfgService.java +++ b/src/main/java/com/nis/web/service/configuration/AvContentCfgService.java @@ -1558,6 +1558,7 @@ public class AvContentCfgService extends BaseService{ entity.setIsValid(isValid); entity.setAuditorId(UserUtils.getUser().getId()); entity.setAuditTime(auditTime); + avContentCfgDao.updateAvVoipIp(entity); avContentCfgDao.updateAvVoipKeywordCfgt(entity); avContentCfgDao.updateCfgIndexInfo(entity); AreaIpCfg areaIpCfg=new AreaIpCfg(); @@ -1588,6 +1589,10 @@ public class AvContentCfgService extends BaseService{ if(isAudit==1){ if(!StringUtil.isEmpty(ipPortList)){ + IpPortCfg cfg = new IpPortCfg(); + BeanUtils.copyProperties(entity, cfg, new String[] { "cfgId" }); + cfg.setTableName(IpPortCfg.getTablename()); + avContentCfgDao.updateCfgValid(cfg); Map ipMap = cfgConvert(ipRegionList,ipPortList,1,entity,groupRelationList); groupRelationList=ipMap.get("groupList"); ipRegionList=ipMap.get("dstList"); diff --git a/src/main/java/com/nis/web/service/configuration/BgpCfgService.java b/src/main/java/com/nis/web/service/configuration/BgpCfgService.java index c0d768634..5570ad7be 100644 --- a/src/main/java/com/nis/web/service/configuration/BgpCfgService.java +++ b/src/main/java/com/nis/web/service/configuration/BgpCfgService.java @@ -75,13 +75,13 @@ public class BgpCfgService extends CrudService { public CfgIndexInfo exportbgp(CfgIndexInfo entity){ List ipPortList = bgpCfgDao.getIpPortList(entity); - NtcSubscribeIdCfg subscribeId = new NtcSubscribeIdCfg(); - subscribeId.setCompileId(entity.getCompileId()); - subscribeId.setIsValid(entity.getIsValid()); - List ntcSubscribeIdCfgList = stringCfgDao.findSubscribeIdCfgList(subscribeId); +// NtcSubscribeIdCfg subscribeId = new NtcSubscribeIdCfg(); +// subscribeId.setCompileId(entity.getCompileId()); +// subscribeId.setIsValid(entity.getIsValid()); +// List ntcSubscribeIdCfgList = stringCfgDao.findSubscribeIdCfgList(subscribeId); List ntcBgpAsCfgList = bgpCfgDao.getNtcBgpAsList(entity); entity.setIpPortList(ipPortList); - entity.setNtcSubscribeIdCfgList(ntcSubscribeIdCfgList); +// entity.setNtcSubscribeIdCfgList(ntcSubscribeIdCfgList); entity.setNtcBgpAsCfgList(ntcBgpAsCfgList); return entity; } diff --git a/src/main/java/com/nis/web/service/configuration/HttpRedirectCfgService.java b/src/main/java/com/nis/web/service/configuration/HttpRedirectCfgService.java index f82d4cd5a..39d73f77c 100644 --- a/src/main/java/com/nis/web/service/configuration/HttpRedirectCfgService.java +++ b/src/main/java/com/nis/web/service/configuration/HttpRedirectCfgService.java @@ -5,6 +5,7 @@ import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Properties; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; @@ -523,4 +524,5 @@ public class HttpRedirectCfgService extends CrudService getIsp(List ispList){ for (IpMultiplexPoolCfg snat : ispList) { + if(!StringUtil.isEmpty(snat.getAreaEffectiveIds())){ if(snat.getAreaEffectiveIds().contains(":")){ int index=snat.getAreaEffectiveIds().indexOf(":"); String ispCode =snat.getAreaEffectiveIds().substring(index+1); @@ -198,6 +200,12 @@ public class IpMultiplexPoolCfgService extends BaseService{ if(dict !=null){ snat.setIspName(dict.getItemValue()); } + }else{ + SysDictInfo dict= sysDictInfoDao.getDictByItemCode(snat.getAreaEffectiveIds()); + if(dict !=null){ + snat.setIspName(dict.getItemValue()); + } + } } } return ispList; diff --git a/src/main/java/com/nis/web/service/configuration/WebsiteCfgService.java b/src/main/java/com/nis/web/service/configuration/WebsiteCfgService.java index d5444e73c..c197d9eed 100644 --- a/src/main/java/com/nis/web/service/configuration/WebsiteCfgService.java +++ b/src/main/java/com/nis/web/service/configuration/WebsiteCfgService.java @@ -39,6 +39,7 @@ import com.nis.util.ConfigServiceUtil; import com.nis.util.Constants; import com.nis.util.DictUtils; import com.nis.util.StringUtil; +import com.nis.web.dao.basics.ServiceDictInfoDao; import com.nis.web.dao.configuration.AreaIpCfgDao; import com.nis.web.dao.configuration.StringCfgDao; import com.nis.web.dao.configuration.WebsiteCfgDao; @@ -58,6 +59,8 @@ public class WebsiteCfgService extends CrudService { protected AreaIpCfgDao areaIpCfgDao; @Autowired protected StringCfgDao stringCfgDao; + @Autowired + private ServiceDictInfoDao serviceDictInfoDao; public CfgIndexInfo getHttpCfg(Long cfgId){ CfgIndexInfo entity = websiteCfgDao.getCfgIndexInfo(cfgId); @@ -377,7 +380,7 @@ public class WebsiteCfgService extends CrudService { } } - public void auditHttpCfg(CfgIndexInfo entity,Integer isAudit) throws MaatConvertException{ + public void auditHttpCfg(CfgIndexInfo entity,Integer isAudit) throws Exception{ //修改数据库审核状态信息 entity.setTableName(CfgIndexInfo.getTablename()); websiteCfgDao.auditCfg(entity); @@ -555,6 +558,14 @@ public class WebsiteCfgService extends CrudService { maatCfg.setServiceId(entity.getServiceId()); maatCfg.setIsValid(0);//无效 configCompileList.add(maatCfg); + //http关键字配置失效时,需确认是否存在与之关联的HTTPURL配置 + List httpUrlCompile=new ArrayList<>(); + if(entity.getFunctionId().equals(635)){ + httpUrlCompile=auditHttpUrlByBodyId(maatCfg,httpUrlCompile,entity); + } + if(!StringUtil.isEmpty(httpUrlCompile)){ + configCompileList.addAll(httpUrlCompile); + } maatBean.setConfigCompileList(configCompileList); maatBean.setAuditTime(entity.getAuditTime()); maatBean.setCreatorName(entity.getCurrentUser().getName()); @@ -566,8 +577,122 @@ public class WebsiteCfgService extends CrudService { //调用服务接口下发配置 ToMaatResult result = ConfigServiceUtil.put(json,1); logger.info("http配置取消配置响应信息:"+result.getMsg()); + } } + public List auditHttpUrlByBodyId(MaatCfg maatCfgBody,List httpUrlCompile,CfgIndexInfo cfgHttpBody) throws Exception{ + ToMaatBean maatBean = new ToMaatBean(); + MaatCfg maatCfg = new MaatCfg(); + + CfgIndexInfo cfg=new CfgIndexInfo(); + cfg.setSourceCompileId(maatCfgBody.getCompileId()); + cfg.setFunctionId(6);//http url + List cfgs=websiteCfgDao.getCfgIndexInfos(cfg); + //关键字包含的所有url配置 + for (CfgIndexInfo cfgIndexInfo : cfgs) { + //查询所有httpurl配置 + List httpUrlList=websiteCfgDao.getHttpUrlList(cfgIndexInfo); + + //审核通过的,失效 3 0 + if(cfgIndexInfo.getIsAudit().equals(1)){ + cfgIndexInfo.setTableName(CfgIndexInfo.getTablename()); + cfgIndexInfo.setAuditorId(UserUtils.getUser().getId()); + cfgIndexInfo.setAuditTime(maatCfgBody.getAuditTime()); + cfgIndexInfo.setIsAudit(3); + cfgIndexInfo.setIsValid(0); + //设置配置取消的来函信息 + serviceDictInfoDao.auditCancleRequestInfo(cfgHttpBody.getCancelRequestId(), + "cfg_index_info", + cfgIndexInfo.getCfgId().toString()); + websiteCfgDao.auditCfg(cfgIndexInfo); + for (BaseStringCfg httpUrlCfg : httpUrlList) { + httpUrlCfg.setTableName(HttpUrlCfg.getTablename()); + httpUrlCfg.setAuditorId(UserUtils.getUser().getId()); + httpUrlCfg.setAuditTime(maatCfgBody.getAuditTime()); + httpUrlCfg.setIsAudit(3); + httpUrlCfg.setIsValid(0); + websiteCfgDao.auditCfg(httpUrlCfg); + } + + }else if(!(cfgIndexInfo.getIsAudit().equals(3) || cfgIndexInfo.getIsValid().equals(-1))){ + //未审核和审核未通过,删除 0 -1 + cfgIndexInfo.setTableName(CfgIndexInfo.getTablename()); + cfgIndexInfo.setEditorId(UserUtils.getUser().getId()); + cfgIndexInfo.setEditTime(maatCfgBody.getAuditTime()); + cfgIndexInfo.setIsAudit(0); + cfgIndexInfo.setIsValid(-1); + websiteCfgDao.updateCfgValid(cfgIndexInfo); + + for (BaseStringCfg httpUrlCfg : httpUrlList) { + httpUrlCfg.setTableName(HttpUrlCfg.getTablename()); + httpUrlCfg.setEditorId(UserUtils.getUser().getId()); + httpUrlCfg.setEditTime(maatCfgBody.getAuditTime()); + httpUrlCfg.setIsAudit(0); + httpUrlCfg.setIsValid(-1); + websiteCfgDao.updateCfgValid(httpUrlCfg); + } + } + //只有审核通过的配置需要下发失效动作 + if(cfgIndexInfo.getIsAudit().equals(3)){ + maatCfg.setCompileId(cfgIndexInfo.getCompileId()); + maatCfg.setServiceId(cfgIndexInfo.getServiceId()); + maatCfg.setIsValid(0);//无效 + httpUrlCompile.add(maatCfg); + } + } + + /* + List httpUrlList=websiteCfgDao.getHttpUrlList(cfg); + if(!StringUtil.isEmpty(httpUrlList)){}{ + for (BaseStringCfg httpUrlCfg : httpUrlList) { + //失效中间表 + CfgIndexInfo entity=new CfgIndexInfo(); + entity.setTableName(CfgIndexInfo.getTablename()); + entity.setFunctionId(6); + entity.setCompileId(httpUrlCfg.getCompileId()); + httpUrlCfg.setTableName(HttpUrlCfg.getTablename()); + //审核通过的,失效 3 0 + if(httpUrlCfg.getIsAudit().equals(1)){ + entity.setAuditorId(UserUtils.getUser().getId()); + entity.setAuditTime(maatCfgBody.getAuditTime()); + entity.setIsAudit(3); + entity.setIsValid(0); + + httpUrlCfg.setAuditorId(UserUtils.getUser().getId()); + httpUrlCfg.setAuditTime(maatCfgBody.getAuditTime()); + httpUrlCfg.setIsAudit(3); + httpUrlCfg.setIsValid(0); + + websiteCfgDao.auditCfg(entity); + websiteCfgDao.auditCfg(httpUrlCfg); + //serviceDictInfoDao.auditCancleRequestInfo(cancelRequestId, "cfg_index_info", entity); + }else if(!(httpUrlCfg.getIsAudit().equals(3) || httpUrlCfg.getIsValid().equals(-1))){ + //未审核和审核未通过,删除 0 -1 + entity.setEditorId(UserUtils.getUser().getId()); + entity.setEditTime(maatCfgBody.getAuditTime()); + entity.setIsAudit(0); + entity.setIsValid(-1); + + httpUrlCfg.setEditorId(UserUtils.getUser().getId()); + httpUrlCfg.setEditTime(maatCfgBody.getAuditTime()); + httpUrlCfg.setIsAudit(0); + httpUrlCfg.setIsValid(-1); + + websiteCfgDao.updateCfgValid(entity); + websiteCfgDao.updateCfgValid(httpUrlCfg); + + } + //只有审核通过的配置需要下发失效动作 + if(httpUrlCfg.getIsAudit().equals(3)){ + maatCfg.setCompileId(httpUrlCfg.getCompileId()); + maatCfg.setServiceId(httpUrlCfg.getServiceId()); + maatCfg.setIsValid(0);//无效 + httpUrlCompile.add(maatCfg); + } + } + }*/ + return httpUrlCompile; + } public void saveSslCfg(CfgIndexInfo entity){ //设置区域运营商信息 setAreaEffectiveIds(entity); diff --git a/src/main/java/com/nis/web/service/configuration/statistics/ConfigureStatisticsService.java b/src/main/java/com/nis/web/service/configuration/statistics/ConfigureStatisticsService.java index 0b76e8147..47c03ca3c 100644 --- a/src/main/java/com/nis/web/service/configuration/statistics/ConfigureStatisticsService.java +++ b/src/main/java/com/nis/web/service/configuration/statistics/ConfigureStatisticsService.java @@ -38,4 +38,7 @@ public class ConfigureStatisticsService extends CrudService dataList=configureStatisticsDao.getRequestStateStatistics(requestList,serviceList); return dataList; } + public Integer getEffectiveCfgNum(Integer serviceId){ + return configureStatisticsDao.getEffectiveCfgNum(serviceId); + } } diff --git a/src/main/resources/messages/message_en.properties b/src/main/resources/messages/message_en.properties index e6496f382..bab6a3b21 100644 --- a/src/main/resources/messages/message_en.properties +++ b/src/main/resources/messages/message_en.properties @@ -1298,4 +1298,5 @@ ruleLimitTip=The number of effective rules has reached the limit(%s). av_protocol_note=Note:Recognizable Protocols Include RTSP,RTMP. ip_range_in_the_same=Start IP and end IP in a IP range must with in the same subnet log_to_url=To HTTP URL -source_compile_id=Configuration Source \ No newline at end of file +source_compile_id=Configuration Source +ip_range_in_the_same=Start IP and end IP in a IP range must with in the same subnet diff --git a/src/main/resources/messages/message_ru.properties b/src/main/resources/messages/message_ru.properties index beb5b5fdf..b3ed5f249 100644 --- a/src/main/resources/messages/message_ru.properties +++ b/src/main/resources/messages/message_ru.properties @@ -1295,4 +1295,5 @@ config_service_statistics=Config Statistics ruleLimitTip=The number of effective rules has reached the limit(%s). av_protocol_note=Note:Recognizable Protocols Include RTSP,RTMP. log_to_url=To HTTP URL -source_compile_id=Configuration Source \ No newline at end of file +source_compile_id=Configuration Source +av_protocol_note=Note:Recognizable Protocols Include RTSP,RTMP. diff --git a/src/main/resources/messages/message_zh_CN.properties b/src/main/resources/messages/message_zh_CN.properties index adc2d233d..1d99fe046 100644 --- a/src/main/resources/messages/message_zh_CN.properties +++ b/src/main/resources/messages/message_zh_CN.properties @@ -1290,4 +1290,5 @@ ruleLimitTip=\u6709\u6548\u89C4\u5219\u91CF\u5DF2\u8FBE\u5230\u9650\u5236(%s). av_protocol_note=\u6CE8\uFF1A\u53EF\u8BC6\u522B\u534F\u8BAE\u5305\u62EC RTSP\u3001RTMP\u3002 ip_range_in_the_same=IP\u8303\u56F4\u7684\u8D77\u59CBIP\u4E0E\u7EC8\u6B62IP\u5FC5\u987B\u5728\u76F8\u540C\u7F51\u6BB5 log_to_url=\u8F6CHTTP URL\u914D\u7F6E -source_compile_id=\u914D\u7F6E\u6765\u6E90 \ No newline at end of file +source_compile_id=\u914D\u7F6E\u6765\u6E90 +ip_range_in_the_same=IP\u8303\u56F4\u7684\u8D77\u59CBIP\u4E0E\u7EC8\u6B62IP\u5FC5\u987B\u5728\u76F8\u540C\u7F51\u6BB5 diff --git a/src/main/resources/sql/20181025/alert_http_url_cfg.sql b/src/main/resources/sql/20181025/alert_http_url_cfg.sql new file mode 100644 index 000000000..8cbd233a9 --- /dev/null +++ b/src/main/resources/sql/20181025/alert_http_url_cfg.sql @@ -0,0 +1 @@ +ALTER TABLE cfg_index_info ADD source_compile_id bigint(20) DEFAULT 0 COMMENT 'httpݹؼֹ'; \ No newline at end of file diff --git a/src/main/resources/sql/20181025/update_intercept_region.sql b/src/main/resources/sql/20181025/update_intercept_region.sql new file mode 100644 index 000000000..d0da8e785 --- /dev/null +++ b/src/main/resources/sql/20181025/update_intercept_region.sql @@ -0,0 +1 @@ +update function_region_dict set is_valid=0 where dict_id in(94,95); \ No newline at end of file diff --git a/src/main/resources/sql/20181026/add_asn_ip_import_dict.sql b/src/main/resources/sql/20181026/add_asn_ip_import_dict.sql new file mode 100644 index 000000000..afeaa5695 --- /dev/null +++ b/src/main/resources/sql/20181026/add_asn_ip_import_dict.sql @@ -0,0 +1,3 @@ +#加入导入asn ip是否全量下发的开关 +INSERT INTO sys_data_dictionary_name (id,module_name, mark, remark, revision, create_time, modify_time, STATUS) VALUES ( 124,'asn ip导入是否全量下发', 'IS_ASN_IP_IMPORT_ALL', '', '', '2018-10-26 15:28:29.494', '2018-10-26 15:28:29.494', 1) ; +INSERT INTO sys_data_dictionary_item (id,item_code, item_value, item_desc, item_sort, STATUS, TYPE, dictionary_id) VALUES (2958,1, 'yes_no', '1是;0不是', 0, 1, 1, 124) ; \ No newline at end of file diff --git a/src/main/resources/sql/20181026/add_system_dict.sql b/src/main/resources/sql/20181026/add_system_dict.sql new file mode 100644 index 000000000..ecda81050 --- /dev/null +++ b/src/main/resources/sql/20181026/add_system_dict.sql @@ -0,0 +1,206 @@ +#增加业务配置功能与操作字典 +INSERT INTO `sys_data_dictionary_name` (`id`, `module_name`, `mark`, `remark`, `revision`, `create_time`, `modify_time`, `status`) VALUES ('122', '系统业务配置操作方法', 'SYS_SERVICE_OPERATION', '系统业务配置操作方法', '', '2018-10-26 10:33:26', '2018-10-26 10:33:26', '1'); +INSERT INTO `sys_data_dictionary_name` (`id`, `module_name`, `mark`, `remark`, `revision`, `create_time`, `modify_time`, `status`) VALUES ('123', '系统业务功能', 'SYS_SERVICE_FUNCTION', '系统业务功能描述,code为function_id,value为国际化code', '', '2018-10-26 11:54:53', '2018-10-26 11:54:53', '1'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2763', 'httpList', 'query', '查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2764', 'dnsList', 'query', '查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2765', 'saveHttpCfg', 'saveOrUpdate', '新增或保存', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2766', 'updateHttpCfgValid', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2767', 'auditHttpCfg', 'examine', '审核', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2768', 'sslList', 'query', '查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2769', 'saveSslCfg', 'saveOrUpdate', '新增或保存', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2770', 'updateSslCfgValid', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2771', 'auditSslCfg', 'examine', '审核', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2772', 'saveDnsCfg', 'saveOrUpdate', '新增或保存', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2773', 'updateDnsCfgValid', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2774', 'auditDnsCfg', 'examine', '审核', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2775', 'exportHttp', 'export', '导出', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2776', 'exportdns', 'export', '导出', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2777', 'exportssl', 'export', '导出', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2778', 'list', 'query', '查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2779', 'saveOrUpdate', 'saveOrUpdate', '新增或保存', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2780', 'delete', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2781', 'audit', 'examine', '审核', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2782', 'saveVoip', 'saveOrUpdate', '新增或保存', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2783', 'voipCfgList', 'query', '查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2784', 'updateVoipValid', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2785', 'auditVoip', 'examine', '审核', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2786', 'contIpList', 'query', '查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2787', 'saveContIp', 'saveOrUpdate', '新增或查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2788', 'updateAvContIpValid', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2789', 'auditContIp', 'examine', '审核', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2790', 'picIpList', 'query', '查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2791', 'savePicIp', 'saveOrUpdate', '新增或查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2792', 'updateAvPicIpValid', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2793', 'auditPicIp', 'examine', '审核', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2794', 'contUrlList', 'query', '查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2795', 'saveContUrl', 'saveOrUpdate', '新增或查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2796', 'updateAvContUrlValid', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2797', 'auditContUrl', 'examine', '审核', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2798', 'picUrlList', 'query', '查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2799', 'savePicUrl', 'saveOrUpdate', '新增或查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2800', 'updateAvPicUrlValid', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2801', 'auditPicUrl', 'examine', '审核', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2802', 'fileSampleList', 'query', '查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2803', 'saveFileSample', 'saveOrUpdate', '新增或查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2804', 'updateAvFileSampleValid', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2805', 'auditAvFileSample', 'examine', '审核', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2806', 'audioSignSampleList', 'query', '查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2807', 'saveAudioSignSample', 'saveOrUpdate', '新增或查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2808', 'updateAvSignSampleValid', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2809', 'auditAvAudioSignSample', 'examine', '审核', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2810', 'signSampleList', 'query', '查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2811', 'auditAvSignSample', 'examine', '审核', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2812', 'saveBgpCfg', 'saveOrUpdate', '新增或查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2813', 'updateBgpCfgValid', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2814', 'auditBgpCfg', 'examine', '审核', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2815', 'ftpList', 'query', '查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2816', 'saveFtpCfg', 'saveOrUpdate', '新增或查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2817', 'updateFtpCfgValid', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2818', 'auditFtpCfg', 'examine', '审核', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2819', 'fileDigestList', 'query', '查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2820', 'saveFileDigestCfg', 'saveOrUpdate', '新增或查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2821', 'updateFileDigestValid', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2822', 'auditFileDigestCfg', 'examine', '审核', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2823', 'p2pList', 'query', '查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2824', 'saveP2pCfg', 'saveOrUpdate', '新增或查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2825', 'updateP2pCfgValid', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2826', 'auditP2pCfg', 'examine', '审核', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2827', 'updateIpPortCfgValid', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2828', 'mailList', 'query', '查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2829', 'saveMailCfg', 'saveOrUpdate', '新增或查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2830', 'updateMailCfgValid', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2831', 'auditMailCfg', 'examine', '审核', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2832', 'ipList', 'query', '查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2833', 'saveIpCfg', 'saveOrUpdate', '新增或查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2834', 'updateIpCfgValid', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2835', 'auditIp', 'examine', '审核', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2836', 'domainList', 'query', '查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2837', 'saveOrUpdateDomain', 'saveOrUpdate', '新增或查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2838', 'updateDomainValid', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2839', 'deleteDomain', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2840', 'auditDomain', 'examine', '审核', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2841', 'saveXmppCfg', 'saveOrUpdate', '新增或查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2842', 'updateXmppCfgValid', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2843', 'auditXmppCfg', 'examine', '审核', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2844', 'snatlist', 'query', '查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2845', 'snatsaveOrUpdate', 'saveOrUpdate', '新增或查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2846', 'snatdelete', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2847', 'snataudit', 'examine', '审核', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2849', 'saveOrUpdateIp', 'saveOrUpdate', '新增或查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2850', 'deleteIp', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2852', 'snatPolicyList', 'query', '查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2853', 'saveOrUpdateSnat', 'saveOrUpdate', '新增或查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2854', 'snatDelete', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2855', 'auditSnat', 'examine', '审核', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2856', 'dnatPolicyList', 'query', '查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2857', 'saveOrUpdateDnat', 'saveOrUpdate', '新增或查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2858', 'dnatDelete', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2859', 'auditDnat', 'examine', '审核', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2860', 'reqList', 'query', '查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2861', 'reqSaveOrUpdate', 'saveOrUpdate', '新增或查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2862', 'reqDelete', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2863', 'reqAudit', 'examine', '审核', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2864', 'reslist', 'query', '查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2865', 'resSaveOrUpdate', 'saveOrUpdate', '新增或查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2866', 'resDelete', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2867', 'resAudit', 'examine', '审核', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2868', 'fileStrategyList', 'query', '查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2869', 'saveInterceptIpCfg', 'saveOrUpdate', '新增或查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2870', 'updateInterceptIpValid', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2871', 'auditInterceptIpCfg', 'examine', '审核', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2872', 'policyCfgList', 'query', '查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2873', 'saveAppPolicyCfg', 'saveOrUpdate', '新增或查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2874', 'updateAppPolicyCfgValid', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2875', 'auditAppPolicyCfg', 'examine', '审核', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2876', 'ipCfgList', 'query', '查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2877', 'saveAppIpCfg', 'saveOrUpdate', '新增或查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2878', 'updateAppIpCfgValid', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2879', 'auditAppIpCfg', 'examine', '审核', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2880', 'httpCfgList', 'query', '查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2881', 'saveAppHttpCfg', 'saveOrUpdate', '新增或查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2882', 'updateAppHttpCfgValid', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2883', 'auditAppHttpCfg', 'examine', '审核', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2884', 'domainCfgList', 'query', '查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2885', 'saveAppDomainCfg', 'saveOrUpdate', '新增或查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2886', 'updateAppDomainCfgValid', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2887', 'auditAppDomainCfg', 'examine', '审核', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2888', 'byteCfgList', 'query', '查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2889', 'saveAppByteCfg', 'saveOrUpdate', '新增或查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2890', 'updateAppByteCfgValid', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2891', 'auditAppByteCfg', 'examine', '审核', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2892', 'sslCfgList', 'query', '查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2893', 'saveAppSslCfg', 'saveOrUpdate', '新增或查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2894', 'updateAppSslCfgValid', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2895', 'auditAppSslCfg', 'examine', '审核', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2896', 'tcpCfgList', 'query', '查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2897', 'saveAppTcpCfg', 'saveOrUpdate', '新增或查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2898', 'updateAppTcpCfgValid', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2899', 'auditAppTcpCfg', 'examine', '审核', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2900', 'headerCfgList', 'query', '查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2901', 'saveAppHeaderCfg', 'saveOrUpdate', '新增或查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2902', 'updateAppHeaderCfgValid', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2903', 'auditAppHeaderCfg', 'examine', '审核', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2904', 'TopicDomainCfgList', 'query', '查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2905', 'saveAppTopicDomainCfg', 'saveOrUpdate', '新增或查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2906', 'updateAppTopicDomainCfgValid', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2907', 'auditAppTopicDomainCfg', 'examine', '审核', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2908', 'multiFeatureCfgList', 'query', '查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2909', 'saveAppMultiFeatureCfg', 'saveOrUpdate', '新增或查询', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2910', 'updateAppFeatureCfgValid', 'delete', '删除', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2911', 'auditAppFeatureCfg', 'examine', '审核', '0', '1', '1', '122'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2912', '3', 'ip_whitelist', 'ip白名单', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2913', '5', 'ip_control', 'ip管控', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2914', '6', 'http_url_title', 'url管控', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2915', '7', 'dns_control', 'dns管控', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2916', '8', 'http_control', 'http综合管控', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2917', '22', 'streaming_media', '流媒体协议管控', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2918', '24', 'av_voip_control', 'voip协议管控', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2919', '28', 'av_sample_audio_control', '音频样例管控', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2920', '29', 'av_sample_video_control', '视频样例管控', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2921', '30', 'av_sample_picture_control', '图片样例管控', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2922', '31', 'av_sample_voip_control', 'voip样例管控', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2923', '33', 'av_sample_video_porn_control', '视频色情场景管控', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2924', '34', 'ssl_control', 'ssl协议管控', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2925', '35', 'mail_multiple_control', '邮件综合管控', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2926', '37', 'mail_address', '邮件地址管控', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2927', '51', 'ftp_control', 'ftp管控', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2928', '52', 'file_digest_control', '文件摘要管控', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2929', '61', 'bgp_control', 'bgp协议管控', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2930', '62', 'xmpp_control', 'xmpp协议管控', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2931', '63', 'social_app_control', 'app策略管控', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2932', '200', 'ip_intercept', '代理ip拦截', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2933', '201', 'domain_intercept', '代理域名拦截', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2934', '207', 'http_block', '代理封堵', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2935', '208', 'http_reddirect', '代理重定向', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2936', '209', 'http_replace', '代理替换', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2937', '210', 'http_monit', '代理监测', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2938', '211', 'http_whitelist', '代理白名单', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2939', '212', 'ip_payload', '代理ip拦截替换', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2940', '300', 'snat_policy', '源地址转换策略', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2941', '301', 'target_ip_protect', 'ddos管控', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2942', '304', 'dnat_policy', '目的地址转换策略', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2943', '400', 'dns_res_strategy', '响应策略配置', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2944', '401', 'ip_spoofing_configuration', '欺骗ip配置', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2945', '402', 'app_http_config', '', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2946', '403', 'app_domain_config', '', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2947', '405', 'app_ip_config', '', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2948', '406', 'dnat_multiplex', 'dnat复用地址池', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2949', '407', 'basic_protocol', '基础协议管控', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2950', '408', 'encrypted_tunnel_behavior', '隧道行为管控', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2951', '510', 'p2p_control', 'P2P协议管控', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2952', '520', 'APP_SSL', '', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2953', '560', 'app_topic_domain_cfg', '', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2954', '561', 'APP_PAYLOAD', '', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2955', '562', 'APP_DNS', '', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2956', '570', 'intercept_file_strategy', '拦截证书策略', '0', '1', '1', '123'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2957', '633', 'snat_multiplex', 'SNAT地址池管理', '0', '1', '1', '123'); +#增加音视频配置规则量限制字典 +INSERT INTO `sys_data_dictionary_name` (`id`, `module_name`, `mark`, `remark`, `revision`, `create_time`, `modify_time`, `status`) VALUES ('125', '业务规则限制', 'SERVICE_RULE_LIMIT', '业务规则限制,code为serviceId,value为最大有效配置规则量(按compileId计算)', '', '2018-10-26 17:28:12', '2018-10-26 17:28:12', '1'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2960', '261', '10000', '', '0', '1', '1', '125'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2961', '389', '1000', '', '0', '1', '1', '125'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2962', '262', '10000', '', '0', '1', '1', '125'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2963', '390', '1000', '', '0', '1', '1', '125'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2964', '263', '1000', '', '0', '1', '1', '125'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2965', '391', '1000', '', '0', '1', '1', '125'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2966', '264', '1000', '', '0', '1', '1', '125'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('2967', '392', '1000', '', '0', '1', '1', '125'); diff --git a/src/main/resources/sql/20181026/create_cfg_operation_log_table.sql b/src/main/resources/sql/20181026/create_cfg_operation_log_table.sql new file mode 100644 index 000000000..15f1c4404 --- /dev/null +++ b/src/main/resources/sql/20181026/create_cfg_operation_log_table.sql @@ -0,0 +1,31 @@ +CREATE TABLE `sys_cfg_operation_log` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `type` int(2) NOT NULL DEFAULT 1 COMMENT '日志类型', + `title` varchar(255) NOT NULL COMMENT '日志标题', + `create_by` varchar(64) NOT NULL COMMENT '创建者', + `create_date` datetime NOT NULL COMMENT '创建时间', + `remote_addr` varchar(255) NOT NULL COMMENT '操作IP地址', + `user_agent` varchar(255) DEFAULT NULL COMMENT '用户代理', + `request_uri` varchar(255) NOT NULL COMMENT '请求URI', + `method` varchar(5) NOT NULL COMMENT '操作方式', + `state` int(2) NOT NULL DEFAULT 1 COMMENT '行为状态:1-成功 2-失败', + `consumer_time` int(11) DEFAULT 0 COMMENT '消费时间', + `params` text DEFAULT NULL COMMENT '操作提交的数据', + `exception` text DEFAULT NULL COMMENT '异常信息', + `compile_id` int(11) DEFAULT NULL, + `cfg_id` bigint(20) DEFAULT NULL, + `function_id` int(11) NOT NULL DEFAULT 0, + `method_name` varchar(128) DEFAULT NULL, + `audit_state` int(11) DEFAULT NULL, + `action` varchar(255) DEFAULT NULL, + `operation` varchar(64) DEFAULT NULL, + `function_name` varchar(255) DEFAULT '', + PRIMARY KEY (`id`), + KEY `sys_log_create_by` (`create_by`) USING BTREE, + KEY `sys_log_request_uri` (`request_uri`) USING BTREE, + KEY `sys_log_type` (`type`) USING BTREE, + KEY `sys_log_create_date` (`create_date`) USING BTREE, + KEY `sys_log_function_id` (`function_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='业务配置操作行为日志'; +#增加配置操作行为日志菜单 +INSERT INTO `sys_menu` (`id`, `parent_id`, `parent_ids`, `code`, `name`, `sort`, `href`, `target`, `icon`, `is_show`, `permission`, `create_by`, `create_date`, `update_by`, `update_date`, `remarks`, `del_flag`, `menu_bg`, `quick_action`, `is_top`, `function_id`) VALUES ('1150', '42', '0,1,2,42,', 'cfg_operation_log', '配置审计日志', '4431', '/sys/log/cfgOperationLogList', '', '', '1', 'sys:cfgOperationLog:view', '1', '2018-10-24 18:57:00', '1', '2018-10-24 18:57:00', '', '1', NULL, '0', '0', NULL); diff --git a/src/main/resources/sql/20181026/update_region_dict.sql b/src/main/resources/sql/20181026/update_region_dict.sql new file mode 100644 index 000000000..3bf3aaada --- /dev/null +++ b/src/main/resources/sql/20181026/update_region_dict.sql @@ -0,0 +1,2 @@ +#IPַȥip range +update function_region_dict set config_ip_pattern='1,3' where dict_id='35'; \ No newline at end of file diff --git a/src/main/resources/sql/20181026/update_service_dict.sql b/src/main/resources/sql/20181026/update_service_dict.sql new file mode 100644 index 000000000..534773693 --- /dev/null +++ b/src/main/resources/sql/20181026/update_service_dict.sql @@ -0,0 +1,2 @@ +#修改Proxy 控制策略中IP协议类型 +update function_region_dict set config_protocol='0,6,17' where dict_id in(84,90,96,105,101) \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/include/excel/importModal.jsp b/src/main/webapp/WEB-INF/include/excel/importModal.jsp index da45f0bd2..107e19abf 100644 --- a/src/main/webapp/WEB-INF/include/excel/importModal.jsp +++ b/src/main/webapp/WEB-INF/include/excel/importModal.jsp @@ -21,6 +21,7 @@ +
diff --git a/src/main/webapp/WEB-INF/include/form/multiHttpUrlModal.jsp b/src/main/webapp/WEB-INF/include/form/multiHttpUrlModal.jsp new file mode 100644 index 000000000..f72c6c8c1 --- /dev/null +++ b/src/main/webapp/WEB-INF/include/form/multiHttpUrlModal.jsp @@ -0,0 +1,423 @@ +<%@ page contentType="text/html;charset=UTF-8"%> +<%@ include file="/WEB-INF/include/taglib.jsp"%> + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/tags/sys/delRow.tag b/src/main/webapp/WEB-INF/tags/sys/delRow.tag index 3e1591fd8..133f26511 100644 --- a/src/main/webapp/WEB-INF/tags/sys/delRow.tag +++ b/src/main/webapp/WEB-INF/tags/sys/delRow.tag @@ -212,7 +212,8 @@ var checkboxes=$("#${id} ${value} tbody tr td input.i-checks:checkbox"); var requestName =requestNameArr[1]; if(requestName.indexOf("null")==-1&&typeof(indexTableName)!="undefined"&&indexTableName!=null&&indexTableName!=''&&indexTableName.indexOf("null")==-1){ - $.jBox.open("iframe:${ctx}/basics/serviceDictInfo/requestSelectInfo", "", 400, 400, { buttons: { '': 1, '': 0 }, + /****************************************** */ + $.jBox.open("iframe:${ctx}/basics/serviceDictInfo/requestSelectInfo", "",500, 400, { buttons: { '': 1, '': 0 }, submit: function (v, h, f) { if (v == 0) { return true; // close the window @@ -254,6 +255,12 @@ var checkboxes=$("#${id} ${value} tbody tr td input.i-checks:checkbox"); $(".jbox-content,top.document").css("width","90%") } }); + + + + + + /****************************************** */ }else{ // 防止有来函无表名的取消审核操作 top.$.jBox.confirm("","",function(v,h,f){ diff --git a/src/main/webapp/WEB-INF/tlds/fns.tld b/src/main/webapp/WEB-INF/tlds/fns.tld index 111c8e4d5..1df2c3f4f 100644 --- a/src/main/webapp/WEB-INF/tlds/fns.tld +++ b/src/main/webapp/WEB-INF/tlds/fns.tld @@ -211,6 +211,20 @@ java.util.List getDictList(java.lang.String) ${fns:getDictList(key)} + + 获取functionId下的service列表 + getFunctionServiceDictList + com.nis.util.DictUtils + java.util.List getFunctionServiceDictList(java.lang.Integer) + ${fns:getFunctionServiceDictList(key)} + + + 获取functionId下的region列表 + getFunctionRegionDictList + com.nis.util.DictUtils + java.util.List getFunctionRegionDictList(java.lang.Integer) + ${fns:getFunctionRegionDictList(key)} + 获取字典Map列表 @@ -369,5 +383,13 @@ java.util.List getCodeList(java.lang.String) ${fns:getCodeList(str)} + + + 根据compileId获取关键字 + getHttpBodyKeyword + com.nis.util.ConfigDictUtils + java.lang.String getHttpBodyKeyword(java.lang.Integer) + ${fns:getHttpBodyKeyword(compileId)} + diff --git a/src/main/webapp/WEB-INF/views/cfg/app/appDomainCfgList.jsp b/src/main/webapp/WEB-INF/views/cfg/app/appDomainCfgList.jsp index 0d38d7ad7..8c08f738a 100644 --- a/src/main/webapp/WEB-INF/views/cfg/app/appDomainCfgList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/app/appDomainCfgList.jsp @@ -292,8 +292,9 @@ --%> - + + <%-- --%> @@ -408,11 +409,6 @@ ${fns:abbr(lableInfo,20)} --%> - - - - - @@ -421,6 +417,12 @@ + + + + + + <%--
--%> ${cfg.creatorName } diff --git a/src/main/webapp/WEB-INF/views/cfg/app/appHttpCfgList.jsp b/src/main/webapp/WEB-INF/views/cfg/app/appHttpCfgList.jsp index 994c238da..9a4143833 100644 --- a/src/main/webapp/WEB-INF/views/cfg/app/appHttpCfgList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/app/appHttpCfgList.jsp @@ -294,8 +294,8 @@ --%> - + <%-- --%> @@ -416,11 +416,6 @@ ${fns:abbr(lableInfo,20)} --%> - - - - - @@ -429,6 +424,11 @@ + + + + + <%--
--%> ${cfg.creatorName } diff --git a/src/main/webapp/WEB-INF/views/cfg/app/appIpCfgList.jsp b/src/main/webapp/WEB-INF/views/cfg/app/appIpCfgList.jsp index 38b2c911e..e477e4a14 100644 --- a/src/main/webapp/WEB-INF/views/cfg/app/appIpCfgList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/app/appIpCfgList.jsp @@ -298,8 +298,8 @@ --%> - + <%-- --%> @@ -406,11 +406,6 @@ ${fns:abbr(lableInfo,20)} --%> - - - - - @@ -419,6 +414,11 @@ + + + + + <%--
--%> ${cfg.creatorName } diff --git a/src/main/webapp/WEB-INF/views/cfg/app/appMultiFeatureCfgList.jsp b/src/main/webapp/WEB-INF/views/cfg/app/appMultiFeatureCfgList.jsp index fe3f2a0ee..6258a8be6 100644 --- a/src/main/webapp/WEB-INF/views/cfg/app/appMultiFeatureCfgList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/app/appMultiFeatureCfgList.jsp @@ -332,8 +332,8 @@ + - <%-- --%> @@ -354,11 +354,6 @@ ${cfg.cfgDesc } ${cfg.appName } - - - - - @@ -366,6 +361,11 @@ + + + + + <%--
--%> ${cfg.creatorName } 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 9f4b44329..12d8e7459 100644 --- a/src/main/webapp/WEB-INF/views/cfg/app/appPolicyCfgList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/app/appPolicyCfgList.jsp @@ -357,19 +357,19 @@ - - <%-- --%> + + + + + - - - @@ -387,16 +387,34 @@ ${cfg.compileId } ${cfg.cfgDesc } - ${cfg.appCode } - ${cfg.behavCode } - <%-- ${cfg.ratelimit } --%> - + + ${cfg.appCode } + ${cfg.behavCode } + <%-- ${cfg.ratelimit } --%> + + + + + + + + + + + + + + + + + +
@@ -464,29 +482,12 @@ ${fns:abbr(lableInfo,20)} - - - - - - - + - - - - - - - - - - -
${cfg.creatorName } ${cfg.editorName } diff --git a/src/main/webapp/WEB-INF/views/cfg/app/appSslCfgList.jsp b/src/main/webapp/WEB-INF/views/cfg/app/appSslCfgList.jsp index b18afb2f9..a91737a04 100644 --- a/src/main/webapp/WEB-INF/views/cfg/app/appSslCfgList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/app/appSslCfgList.jsp @@ -293,8 +293,8 @@ --%> - + <%-- --%> @@ -415,11 +415,6 @@ ${fns:abbr(lableInfo,20)} --%> - - - - - @@ -428,6 +423,11 @@ + + + + + <%--
--%> ${cfg.creatorName } diff --git a/src/main/webapp/WEB-INF/views/cfg/app/appTopicDomainCfgList.jsp b/src/main/webapp/WEB-INF/views/cfg/app/appTopicDomainCfgList.jsp index 86b07b4c3..dd73e49b3 100644 --- a/src/main/webapp/WEB-INF/views/cfg/app/appTopicDomainCfgList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/app/appTopicDomainCfgList.jsp @@ -291,8 +291,8 @@ --%> - + <%-- --%> @@ -425,11 +425,6 @@ ${fns:abbr(lableInfo,20)} --%> - - - - - @@ -438,6 +433,11 @@ + + + + + <%--
--%> ${cfg.creatorName } diff --git a/src/main/webapp/WEB-INF/views/cfg/av/contUrl/contUrlForm.jsp b/src/main/webapp/WEB-INF/views/cfg/av/contUrl/contUrlForm.jsp index 4208a7888..2449fe96a 100644 --- a/src/main/webapp/WEB-INF/views/cfg/av/contUrl/contUrlForm.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/av/contUrl/contUrlForm.jsp @@ -146,7 +146,7 @@

- +
diff --git a/src/main/webapp/WEB-INF/views/cfg/av/contUrl/contUrlList.jsp b/src/main/webapp/WEB-INF/views/cfg/av/contUrl/contUrlList.jsp index fc6113365..07dd033a1 100644 --- a/src/main/webapp/WEB-INF/views/cfg/av/contUrl/contUrlList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/av/contUrl/contUrlList.jsp @@ -364,15 +364,15 @@ + + - - @@ -397,6 +397,16 @@ + + + + + + + + + + @@ -404,6 +414,7 @@ +
@@ -475,17 +486,6 @@ - - - - - - - - - - -
${indexCfg.creatorName } ${indexCfg.editorName } diff --git a/src/main/webapp/WEB-INF/views/cfg/av/fileSampleForm.jsp b/src/main/webapp/WEB-INF/views/cfg/av/fileSampleForm.jsp index 7affa9247..c77fe8473 100644 --- a/src/main/webapp/WEB-INF/views/cfg/av/fileSampleForm.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/av/fileSampleForm.jsp @@ -153,8 +153,15 @@ $(function(){ } } loading('onloading...'); - form.submit(); - + //如果是新增配置,则校验是否配置量已达上限 + var flag = true; + if($("input[name='cfgId']").val()==""){ + var serviceId = $("#serviceId").val(); + flag = validateEffectiveRuleLimit("${ctx}",serviceId); + } + if(flag){ + form.submit(); + } }, errorContainer: "#messageBox", errorPlacement: function(error,element){ diff --git a/src/main/webapp/WEB-INF/views/cfg/av/fileSampleList.jsp b/src/main/webapp/WEB-INF/views/cfg/av/fileSampleList.jsp index 21972f85c..21d054137 100644 --- a/src/main/webapp/WEB-INF/views/cfg/av/fileSampleList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/av/fileSampleList.jsp @@ -285,18 +285,18 @@ + <%-- --%> - + + - - @@ -312,6 +312,13 @@ ${cfg.compileId } ${cfg.cfgDesc } + + + + + + + @@ -324,15 +331,22 @@ ${fn:substring(cfg.sampleUrl,0,20) } - - - - - - - + ${cfg.level } + + + + + + + + + +
+ + ${cfg.requestName } + @@ -397,16 +411,6 @@ - - - - - - - - - -
${cfg.creatorName } ${cfg.editorName } diff --git a/src/main/webapp/WEB-INF/views/cfg/av/voip/voipList.jsp b/src/main/webapp/WEB-INF/views/cfg/av/voip/voipList.jsp index 34c2d3156..f0630c828 100644 --- a/src/main/webapp/WEB-INF/views/cfg/av/voip/voipList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/av/voip/voipList.jsp @@ -364,15 +364,15 @@ + + - - @@ -397,6 +397,15 @@
+ + + + + + + + + @@ -404,6 +413,7 @@ +
@@ -475,16 +485,6 @@ - - - - - - - - - -
${indexCfg.creatorName } ${indexCfg.editorName } 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 7983c81a2..ee93f5e1b 100644 --- a/src/main/webapp/WEB-INF/views/cfg/basicprotocol/list.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/basicprotocol/list.jsp @@ -362,19 +362,19 @@ - <%-- --%> <%-- --%> + + + - - @@ -392,16 +392,26 @@ ${cfg.compileId } ${cfg.cfgDesc } - ${cfg.appCode } - <%--${cfg.behavCode }--%> - <%-- ${cfg.ratelimit } --%> - + + ${cfg.appCode } + <%--${cfg.behavCode }--%> + <%-- ${cfg.ratelimit } --%> + + + + + + + + + + @@ -409,6 +419,7 @@ +
@@ -481,16 +492,6 @@ - - - - - - - - - -
${cfg.creatorName } ${cfg.editorName } diff --git a/src/main/webapp/WEB-INF/views/cfg/ddosIpCfgList.jsp b/src/main/webapp/WEB-INF/views/cfg/ddosIpCfgList.jsp index 0360ac543..cc48e619c 100644 --- a/src/main/webapp/WEB-INF/views/cfg/ddosIpCfgList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/ddosIpCfgList.jsp @@ -297,6 +297,7 @@ <%-- --%> + <%-- --%> @@ -306,18 +307,19 @@ - - + + + + + - - @@ -333,6 +335,13 @@ ${cfg.compileId } ${cfg.cfgDesc } + + + + + + + @@ -362,13 +371,18 @@ + ${cfg.antiddosProtocol } + ${cfg.bpsThreadshold } + ${cfg.ppsThreadshold } - - - - - + + + + + + + @@ -377,9 +391,6 @@ - ${cfg.antiddosProtocol } - ${cfg.bpsThreadshold } - ${cfg.ppsThreadshold } ${cfg.requestName } @@ -444,14 +455,6 @@ - - - - - - - -
${cfg.creatorName } diff --git a/src/main/webapp/WEB-INF/views/cfg/dnsIpCfgList.jsp b/src/main/webapp/WEB-INF/views/cfg/dnsIpCfgList.jsp index d555bf9c6..9aeb430bc 100644 --- a/src/main/webapp/WEB-INF/views/cfg/dnsIpCfgList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/dnsIpCfgList.jsp @@ -292,19 +292,19 @@ <%-- --%> + <%-- --%> <%-- --%> - + - <%-- --%> @@ -321,6 +321,13 @@ ${cfg.compileId } ${cfg.cfgDesc } + + + + + + + ${cfg.dnsStrategyName } @@ -344,11 +351,12 @@ --%> - - - - - + + + + + + ${cfg.requestName } @@ -414,14 +422,6 @@ - - - - - - - - <%--
--%> ${cfg.creatorName } 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 5b759fbe3..2b1ec9a5b 100644 --- a/src/main/webapp/WEB-INF/views/cfg/encryptedtunnelbehav/list.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/encryptedtunnelbehav/list.jsp @@ -359,19 +359,19 @@ + <%-- --%> - + + - - @@ -389,16 +389,24 @@ ${cfg.compileId } ${cfg.cfgDesc } - ${cfg.appCode } - ${cfg.behavCode } - <%-- ${cfg.ratelimit } --%> - + + ${cfg.appCode } + ${cfg.behavCode } + + + + + + + + + <%-- ${cfg.ratelimit } --%> @@ -406,6 +414,7 @@ +
@@ -478,15 +487,7 @@ - - - - - - - - -
+ ${cfg.creatorName } ${cfg.editorName } diff --git a/src/main/webapp/WEB-INF/views/cfg/fileTransfer/fileDigestList.jsp b/src/main/webapp/WEB-INF/views/cfg/fileTransfer/fileDigestList.jsp index 93923c315..93e7ba11e 100644 --- a/src/main/webapp/WEB-INF/views/cfg/fileTransfer/fileDigestList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/fileTransfer/fileDigestList.jsp @@ -323,11 +323,12 @@ + - + @@ -335,7 +336,7 @@ <%-- --%> - + <%-- --%> @@ -354,6 +355,13 @@ ${indexCfg.compileId } ${indexCfg.cfgDesc } + + + + + + + @@ -369,11 +377,12 @@ - - - - - + + + + + + @@ -454,14 +463,6 @@ - - - - - - - - <%--
--%> ${indexCfg.creatorName } diff --git a/src/main/webapp/WEB-INF/views/cfg/fileTransfer/ftpList.jsp b/src/main/webapp/WEB-INF/views/cfg/fileTransfer/ftpList.jsp index 792015d23..30fd8c400 100644 --- a/src/main/webapp/WEB-INF/views/cfg/fileTransfer/ftpList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/fileTransfer/ftpList.jsp @@ -332,15 +332,15 @@ + + - - @@ -365,6 +365,14 @@
+ + + + + + + + @@ -372,6 +380,7 @@ +
@@ -444,15 +453,7 @@ - - - - - - - - -
+ ${indexCfg.creatorName } ${indexCfg.editorName } diff --git a/src/main/webapp/WEB-INF/views/cfg/fileTransfer/p2pList.jsp b/src/main/webapp/WEB-INF/views/cfg/fileTransfer/p2pList.jsp index dbb3fea6d..812de1515 100644 --- a/src/main/webapp/WEB-INF/views/cfg/fileTransfer/p2pList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/fileTransfer/p2pList.jsp @@ -337,15 +337,15 @@ + + - - @@ -370,6 +370,14 @@
+ + + + + + + + @@ -377,6 +385,7 @@ +
@@ -449,15 +458,6 @@ - - - - - - - - -
${indexCfg.creatorName } ${indexCfg.editorName } 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 3b2d4f4fe..aa0e094f7 100644 --- a/src/main/webapp/WEB-INF/views/cfg/intercept/interceptList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/intercept/interceptList.jsp @@ -349,8 +349,8 @@ - - + + <%-- --%> @@ -363,7 +363,7 @@ - + <%-- --%> @@ -371,7 +371,6 @@ - <%-- --%> @@ -390,7 +389,15 @@ ${indexCfg.compileId } ${indexCfg.cfgDesc } - + + + + + + + + + @@ -437,12 +444,13 @@ - - - - - - + + + + + + + <%-- @@ -523,14 +531,6 @@ - - - - - - - - <%--
--%> ${indexCfg.creatorName } diff --git a/src/main/webapp/WEB-INF/views/cfg/ipaddr/ipList.jsp b/src/main/webapp/WEB-INF/views/cfg/ipaddr/ipList.jsp index 9a52fa3fe..c359249e2 100644 --- a/src/main/webapp/WEB-INF/views/cfg/ipaddr/ipList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/ipaddr/ipList.jsp @@ -341,15 +341,15 @@ + + - - @@ -381,6 +381,16 @@
+ + + + + + + + + + @@ -388,6 +398,7 @@ +
@@ -460,17 +471,6 @@ - - - - - - - - - - -
${indexCfg.creatorName } ${indexCfg.editorName } diff --git a/src/main/webapp/WEB-INF/views/cfg/ipaddr/ipSubList.jsp b/src/main/webapp/WEB-INF/views/cfg/ipaddr/ipSubList.jsp index 6147625e9..c3e5b2586 100644 --- a/src/main/webapp/WEB-INF/views/cfg/ipaddr/ipSubList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/ipaddr/ipSubList.jsp @@ -233,7 +233,7 @@
- + diff --git a/src/main/webapp/WEB-INF/views/cfg/mail/mailList.jsp b/src/main/webapp/WEB-INF/views/cfg/mail/mailList.jsp index 3fa2cb5b1..2ea07ff7a 100644 --- a/src/main/webapp/WEB-INF/views/cfg/mail/mailList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/mail/mailList.jsp @@ -343,15 +343,15 @@ + + - - @@ -376,6 +376,15 @@ + + + + + + + + + @@ -383,6 +392,7 @@ +
@@ -455,15 +465,6 @@ - - - - - - - - -
${indexCfg.creatorName } ${indexCfg.editorName } diff --git a/src/main/webapp/WEB-INF/views/cfg/maintenance/dnsResStrategy/list.jsp b/src/main/webapp/WEB-INF/views/cfg/maintenance/dnsResStrategy/list.jsp index 9703d5a68..8d140d821 100644 --- a/src/main/webapp/WEB-INF/views/cfg/maintenance/dnsResStrategy/list.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/maintenance/dnsResStrategy/list.jsp @@ -278,10 +278,11 @@ <%-- --%> + - + @@ -311,6 +312,13 @@ ${fns:abbr(cfg.cfgDesc,20)} + + + + + + + @@ -319,13 +327,7 @@ ${cfg.resGroup1Num } ${cfg.minTtl }-${cfg.maxTtl } - - - - - - - + diff --git a/src/main/webapp/WEB-INF/views/cfg/maintenance/ipMultiplexPool/list.jsp b/src/main/webapp/WEB-INF/views/cfg/maintenance/ipMultiplexPool/list.jsp index 609d36043..cfb2d4737 100644 --- a/src/main/webapp/WEB-INF/views/cfg/maintenance/ipMultiplexPool/list.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/maintenance/ipMultiplexPool/list.jsp @@ -276,6 +276,7 @@ <%-- --%> + @@ -283,13 +284,12 @@ <%-- --%> - + - @@ -310,6 +310,13 @@ ${fns:abbr(cfg.cfgDesc,20)} + + + + + + + @@ -339,11 +346,12 @@ --%> - - - - - + + + + + + ${cfg.requestName } @@ -409,14 +417,6 @@ - - - - - - - - ${cfg.creatorName } ${cfg.editorName } diff --git a/src/main/webapp/WEB-INF/views/cfg/maintenance/ipMultiplexPool/snatlist.jsp b/src/main/webapp/WEB-INF/views/cfg/maintenance/ipMultiplexPool/snatlist.jsp index e37260519..ab8c78e51 100644 --- a/src/main/webapp/WEB-INF/views/cfg/maintenance/ipMultiplexPool/snatlist.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/maintenance/ipMultiplexPool/snatlist.jsp @@ -278,6 +278,7 @@ <%-- --%> + @@ -286,7 +287,7 @@ --%> <%-- --%> - + @@ -313,6 +314,13 @@ ${fns:abbr(cfg.cfgDesc,20)} + + + + + + + @@ -352,13 +360,6 @@ --%> - - - - - - - diff --git a/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/dnatPolicyList.jsp b/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/dnatPolicyList.jsp index 800572a58..015828481 100644 --- a/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/dnatPolicyList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/dnatPolicyList.jsp @@ -279,6 +279,7 @@ + <%-- --%> <%-- --%> @@ -286,7 +287,6 @@ - <%-- --%> @@ -340,6 +340,14 @@
--%> + + + + + + + + ${indexCfg.requestName } @@ -404,14 +412,6 @@ - - - - - - - - <%--
--%> ${indexCfg.creatorName } diff --git a/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/snatPolicyList.jsp b/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/snatPolicyList.jsp index d5108399a..51caf9951 100644 --- a/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/snatPolicyList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/snatPolicyList.jsp @@ -277,6 +277,7 @@ + <%-- --%> <%-- --%> @@ -284,7 +285,7 @@ - + <%-- --%> @@ -334,6 +335,14 @@ --%> + + + + + + + + ${indexCfg.requestName } @@ -398,14 +407,6 @@ - - - - - - - - <%--
--%> ${indexCfg.creatorName } diff --git a/src/main/webapp/WEB-INF/views/cfg/other/bgpList.jsp b/src/main/webapp/WEB-INF/views/cfg/other/bgpList.jsp index 55d1bb995..4085d4b0d 100644 --- a/src/main/webapp/WEB-INF/views/cfg/other/bgpList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/other/bgpList.jsp @@ -344,15 +344,15 @@ + + - - @@ -377,6 +377,14 @@ + + + + + + + + @@ -384,6 +392,7 @@ +
@@ -456,15 +465,7 @@ - - - - - - - - -
+ ${indexCfg.creatorName } ${indexCfg.editorName } diff --git a/src/main/webapp/WEB-INF/views/cfg/proxy/control/httpRedirectList.jsp b/src/main/webapp/WEB-INF/views/cfg/proxy/control/httpRedirectList.jsp index f406e22da..86c6370cb 100644 --- a/src/main/webapp/WEB-INF/views/cfg/proxy/control/httpRedirectList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/proxy/control/httpRedirectList.jsp @@ -531,19 +531,19 @@
+ + + + - - - - @@ -622,6 +622,15 @@ ${fns:abbr(indexCfg.userRegion2,20)} ${fns:abbr(indexCfg.userRegion3,20)} + + + + + + + + + @@ -631,6 +640,9 @@ + +
+
@@ -703,17 +715,6 @@ - - - - - - - - - -
-
${indexCfg.creatorName } ${indexCfg.editorName } diff --git a/src/main/webapp/WEB-INF/views/cfg/website/dnsList.jsp b/src/main/webapp/WEB-INF/views/cfg/website/dnsList.jsp index cfe76675b..f2509bc73 100644 --- a/src/main/webapp/WEB-INF/views/cfg/website/dnsList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/website/dnsList.jsp @@ -341,17 +341,17 @@ + - + + - - @@ -369,17 +369,25 @@ ${indexCfg.compileId } ${indexCfg.cfgDesc } + + + + + + + ${indexCfg.dnsStrategyName } - - - - - + + + + + + @@ -388,6 +396,7 @@
+
@@ -460,15 +469,6 @@ - - - - - - - - -
${indexCfg.creatorName } ${indexCfg.editorName } diff --git a/src/main/webapp/WEB-INF/views/cfg/website/httpForm.jsp b/src/main/webapp/WEB-INF/views/cfg/website/httpForm.jsp index 3d8a34954..c0112674f 100644 --- a/src/main/webapp/WEB-INF/views/cfg/website/httpForm.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/website/httpForm.jsp @@ -38,6 +38,7 @@ "disabled"); } }else{ + $(".glyphicon-plus").first().click(); $(".httpResCfg").addClass("hidden").addClass("disabled"); $(".httpReqCfg").removeClass("hidden").removeClass( "disabled"); diff --git a/src/main/webapp/WEB-INF/views/cfg/website/sslList.jsp b/src/main/webapp/WEB-INF/views/cfg/website/sslList.jsp index 7f9117281..d350083a2 100644 --- a/src/main/webapp/WEB-INF/views/cfg/website/sslList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/website/sslList.jsp @@ -324,15 +324,15 @@ + + - - @@ -357,6 +357,14 @@
+ + + + + + + + @@ -364,6 +372,7 @@ +
@@ -436,15 +445,6 @@ - - - - - - - - -
${indexCfg.creatorName } ${indexCfg.editorName } diff --git a/src/main/webapp/WEB-INF/views/cfg/whitelist/domainForm.jsp b/src/main/webapp/WEB-INF/views/cfg/whitelist/domainForm.jsp index f1d01757a..4746eea48 100644 --- a/src/main/webapp/WEB-INF/views/cfg/whitelist/domainForm.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/whitelist/domainForm.jsp @@ -148,6 +148,8 @@ +
@@ -247,6 +249,7 @@ +
<%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%>
diff --git a/src/main/webapp/WEB-INF/views/cfg/whitelist/ipList.jsp b/src/main/webapp/WEB-INF/views/cfg/whitelist/ipList.jsp index b4f59f3a6..e238d34e5 100644 --- a/src/main/webapp/WEB-INF/views/cfg/whitelist/ipList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/whitelist/ipList.jsp @@ -330,8 +330,9 @@ --%> - + + <%-- --%> @@ -431,11 +432,6 @@ ${fns:abbr(lableInfo,20)} --%> - - - - - @@ -444,6 +440,11 @@ + + + + + <%--
--%> ${indexCfg.creatorName } diff --git a/src/main/webapp/WEB-INF/views/log/ntc/httpList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/httpList.jsp index 907c52bb0..37e026999 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/httpList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/httpList.jsp @@ -20,6 +20,7 @@ .attr("value",''); $("#searchForm")[0].reset(); }); + //筛选功能 filterActionInit(); }); diff --git a/src/main/webapp/WEB-INF/views/sys/cfgOperationLogList.jsp b/src/main/webapp/WEB-INF/views/sys/cfgOperationLogList.jsp new file mode 100644 index 000000000..34bbe8b41 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/sys/cfgOperationLogList.jsp @@ -0,0 +1,149 @@ +<%@ page contentType="text/html;charset=UTF-8"%> +<%@ include file="/WEB-INF/include/taglib.jsp"%> + + +配置审计日志 + + + + <%-- --%> +
+

+ +

+ +
+
+
+
+
+ + + +
+
+ + +
+
+ +
+
+ + +
+
+ " + onclick="WdatePicker({dateFmt:'yyyy-MM-dd',isShowClear:false});" /> +
+
+ " + onclick="WdatePicker({dateFmt:'yyyy-MM-dd',isShowClear:false});" /> +
+
+ + <%-- --%> + +
+
+
+
+ +
+ + + + + + + + + + + + <% + request.setAttribute("strEnter", "\n"); + request.setAttribute("strTab", "\t"); + %> + + + + + + + + + + + + + + + + +
+ + + - + + + + + + + + + ${log.method} + ${log.remoteAddr}${log.createBy}
+ <%-- 用户代理: ${log.userAgent}
--%> <%-- 提交参数: ${fns:escapeHtml(log.params)}
--%> +
+ ${fn:replace(fn:replace(fns:escapeHtml(log.exception), strEnter, '
'), strTab, '    ')} +
+
${page}
+
+
+
+
+
+
+ + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/sys/logList.jsp b/src/main/webapp/WEB-INF/views/sys/logList.jsp index 372aa3a46..af8df2a36 100644 --- a/src/main/webapp/WEB-INF/views/sys/logList.jsp +++ b/src/main/webapp/WEB-INF/views/sys/logList.jsp @@ -26,73 +26,56 @@
- + -
-
-
-
+
+
-
-
-
+
-
-
-
+
-
-
-
+
" onclick="WdatePicker({dateFmt:'yyyy-MM-dd',isShowClear:false});" /> -
-
-
+
" onclick="WdatePicker({dateFmt:'yyyy-MM-dd',isShowClear:false});" />
-
-
-
- +
+ -
-
+ +
- +
diff --git a/src/main/webapp/static/global/plugins/jquery-validation/1.11.0/jquery.validate.method.js b/src/main/webapp/static/global/plugins/jquery-validation/1.11.0/jquery.validate.method.js index e372daf00..d5a00a9ef 100644 --- a/src/main/webapp/static/global/plugins/jquery-validation/1.11.0/jquery.validate.method.js +++ b/src/main/webapp/static/global/plugins/jquery-validation/1.11.0/jquery.validate.method.js @@ -341,7 +341,7 @@ jQuery.validator.addMethod("ipCheck",function(value, element) { if((startPart0<128&&startPart1<128)||(startPart0>127&&startPart1>127&&startPart0<192&&startPart1<192) ||(startPart0>191&&startPart1>191&&startPart0<224&&startPart1<224) ||(startPart0>223&&startPart1>223&&startPart0<240&&startPart1<240) - ||(startPart0>239&&startPart1>239&&startPart0<256&&startPart1<256)){//仅允许C段IP + ||(startPart0>239&&startPart1>239&&startPart0<256&&startPart1<256)){//仅允许同段IP if(ipToNumber(startIp)<=ipToNumber(endIp)){//比较IP大小 if((startIp.split(".")[0]!=endIp.split(".")[0])|| (startIp.split(".")[1]!=endIp.split(".")[1])|| @@ -465,7 +465,7 @@ jQuery.validator.addMethod("ipCheck",function(value, element) { if((startPart0<128&&startPart1<128)||(startPart0>127&&startPart1>127&&startPart0<192&&startPart1<192) ||(startPart0>191&&startPart1>191&&startPart0<224&&startPart1<224) ||(startPart0>223&&startPart1>223&&startPart0<240&&startPart1<240) - ||(startPart0>239&&startPart1>239&&startPart0<256&&startPart1<256)){//仅允许C段IP + ||(startPart0>239&&startPart1>239&&startPart0<256&&startPart1<256)){//仅允许同段IP if(ipToNumber(startIp)<=ipToNumber(endIp)){//比较IP大小 if((startIp.split(".")[0]!=endIp.split(".")[0])|| (startIp.split(".")[1]!=endIp.split(".")[1])|| @@ -636,7 +636,7 @@ jQuery.validator.addMethod("ipCheck",function(value, element) { if((startPart0<128&&startPart1<128)||(startPart0>127&&startPart1>127&&startPart0<192&&startPart1<192) ||(startPart0>191&&startPart1>191&&startPart0<224&&startPart1<224) ||(startPart0>223&&startPart1>223&&startPart0<240&&startPart1<240) - ||(startPart0>239&&startPart1>239&&startPart0<256&&startPart1<256)){//仅允许C段IP + ||(startPart0>239&&startPart1>239&&startPart0<256&&startPart1<256)){//仅允许同段IP if(ipToNumber(startIp)<=ipToNumber(endIp)){//比较IP大小 if((startIp.split(".")[0]!=endIp.split(".")[0])|| (startIp.split(".")[1]!=endIp.split(".")[1])|| @@ -692,7 +692,7 @@ jQuery.validator.addMethod("ipCheck",function(value, element) { if((startPart0<128&&startPart1<128)||(startPart0>127&&startPart1>127&&startPart0<192&&startPart1<192) ||(startPart0>191&&startPart1>191&&startPart0<224&&startPart1<224) ||(startPart0>223&&startPart1>223&&startPart0<240&&startPart1<240) - ||(startPart0>239&&startPart1>239&&startPart0<256&&startPart1<256)){//仅允许C段IP + ||(startPart0>239&&startPart1>239&&startPart0<256&&startPart1<256)){//仅允许同段IP if(ipToNumber(startIp)<=ipToNumber(endIp)){//比较IP大小 if((startIp.split(".")[0]!=endIp.split(".")[0])|| (startIp.split(".")[1]!=endIp.split(".")[1])|| diff --git a/src/main/webapp/static/global/plugins/jquery-validation/1.11.0/localization/messages_en.js b/src/main/webapp/static/global/plugins/jquery-validation/1.11.0/localization/messages_en.js index 6aa911646..dbe5c6adb 100644 --- a/src/main/webapp/static/global/plugins/jquery-validation/1.11.0/localization/messages_en.js +++ b/src/main/webapp/static/global/plugins/jquery-validation/1.11.0/localization/messages_en.js @@ -74,7 +74,7 @@ log_1_hour:"Log For The Last Hour", input:"Please Enter ", protocolPort:"TCP protocol or UDP protocol must be chosen when port is greater than 0", - protocolPort1:"Only when TCP protocol or UDP protocol is chosen can port greater than 0,ALL protocol has no limit", + protocolPort1:"Only when TCP protocol or UDP protocol is chosen can port greater than 0", netAddress:"The class C type of IP addresses must has the same network number bit field", ipUnique:"IP already exists.", asnNoUnique:"ASN already exists." diff --git a/src/main/webapp/static/global/plugins/jquery-validation/1.11.0/localization/messages_ru.js b/src/main/webapp/static/global/plugins/jquery-validation/1.11.0/localization/messages_ru.js index 7ec380d5f..f00c76e82 100644 --- a/src/main/webapp/static/global/plugins/jquery-validation/1.11.0/localization/messages_ru.js +++ b/src/main/webapp/static/global/plugins/jquery-validation/1.11.0/localization/messages_ru.js @@ -74,7 +74,7 @@ log_1_hour:"Log For The Last Hour", input:"Please Enter ", protocolPort:"TCP protocol or UDP protocol must be chosen when port is greater than 0", - protocolPort1:"Only when TCP protocol or UDP protocol is chosen can port greater than 0,ALL protocol has no limit", + protocolPort1:"Only when TCP protocol or UDP protocol is chosen can port greater than 0", netAddress:"C类IP地址网络位必须相同", ipUnique:"IP already exists." }); diff --git a/src/main/webapp/static/global/plugins/jquery-validation/1.11.0/localization/messages_zh.js b/src/main/webapp/static/global/plugins/jquery-validation/1.11.0/localization/messages_zh.js index 9c96f7146..e76e7b98d 100644 --- a/src/main/webapp/static/global/plugins/jquery-validation/1.11.0/localization/messages_zh.js +++ b/src/main/webapp/static/global/plugins/jquery-validation/1.11.0/localization/messages_zh.js @@ -74,7 +74,7 @@ log_1_hour:"1小时日志量", input:"请输入 ", protocolPort:"端口大于0时必须选择TCP协议或者UDP协议", - protocolPort1:"只有tcp,udp协议端口号可以不为0,全部协议无限制", + protocolPort1:"只有tcp,udp协议端口号可以不为0", netAddress:"C类IP地址网络位必须相同", ipUnique:"IP已存在", asnNoUnique:"ASN号已存在",