diff --git a/src/main/java/com/nis/domain/configuration/IpPortCfg.java b/src/main/java/com/nis/domain/configuration/IpPortCfg.java index 1b5684027..47cabb63c 100644 --- a/src/main/java/com/nis/domain/configuration/IpPortCfg.java +++ b/src/main/java/com/nis/domain/configuration/IpPortCfg.java @@ -25,7 +25,31 @@ public class IpPortCfg extends BaseIpCfg { */ private static final long serialVersionUID = 4664942095843594575L; + //仅用作导入时copy属性 + private String antiddosProtocol; + //仅用作导入时copy属性 + private Long bpsThreadshold; + //仅用作导入时copy属性 + private Long ppsThreadshold; + public String getAntiddosProtocol() { + return antiddosProtocol; + } + public void setAntiddosProtocol(String antiddosProtocol) { + this.antiddosProtocol = antiddosProtocol; + } + public Long getBpsThreadshold() { + return bpsThreadshold; + } + public void setBpsThreadshold(Long bpsThreadshold) { + this.bpsThreadshold = bpsThreadshold; + } + public Long getPpsThreadshold() { + return ppsThreadshold; + } + public void setPpsThreadshold(Long ppsThreadshold) { + this.ppsThreadshold = ppsThreadshold; + } /* (non-Javadoc) * @see com.nis.domain.configuration.BaseIpCfg#initDefaultValue() */ diff --git a/src/main/java/com/nis/domain/configuration/template/DdosIpTemplate.java b/src/main/java/com/nis/domain/configuration/template/DdosIpTemplate.java new file mode 100644 index 000000000..cd7167df6 --- /dev/null +++ b/src/main/java/com/nis/domain/configuration/template/DdosIpTemplate.java @@ -0,0 +1,31 @@ +package com.nis.domain.configuration.template; + +import com.nis.util.excel.ExcelField; + +public class DdosIpTemplate extends IpAllTemplate { + private String antiddosProtocol; + private Long bpsThreadshold; + private Long ppsThreadshold; + @ExcelField(title="antiddos_protocol",align=2,sort=2) + public String getAntiddosProtocol() { + return antiddosProtocol; + } + public void setAntiddosProtocol(String antiddosProtocol) { + this.antiddosProtocol = antiddosProtocol; + } + @ExcelField(title="bps_threadshold",align=2,sort=3) + public Long getBpsThreadshold() { + return bpsThreadshold; + } + public void setBpsThreadshold(Long bpsThreadshold) { + this.bpsThreadshold = bpsThreadshold; + } + @ExcelField(title="pps_threadshold",align=2,sort=4) + public Long getPpsThreadshold() { + return ppsThreadshold; + } + public void setPpsThreadshold(Long ppsThreadshold) { + this.ppsThreadshold = ppsThreadshold; + } + +} diff --git a/src/main/java/com/nis/domain/configuration/template/IpAddrTemplate.java b/src/main/java/com/nis/domain/configuration/template/IpAddrTemplate.java index 91417546c..148755b30 100644 --- a/src/main/java/com/nis/domain/configuration/template/IpAddrTemplate.java +++ b/src/main/java/com/nis/domain/configuration/template/IpAddrTemplate.java @@ -6,6 +6,7 @@ package com.nis.domain.configuration.template; * @author dell * */ +@Deprecated public class IpAddrTemplate extends IpCfgTemplate { diff --git a/src/main/java/com/nis/domain/configuration/template/IpCfgTemplate.java b/src/main/java/com/nis/domain/configuration/template/IpCfgTemplate.java index dd08bbfe9..06b94dfe2 100644 --- a/src/main/java/com/nis/domain/configuration/template/IpCfgTemplate.java +++ b/src/main/java/com/nis/domain/configuration/template/IpCfgTemplate.java @@ -13,6 +13,7 @@ import com.nis.util.excel.ExcelField; /** * @Description: excel导入IP类配置 */ +@Deprecated public class IpCfgTemplate { /** diff --git a/src/main/java/com/nis/domain/configuration/template/IpMultiplexPolicyTemplate.java b/src/main/java/com/nis/domain/configuration/template/IpMultiplexPolicyTemplate.java index 06e489d15..543019390 100644 --- a/src/main/java/com/nis/domain/configuration/template/IpMultiplexPolicyTemplate.java +++ b/src/main/java/com/nis/domain/configuration/template/IpMultiplexPolicyTemplate.java @@ -7,6 +7,7 @@ import com.nis.util.excel.ExcelField; * @author dell * */ +@Deprecated public class IpMultiplexPolicyTemplate extends IpCfgTemplate { @Override @ExcelField(title="IP",align=2,sort=3) diff --git a/src/main/java/com/nis/domain/configuration/template/IpsecTemplate.java b/src/main/java/com/nis/domain/configuration/template/IpsecTemplate.java index c4515e7c4..5805e99ad 100644 --- a/src/main/java/com/nis/domain/configuration/template/IpsecTemplate.java +++ b/src/main/java/com/nis/domain/configuration/template/IpsecTemplate.java @@ -6,6 +6,7 @@ package com.nis.domain.configuration.template; * @author dell * */ +@Deprecated public class IpsecTemplate extends IpCfgTemplate { diff --git a/src/main/java/com/nis/domain/configuration/template/TunnelIpTemplate.java b/src/main/java/com/nis/domain/configuration/template/TunnelIpTemplate.java index b94bc7841..c2cde9b73 100644 --- a/src/main/java/com/nis/domain/configuration/template/TunnelIpTemplate.java +++ b/src/main/java/com/nis/domain/configuration/template/TunnelIpTemplate.java @@ -6,6 +6,7 @@ package com.nis.domain.configuration.template; * @author dell * */ +@Deprecated public class TunnelIpTemplate extends IpCfgTemplate { diff --git a/src/main/java/com/nis/domain/configuration/template/WhiteListIpTemplate.java b/src/main/java/com/nis/domain/configuration/template/WhiteListIpTemplate.java index 337f0413c..63167ab56 100644 --- a/src/main/java/com/nis/domain/configuration/template/WhiteListIpTemplate.java +++ b/src/main/java/com/nis/domain/configuration/template/WhiteListIpTemplate.java @@ -6,6 +6,7 @@ package com.nis.domain.configuration.template; * @author dell * */ +@Deprecated public class WhiteListIpTemplate extends IpCfgTemplate { @Override diff --git a/src/main/java/com/nis/web/controller/BaseController.java b/src/main/java/com/nis/web/controller/BaseController.java index 295310b4a..973932d74 100644 --- a/src/main/java/com/nis/web/controller/BaseController.java +++ b/src/main/java/com/nis/web/controller/BaseController.java @@ -57,6 +57,7 @@ import com.nis.domain.configuration.RequestInfo; import com.nis.domain.configuration.StringCfgTemplate; import com.nis.domain.configuration.template.AsnIpTemplate; import com.nis.domain.configuration.template.ComplexStringAllTemplate; +import com.nis.domain.configuration.template.DdosIpTemplate; import com.nis.domain.configuration.template.DnsComplexStringTemplate; import com.nis.domain.configuration.template.IpAllTemplate; import com.nis.domain.configuration.template.IpCfgTemplate; @@ -1423,6 +1424,7 @@ public class BaseController { } } } + //p2p ip if (regionDict.getFunctionId().equals(510) && "p2p_ip".equals(regionDict.getConfigServiceType())) { // P2p // IP String userRegion1 = baseIpCfg.getUserRegion1(); @@ -1469,6 +1471,36 @@ public class BaseController { } } } + if (regionDict.getFunctionId().equals(301)) { + String antiddosProtocol=baseIpCfg.getAntiddosProtocol(); + Long bpsThreadshold= baseIpCfg.getBpsThreadshold(); + Long ppsThreadshold= baseIpCfg.getPpsThreadshold(); + if(StringUtils.isNotBlank(antiddosProtocol)) { + List antiddosProtocolDicts=DictUtils.getDictList("ANTIDDOS_PROTOCOL"); + boolean has=false; + for(SysDataDictionaryItem ditc:antiddosProtocolDicts) { + if(ditc.getItemCode().equals(antiddosProtocol)) { + has=true; + break; + } + } + if(!has) { + errInfo.append( + String.format(prop.getProperty("is_incorrect"), prop.getProperty("antiddos_protocol")) + + ";"); + } + if(bpsThreadshold==null) { + errInfo.append( + String.format(prop.getProperty("can_not_null"), prop.getProperty("bps_threadshold")) + + ";"); + } + if(ppsThreadshold==null) { + errInfo.append( + String.format(prop.getProperty("can_not_null"), prop.getProperty("pps_threadshold")) + + ";"); + } + } + } if (regionDict.getRegionType().equals(1)) { // 校验必填的IP,端口 /* @@ -3167,6 +3199,9 @@ public class BaseController { } else if (regionDict.getFunctionId().equals(600)) {// ANS IP List list = ei.getDataList(AsnIpTemplate.class, this.getMsgProp(),regionDict); ipPortCfgs = this.checkIpCfg(serviceDict, regionDict, list); + } else if (regionDict.getFunctionId().equals(301)) {// ANS IP + List list = ei.getDataList(DdosIpTemplate.class, this.getMsgProp(),regionDict); + ipPortCfgs = this.checkIpCfg(serviceDict, regionDict, list); } else { List list = ei.getDataList(IpAllTemplate.class, this.getMsgProp(),regionDict); ipPortCfgs = this.checkIpCfg(serviceDict, regionDict, list); @@ -3297,7 +3332,12 @@ public class BaseController { } if(ipPortCfgs!=null&&ipPortCfgs.size()>0) { - ipCfgService.saveBatch(ipPortCfgs, IpCfgDao.class); + if (regionDict.getFunctionId().equals(301)) { + ddosCfgService.saveDdosIpCfg(ipPortCfgs); + }else { + ipCfgService.saveBatch(ipPortCfgs, IpCfgDao.class); + } + } } 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 eee744f8b..580f4aa62 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 @@ -30,6 +30,7 @@ import com.nis.domain.configuration.IpPortCfg; import com.nis.domain.configuration.NtcSubscribeIdCfg; import com.nis.domain.configuration.template.AsnIpTemplate; import com.nis.domain.configuration.template.ComplexStringAllTemplate; +import com.nis.domain.configuration.template.DdosIpTemplate; import com.nis.domain.configuration.template.DnsComplexStringTemplate; import com.nis.domain.configuration.template.DnsIpTemplate; import com.nis.domain.configuration.template.IpAllTemplate; @@ -282,6 +283,11 @@ public class IpController extends BaseController{ ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, IpWhitelistTemplate.class, 2); excel.setDataList(this.getMsgProp(),classList,null). write(request,response, fileName).dispose(); + }else if(regionDict.getFunctionId().equals(301)){ //ddos ip + List classList=new ArrayList(); + ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, DdosIpTemplate.class, 2); + excel.setDataList(this.getMsgProp(),classList,null). + write(request,response, fileName).dispose(); }else{ List classList=new ArrayList(); ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, IpAllTemplate.class, 2); diff --git a/src/main/java/com/nis/web/service/BaseService.java b/src/main/java/com/nis/web/service/BaseService.java index f63dc77c0..6ac4e436e 100644 --- a/src/main/java/com/nis/web/service/BaseService.java +++ b/src/main/java/com/nis/web/service/BaseService.java @@ -980,7 +980,7 @@ public abstract class BaseService { //ip转换为callback用ip public InlineIp convertCallBackIp(BaseIpCfg cfg,Integer policyGroup){ List cfgs = ipConvert(new IpCfg(),cfg); - if(cfgs.size()>0) { + if(cfgs.size()>1) { throw new RuntimeException("CallBack IP did not support IP range!"); } IpCfg c=cfgs.get(0); diff --git a/src/main/java/com/nis/web/service/configuration/DdosCfgService.java b/src/main/java/com/nis/web/service/configuration/DdosCfgService.java index 7ba835604..bb03d298e 100644 --- a/src/main/java/com/nis/web/service/configuration/DdosCfgService.java +++ b/src/main/java/com/nis/web/service/configuration/DdosCfgService.java @@ -7,6 +7,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -14,7 +15,9 @@ import org.springframework.transaction.annotation.Transactional; import com.google.gson.Gson; import com.nis.domain.Page; import com.nis.domain.callback.InlineIp; +import com.nis.domain.configuration.BaseIpCfg; import com.nis.domain.configuration.DdosIpCfg; +import com.nis.domain.configuration.IpPortCfg; import com.nis.domain.maat.ToMaatResult; import com.nis.exceptions.MaatConvertException; import com.nis.util.ConfigServiceUtil; @@ -47,6 +50,13 @@ public class DdosCfgService extends BaseService{ public DdosIpCfg getDdosIpCfg(Long cfgId) { return ddosCfgDao.getDdosIpCfg(cfgId); } + public void saveDdosIpCfg(List ipPortCfgs) { + for(BaseIpCfg cfg:ipPortCfgs) { + DdosIpCfg ddosIpCfg=new DdosIpCfg(); + BeanUtils.copyProperties(cfg, ddosIpCfg); + saveOrUpdate(ddosIpCfg); + } + } @Transactional(readOnly=false,rollbackFor=RuntimeException.class) public void saveOrUpdate(DdosIpCfg entity){ Date createTime=new Date(); diff --git a/src/main/resources/messages/message_en.properties b/src/main/resources/messages/message_en.properties index 5d2a151f6..e8b42020b 100644 --- a/src/main/resources/messages/message_en.properties +++ b/src/main/resources/messages/message_en.properties @@ -1275,7 +1275,7 @@ ipv6_subnet_tip=IPv6/Subnet Mask example_tip=For Example rule_desc_tip=Rule description port_comment_tip=Port must between 0 and 65535 -port_mask_comment_tip=Port and port mask must between 0 and 65535 +port_mask_comment_tip=Port mask must between 0 and 65535 multi_keywords_tip=Allow multiple keywords to be entered and multiple keywords to be replaced by line breaks. visible_keyword_tip=Single keyword is not allowed to enter invisible characters. single_keyword_tip=Only single key input is allowed. @@ -1305,4 +1305,5 @@ default_request=Default Letter default_value=Default Value intercept=Intercept unkown_error=Unkown Error Infomation -exception_info=Exception Infomation \ No newline at end of file +exception_info=Exception Infomation +no_tc_udp_port_comment_tip=Port must between 0 \ No newline at end of file diff --git a/src/main/resources/messages/message_ru.properties b/src/main/resources/messages/message_ru.properties index 5d6c0523c..061993684 100644 --- a/src/main/resources/messages/message_ru.properties +++ b/src/main/resources/messages/message_ru.properties @@ -1216,7 +1216,11 @@ protocol_identify=Protocol Identify NTC_ASN_IP=ASN MM_FILE_DIGEST=\u041A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F \u0414\u0430\u0439\u0434\u0436\u0435\u0441\u0442\u0430 \u0424\u0430\u0439\u043B\u043E\u0432 NTC_STREAMING_MEDIA_URL=Streaming Media URL +<<<<<<< HEAD NTC_VOIP_ACCOUNT=VoIP \u0410\u043A\u043A\u0430\u0443\u043D\u0442 +======= +NTC_VOIP_ACCOUNT=VoIP \u0410\u043A\u043A\u0430\u0443\u043D\u0442 +>>>>>>> branch 'develop' of http://192.168.10.125/k18_web/NFS.git export_failed=Export Failed user_manage=Client Account Manage ip_reuse_policy_object=IP Reuse Policy Object @@ -1301,4 +1305,5 @@ hex_case_insensitive=Hexadecimal values must case insensitive default_request=Default Letter default_value=Default Value unkown_error=Unkown Error Infomation -exception_info=Exception Infomation \ No newline at end of file +exception_info=Exception Infomation +no_tc_udp_port_comment_tip=Port must between 0 \ No newline at end of file diff --git a/src/main/resources/messages/message_zh_CN.properties b/src/main/resources/messages/message_zh_CN.properties index 51915eb69..f196d382b 100644 --- a/src/main/resources/messages/message_zh_CN.properties +++ b/src/main/resources/messages/message_zh_CN.properties @@ -1296,4 +1296,5 @@ hex_case_insensitive=16\u8FDB\u5236\u7684\u503C\u5927\u5C0F\u5199\u4E0D\u654F\u6 default_request=\u9ED8\u8BA4\u51FD default_value=\u9ED8\u8BA4\u503C unkown_error=\u672A\u77E5\u9519\u8BEF\u4FE1\u606F -exception_info=\u5F02\u5E38\u4FE1\u606F \ No newline at end of file +exception_info=\u5F02\u5E38\u4FE1\u606F +no_tc_udp_port_comment_tip=Port must between 0 \ No newline at end of file diff --git a/src/main/resources/sql/20181030/update_region.sql b/src/main/resources/sql/20181030/update_region.sql index 1f19ba3fd..62dbc029f 100644 --- a/src/main/resources/sql/20181030/update_region.sql +++ b/src/main/resources/sql/20181030/update_region.sql @@ -17,4 +17,7 @@ UPDATE function_region_dict SET is_import=0 WHERE function_id=37 AND dict_id=600 #http 高级 UPDATE function_region_dict SET is_import=1 WHERE function_id=8 AND dict_id IN(9,10,11,12,13); #流媒体 -UPDATE function_region_dict SET is_import=1 WHERE function_id=22 AND dict_id IN(25,597); \ No newline at end of file +UPDATE function_region_dict SET is_import=1 WHERE function_id=22 AND dict_id IN(25,597); +#DDOS IP +UPDATE function_region_dict SET is_import=1,config_ip_port_show='3,4' WHERE function_id=301 AND dict_id IN(74); +UPDATE function_service_dict SET is_import=1 WHERE function_id=301; \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/include/form/dDosIpInfo.jsp b/src/main/webapp/WEB-INF/include/form/dDosIpInfo.jsp index 9be36d4b4..050fc87be 100644 --- a/src/main/webapp/WEB-INF/include/form/dDosIpInfo.jsp +++ b/src/main/webapp/WEB-INF/include/form/dDosIpInfo.jsp @@ -1,6 +1,12 @@ <%@ page contentType="text/html;charset=UTF-8"%> <%@ include file="/WEB-INF/include/taglib.jsp"%> -

+ + + + +

+ +

@@ -137,4 +143,6 @@
- \ No newline at end of file + +
+
\ No newline at end of file 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 8b5c0d525..9a0c9e0b8 100644 --- a/src/main/webapp/WEB-INF/views/cfg/av/fileSampleForm.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/av/fileSampleForm.jsp @@ -79,7 +79,14 @@ $(function(){ }, error:function(jqXHR, textStatus, errorThrown){ top.$.jBox.closeTip(); - alert(errorThrown); + //alert(jqXHR.responseText); + top.$.jBox(jqXHR.responseText,{ + width: $(document).width()*0.9, + height:$(document).height()*0.8, + top: '10%', + draggable:false, + title: "error info", buttons:{ "close":true} + }); return false; } }); diff --git a/src/main/webapp/WEB-INF/views/cfg/ddosIpCfgList.jsp b/src/main/webapp/WEB-INF/views/cfg/ddosIpCfgList.jsp index cc48e619c..da5c5a348 100644 --- a/src/main/webapp/WEB-INF/views/cfg/ddosIpCfgList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/ddosIpCfgList.jsp @@ -64,6 +64,23 @@ onClick="javascript:window.location='${ctx}/manipulation/ddos/form?functionId=${cfg.functionId}'"> + + + + + + + + + + + + + + + @@ -473,6 +490,8 @@ - + + +<%@include file="/WEB-INF/include/excel/importModal.jsp" %> \ No newline at end of file