Merge branch 'develop' of http://192.168.10.125/k18_web/NFS.git into
develop Conflicts: src/main/resources/messages/message_en.properties src/main/resources/messages/message_ru.properties src/main/resources/messages/message_zh_CN.properties 国际化增加no_tc_udp_port_comment_tip
This commit is contained in:
@@ -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()
|
||||
*/
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -6,6 +6,7 @@ package com.nis.domain.configuration.template;
|
||||
* @author dell
|
||||
*
|
||||
*/
|
||||
@Deprecated
|
||||
public class IpAddrTemplate extends IpCfgTemplate {
|
||||
|
||||
|
||||
|
||||
@@ -13,6 +13,7 @@ import com.nis.util.excel.ExcelField;
|
||||
/**
|
||||
* @Description: excel导入IP类配置
|
||||
*/
|
||||
@Deprecated
|
||||
public class IpCfgTemplate {
|
||||
|
||||
/**
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -6,6 +6,7 @@ package com.nis.domain.configuration.template;
|
||||
* @author dell
|
||||
*
|
||||
*/
|
||||
@Deprecated
|
||||
public class IpsecTemplate extends IpCfgTemplate {
|
||||
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ package com.nis.domain.configuration.template;
|
||||
* @author dell
|
||||
*
|
||||
*/
|
||||
@Deprecated
|
||||
public class TunnelIpTemplate extends IpCfgTemplate {
|
||||
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ package com.nis.domain.configuration.template;
|
||||
* @author dell
|
||||
*
|
||||
*/
|
||||
@Deprecated
|
||||
public class WhiteListIpTemplate extends IpCfgTemplate {
|
||||
|
||||
@Override
|
||||
|
||||
@@ -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<SysDataDictionaryItem> 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<AsnIpTemplate> list = ei.getDataList(AsnIpTemplate.class, this.getMsgProp(),regionDict);
|
||||
ipPortCfgs = this.checkIpCfg(serviceDict, regionDict, list);
|
||||
} else if (regionDict.getFunctionId().equals(301)) {// ANS IP
|
||||
List<DdosIpTemplate> list = ei.getDataList(DdosIpTemplate.class, this.getMsgProp(),regionDict);
|
||||
ipPortCfgs = this.checkIpCfg(serviceDict, regionDict, list);
|
||||
} else {
|
||||
List<IpAllTemplate> 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);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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<DdosIpTemplate> classList=new ArrayList<DdosIpTemplate>();
|
||||
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<IpAllTemplate> classList=new ArrayList<IpAllTemplate>();
|
||||
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, IpAllTemplate.class, 2);
|
||||
|
||||
@@ -980,7 +980,7 @@ public abstract class BaseService {
|
||||
//ip转换为callback用ip
|
||||
public InlineIp convertCallBackIp(BaseIpCfg cfg,Integer policyGroup){
|
||||
List<IpCfg> 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);
|
||||
|
||||
@@ -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<BaseIpCfg> 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();
|
||||
|
||||
@@ -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
|
||||
exception_info=Exception Infomation
|
||||
no_tc_udp_port_comment_tip=Port must between 0
|
||||
@@ -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
|
||||
exception_info=Exception Infomation
|
||||
no_tc_udp_port_comment_tip=Port must between 0
|
||||
@@ -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
|
||||
exception_info=\u5F02\u5E38\u4FE1\u606F
|
||||
no_tc_udp_port_comment_tip=Port must between 0
|
||||
@@ -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);
|
||||
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;
|
||||
@@ -1,6 +1,12 @@
|
||||
<%@ page contentType="text/html;charset=UTF-8"%>
|
||||
<%@ include file="/WEB-INF/include/taglib.jsp"%>
|
||||
<h3 class="form-section"><spring:message code="block_config"/></h3>
|
||||
<c:forEach items="${regionList}" var="region" varStatus="status">
|
||||
<c:if test="${region.regionType eq 1 }">
|
||||
<!--ip info-->
|
||||
<c:set var="tabName" value="${region.configRegionValue}Tab"></c:set>
|
||||
<h4 class="form-section">
|
||||
<spring:message code="${region.configRegionValue}" />
|
||||
</h4>
|
||||
<div class="row ipInfo">
|
||||
|
||||
<div class="row">
|
||||
@@ -137,4 +143,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
@@ -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;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -64,6 +64,23 @@
|
||||
onClick="javascript:window.location='${ctx}/manipulation/ddos/form?functionId=${cfg.functionId}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
<c:set var="serviceImport" value="false"></c:set>
|
||||
<c:set var="regionImport" value="false"></c:set>
|
||||
<c:forEach items="${serviceList}" var="service" >
|
||||
<c:if test="${(cfg.functionId eq service.functionId) && service.isImport eq 1}">
|
||||
<c:set var="serviceImport" value="true"></c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<c:forEach items="${regionList}" var="region" >
|
||||
<c:if test="${(cfg.functionId eq region.functionId) && region.isImport eq 1}">
|
||||
<c:set var="regionImport" value="true"></c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<c:if test="${serviceImport eq 'true' && regionImport eq 'true'}">
|
||||
<button type="button" class="btn btn-primary import" >
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="import"></spring:message></button>
|
||||
</c:if>
|
||||
</shiro:hasPermission>
|
||||
</div>
|
||||
|
||||
@@ -473,6 +490,8 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<c:set var="importPath" value="/manipulation/ddos/list?functionId=${cfg.functionId}"/>
|
||||
<!-- 模板导入,start -->
|
||||
<%@include file="/WEB-INF/include/excel/importModal.jsp" %>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user