asnip导入模板增加
intercept ip monitor 协议tcp whitelist 协议tcp(默认) udp
This commit is contained in:
@@ -0,0 +1,33 @@
|
|||||||
|
package com.nis.domain.configuration.template;
|
||||||
|
|
||||||
|
import com.nis.util.excel.ExcelField;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: excel导入ASN IP类配置
|
||||||
|
*/
|
||||||
|
public class AsnIpTemplate {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Fields serialVersionUID:TODO(用一句话描述这个变量表示什么)
|
||||||
|
*
|
||||||
|
* @since 1.0.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
private String cfgDesc;
|
||||||
|
private String destIpAddress;
|
||||||
|
|
||||||
|
@ExcelField(title="config_describe",align=2,sort=1)
|
||||||
|
public String getCfgDesc() {
|
||||||
|
return cfgDesc;
|
||||||
|
}
|
||||||
|
public void setCfgDesc(String cfgDesc) {
|
||||||
|
this.cfgDesc = cfgDesc;
|
||||||
|
}
|
||||||
|
@ExcelField(title="server_ip",align=2,sort=12)
|
||||||
|
public String getDestIpAddress() {
|
||||||
|
return destIpAddress;
|
||||||
|
}
|
||||||
|
public void setDestIpAddress(String destIpAddress) {
|
||||||
|
this.destIpAddress = destIpAddress;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -47,6 +47,7 @@ import com.google.common.collect.Lists;
|
|||||||
import com.nis.domain.FunctionRegionDict;
|
import com.nis.domain.FunctionRegionDict;
|
||||||
import com.nis.domain.FunctionServiceDict;
|
import com.nis.domain.FunctionServiceDict;
|
||||||
import com.nis.domain.SysDataDictionaryItem;
|
import com.nis.domain.SysDataDictionaryItem;
|
||||||
|
import com.nis.domain.basics.PolicyGroupInfo;
|
||||||
import com.nis.domain.basics.ServiceDictInfo;
|
import com.nis.domain.basics.ServiceDictInfo;
|
||||||
import com.nis.domain.configuration.DnsResStrategy;
|
import com.nis.domain.configuration.DnsResStrategy;
|
||||||
import com.nis.util.Constants;
|
import com.nis.util.Constants;
|
||||||
@@ -55,6 +56,7 @@ import com.nis.util.Encodes;
|
|||||||
import com.nis.util.Reflections;
|
import com.nis.util.Reflections;
|
||||||
import com.nis.util.StringUtil;
|
import com.nis.util.StringUtil;
|
||||||
import com.nis.web.dao.FunctionServiceDictDao;
|
import com.nis.web.dao.FunctionServiceDictDao;
|
||||||
|
import com.nis.web.dao.basics.PolicyGroupInfoDao;
|
||||||
import com.nis.web.dao.configuration.DnsResStrategyDao;
|
import com.nis.web.dao.configuration.DnsResStrategyDao;
|
||||||
import com.nis.web.service.SpringContextHolder;
|
import com.nis.web.service.SpringContextHolder;
|
||||||
import com.nis.web.service.configuration.DnsResStrategyService;
|
import com.nis.web.service.configuration.DnsResStrategyService;
|
||||||
@@ -72,6 +74,7 @@ public class ExportExcel {
|
|||||||
private static Logger log = LoggerFactory.getLogger(ExportExcel.class);
|
private static Logger log = LoggerFactory.getLogger(ExportExcel.class);
|
||||||
|
|
||||||
private static DnsResStrategyDao dnsResStrategyDao = SpringContextHolder.getBean(DnsResStrategyDao.class);
|
private static DnsResStrategyDao dnsResStrategyDao = SpringContextHolder.getBean(DnsResStrategyDao.class);
|
||||||
|
private static PolicyGroupInfoDao policyGroupInfoDao = SpringContextHolder.getBean(PolicyGroupInfoDao.class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 工作薄对象
|
* 工作薄对象
|
||||||
@@ -262,7 +265,6 @@ public class ExportExcel {
|
|||||||
index++;
|
index++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(region.getRegionType().equals(1)){//IP配置
|
if(region.getRegionType().equals(1)){//IP配置
|
||||||
//ip配置需要导入的信息:srcIp srcPort destIp destPort Protocol Direction
|
//ip配置需要导入的信息:srcIp srcPort destIp destPort Protocol Direction
|
||||||
//确定需要导入的srcIp srcPort destIp destPort信息
|
//确定需要导入的srcIp srcPort destIp destPort信息
|
||||||
@@ -513,7 +515,7 @@ public class ExportExcel {
|
|||||||
}
|
}
|
||||||
//导入的Protocol
|
//导入的Protocol
|
||||||
if("protocol".equals(headerStr)){
|
if("protocol".equals(headerStr)){
|
||||||
if(service.getFunctionId().equals(5) ){
|
if(region.getFunctionId().equals(5) ){
|
||||||
commentStr="";
|
commentStr="";
|
||||||
//ip block tcp
|
//ip block tcp
|
||||||
if(service.getAction().equals(16) ){
|
if(service.getAction().equals(16) ){
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ import com.nis.domain.configuration.DnsResStrategy;
|
|||||||
import com.nis.domain.configuration.IpPortCfg;
|
import com.nis.domain.configuration.IpPortCfg;
|
||||||
import com.nis.domain.configuration.RequestInfo;
|
import com.nis.domain.configuration.RequestInfo;
|
||||||
import com.nis.domain.configuration.StringCfgTemplate;
|
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.ComplexStringAllTemplate;
|
||||||
import com.nis.domain.configuration.template.DnsComplexStringTemplate;
|
import com.nis.domain.configuration.template.DnsComplexStringTemplate;
|
||||||
import com.nis.domain.configuration.template.IpAllTemplate;
|
import com.nis.domain.configuration.template.IpAllTemplate;
|
||||||
@@ -2949,6 +2950,9 @@ public class BaseController {
|
|||||||
}else if(regionDict.getFunctionId().equals(510) && "p2p_ip".equals(regionDict.getConfigServiceType())){ //P2p IP
|
}else if(regionDict.getFunctionId().equals(510) && "p2p_ip".equals(regionDict.getConfigServiceType())){ //P2p IP
|
||||||
List<P2pIpTemplate> list = ei.getDataList(P2pIpTemplate.class,this.getMsgProp());
|
List<P2pIpTemplate> list = ei.getDataList(P2pIpTemplate.class,this.getMsgProp());
|
||||||
ipPortCfgs = this.checkIpCfg(serviceDict, regionDict, list);
|
ipPortCfgs = this.checkIpCfg(serviceDict, regionDict, list);
|
||||||
|
}else if(regionDict.getFunctionId().equals(600)) {
|
||||||
|
List<AsnIpTemplate> list = ei.getDataList(AsnIpTemplate.class,this.getMsgProp());
|
||||||
|
ipPortCfgs = this.checkIpCfg(serviceDict, regionDict, list);
|
||||||
}else {
|
}else {
|
||||||
List<IpAllTemplate> list = ei.getDataList(IpAllTemplate.class,this.getMsgProp());
|
List<IpAllTemplate> list = ei.getDataList(IpAllTemplate.class,this.getMsgProp());
|
||||||
ipPortCfgs = this.checkIpCfg(serviceDict, regionDict, list);
|
ipPortCfgs = this.checkIpCfg(serviceDict, regionDict, list);
|
||||||
|
|||||||
@@ -16,11 +16,14 @@ import org.springframework.web.bind.annotation.RequestParam;
|
|||||||
import org.springframework.web.bind.annotation.ResponseBody;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
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.Page;
|
||||||
import com.nis.domain.basics.AsnIpCfg;
|
import com.nis.domain.basics.AsnIpCfg;
|
||||||
import com.nis.domain.basics.PolicyGroupInfo;
|
import com.nis.domain.basics.PolicyGroupInfo;
|
||||||
import com.nis.domain.configuration.CfgIndexInfo;
|
import com.nis.domain.configuration.CfgIndexInfo;
|
||||||
import com.nis.exceptions.MaatConvertException;
|
import com.nis.exceptions.MaatConvertException;
|
||||||
|
import com.nis.util.DictUtils;
|
||||||
import com.nis.web.controller.BaseController;
|
import com.nis.web.controller.BaseController;
|
||||||
@Controller
|
@Controller
|
||||||
@RequestMapping(value = "${adminPath}/basics/asn")
|
@RequestMapping(value = "${adminPath}/basics/asn")
|
||||||
@@ -32,6 +35,11 @@ public class AsnIpController extends BaseController{
|
|||||||
Page<AsnIpCfg> page = asnIpCfgService.findPage(new Page<AsnIpCfg>(request, response,"r"), entity);
|
Page<AsnIpCfg> page = asnIpCfgService.findPage(new Page<AsnIpCfg>(request, response,"r"), entity);
|
||||||
model.addAttribute("page", page);
|
model.addAttribute("page", page);
|
||||||
initPageCondition(model);
|
initPageCondition(model);
|
||||||
|
List<FunctionRegionDict> regionList = DictUtils.getFunctionRegionDictList(entity.getFunctionId());
|
||||||
|
model.addAttribute("regionList", regionList);
|
||||||
|
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(entity.getFunctionId());
|
||||||
|
model.addAttribute("serviceList", serviceList);
|
||||||
|
|
||||||
List<PolicyGroupInfo> policyGroups=policyGroupInfoService.findPolicyGroupInfosByType(4);
|
List<PolicyGroupInfo> policyGroups=policyGroupInfoService.findPolicyGroupInfosByType(4);
|
||||||
model.addAttribute("policyGroups", policyGroups);
|
model.addAttribute("policyGroups", policyGroups);
|
||||||
return "/basics/asnIpCfgList";
|
return "/basics/asnIpCfgList";
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ import com.nis.domain.SysDataDictionaryItem;
|
|||||||
import com.nis.domain.configuration.CfgIndexInfo;
|
import com.nis.domain.configuration.CfgIndexInfo;
|
||||||
import com.nis.domain.configuration.IpPortCfg;
|
import com.nis.domain.configuration.IpPortCfg;
|
||||||
import com.nis.domain.configuration.NtcSubscribeIdCfg;
|
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.ComplexStringAllTemplate;
|
||||||
import com.nis.domain.configuration.template.DnsComplexStringTemplate;
|
import com.nis.domain.configuration.template.DnsComplexStringTemplate;
|
||||||
import com.nis.domain.configuration.template.DnsIpTemplate;
|
import com.nis.domain.configuration.template.DnsIpTemplate;
|
||||||
@@ -270,6 +271,11 @@ public class IpController extends BaseController{
|
|||||||
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, P2pIpTemplate.class, 2);
|
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, P2pIpTemplate.class, 2);
|
||||||
excel.setDataList(this.getMsgProp(),classList,null).
|
excel.setDataList(this.getMsgProp(),classList,null).
|
||||||
write(request,response, fileName).dispose();
|
write(request,response, fileName).dispose();
|
||||||
|
}else if(regionDict.getFunctionId().equals(600)){ //asnip
|
||||||
|
List<AsnIpTemplate> classList=new ArrayList<AsnIpTemplate>();
|
||||||
|
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, AsnIpTemplate.class, 2);
|
||||||
|
excel.setDataList(this.getMsgProp(),classList,null).
|
||||||
|
write(request,response, fileName).dispose();
|
||||||
}else{
|
}else{
|
||||||
List<IpAllTemplate> classList=new ArrayList<IpAllTemplate>();
|
List<IpAllTemplate> classList=new ArrayList<IpAllTemplate>();
|
||||||
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, IpAllTemplate.class, 2);
|
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, IpAllTemplate.class, 2);
|
||||||
|
|||||||
@@ -23,6 +23,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<input type="hidden" name="fucntionId" id="fucntionId" value="${cfg.functionId }">
|
<input type="hidden" name="fucntionId" id="fucntionId" value="${cfg.functionId }">
|
||||||
</br>
|
</br>
|
||||||
|
<c:if test="${serviceList != null && serviceList.size() > 0}">
|
||||||
|
|
||||||
<div class="form-group service">
|
<div class="form-group service">
|
||||||
<label class="control-label col-md-3"> <spring:message
|
<label class="control-label col-md-3"> <spring:message
|
||||||
code="action" />
|
code="action" />
|
||||||
@@ -55,6 +57,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div for="action"></div>
|
<div for="action"></div>
|
||||||
</div>
|
</div>
|
||||||
|
</c:if>
|
||||||
<div class="form-group region">
|
<div class="form-group region">
|
||||||
<label class="control-label col-md-3"> <spring:message
|
<label class="control-label col-md-3"> <spring:message
|
||||||
code="cfg_type" />
|
code="cfg_type" />
|
||||||
@@ -159,8 +162,22 @@
|
|||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</c:if>
|
|
||||||
</br>
|
</br>
|
||||||
|
</c:if>
|
||||||
|
<!-- 600 ASNIP导入 -->
|
||||||
|
<c:if test="${cfg.functionId eq 600 }">
|
||||||
|
<div class="row">
|
||||||
|
<label class="control-label col-md-3"><spring:message code="group"/></label>
|
||||||
|
<div class="col-md-6">
|
||||||
|
<select name="asnGroupId" class="selectpicker show-tick form-control required" data-live-search="true" data-live-search-placeholder="search">
|
||||||
|
<c:forEach items="${policyGroups }" var="policyGroup" varStatus="status">
|
||||||
|
<option value="${policyGroup.serviceGroupId}" <c:if test="${status.index eq 1 }">selected</c:if>><spring:message code="${policyGroup.groupName}"/></option>
|
||||||
|
</c:forEach>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</br>
|
||||||
|
</c:if>
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-2 control-label" style="margin-top:5px;"><spring:message
|
<label class="col-md-2 control-label" style="margin-top:5px;"><spring:message
|
||||||
|
|||||||
@@ -58,6 +58,17 @@
|
|||||||
onClick="javascript:window.location='${ctx}/basics/asn/addForm?functionId=${cfg.functionId}'">
|
onClick="javascript:window.location='${ctx}/basics/asn/addForm?functionId=${cfg.functionId}'">
|
||||||
<i class="fa fa-plus"></i>
|
<i class="fa fa-plus"></i>
|
||||||
<spring:message code="add"></spring:message></button>
|
<spring:message code="add"></spring:message></button>
|
||||||
|
<c:set var="regionImport" value="false"></c:set>
|
||||||
|
<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="${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>
|
</shiro:hasPermission>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -370,6 +381,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<c:set var="importPath" value="/basics/asn/list?functionId=${cfg.functionId}"/>
|
||||||
|
<!-- 模板导入,start -->
|
||||||
|
<%@include file="/WEB-INF/include/excel/importModal.jsp" %>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@@ -692,9 +692,9 @@ var setInterceptDefaultInfo=function(cfgId){
|
|||||||
if(interceptRatelimitIp == 'intercept_ratelimit_ip'){
|
if(interceptRatelimitIp == 'intercept_ratelimit_ip'){
|
||||||
$("select[name='"+protocolNamePrefix+"protocol']").find("option").remove();
|
$("select[name='"+protocolNamePrefix+"protocol']").find("option").remove();
|
||||||
$("select[name='"+protocolNamePrefix+"protocol']").selectpicker("refresh");
|
$("select[name='"+protocolNamePrefix+"protocol']").selectpicker("refresh");
|
||||||
$("select[name='"+protocolNamePrefix+"protocol']").append("<option value='0' selected>"+$.validator.messages.all+"</option>");
|
//$("select[name='"+protocolNamePrefix+"protocol']").append("<option value='0' selected>"+$.validator.messages.all+"</option>");
|
||||||
$("select[name='"+protocolNamePrefix+"protocol']").append("<option value='6'>TCP</option>");
|
$("select[name='"+protocolNamePrefix+"protocol']").append("<option value='6' selected>TCP</option>");
|
||||||
$("select[name='"+protocolNamePrefix+"protocol']").append("<option value='17'>UDP</option>");
|
//$("select[name='"+protocolNamePrefix+"protocol']").append("<option value='17'>UDP</option>");
|
||||||
$("select[name='"+protocolNamePrefix+"protocol']").selectpicker("refresh");
|
$("select[name='"+protocolNamePrefix+"protocol']").selectpicker("refresh");
|
||||||
}
|
}
|
||||||
if(interceptReplacePktBin == 'intercept_replace_pkt_bin'){
|
if(interceptReplacePktBin == 'intercept_replace_pkt_bin'){
|
||||||
@@ -735,16 +735,16 @@ var setInterceptDefaultInfo=function(cfgId){
|
|||||||
$("."+interceptReplacePktBin).removeClass("hidden");
|
$("."+interceptReplacePktBin).removeClass("hidden");
|
||||||
$("."+interceptReplacePktBin).find("span").removeClass("hidden");
|
$("."+interceptReplacePktBin).find("span").removeClass("hidden");
|
||||||
}
|
}
|
||||||
}else {
|
}else if(action==128){
|
||||||
//白名单
|
//白名单
|
||||||
$(".monitAction").addClass("hidden");
|
$(".monitAction").addClass("hidden");
|
||||||
$(".ratelimitAction").addClass("hidden");
|
$(".ratelimitAction").addClass("hidden");
|
||||||
$(".replaceAction").addClass("hidden");
|
$(".replaceAction").addClass("hidden");
|
||||||
if(interceptRatelimitIp == 'intercept_ratelimit'){
|
if(interceptRatelimitIp == 'intercept_ratelimit_ip'){
|
||||||
$("select[name='"+protocolNamePrefix+"protocol']").find("option").remove();
|
$("select[name='"+protocolNamePrefix+"protocol']").find("option").remove();
|
||||||
$("select[name='"+protocolNamePrefix+"protocol']").selectpicker("refresh");
|
$("select[name='"+protocolNamePrefix+"protocol']").selectpicker("refresh");
|
||||||
$("select[name='"+protocolNamePrefix+"protocol']").append("<option value='0' selected>"+$.validator.messages.all+"</option>")
|
//$("select[name='"+protocolNamePrefix+"protocol']").append("<option value='0' selected>"+$.validator.messages.all+"</option>")
|
||||||
$("select[name='"+protocolNamePrefix+"protocol']").append("<option value='6'>TCP</option>")
|
$("select[name='"+protocolNamePrefix+"protocol']").append("<option value='6' selected>TCP</option>")
|
||||||
$("select[name='"+protocolNamePrefix+"protocol']").append("<option value='17'>UDP</option>")
|
$("select[name='"+protocolNamePrefix+"protocol']").append("<option value='17'>UDP</option>")
|
||||||
$("select[name='"+protocolNamePrefix+"protocol']").selectpicker("refresh");
|
$("select[name='"+protocolNamePrefix+"protocol']").selectpicker("refresh");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,20 +30,19 @@ function switchService(){
|
|||||||
$("input[name='regionDictIds'][cfgRegionCodeR!='"+cfgRegionCode+"']").parents(".radio-inline").addClass("hidden");
|
$("input[name='regionDictIds'][cfgRegionCodeR!='"+cfgRegionCode+"']").parents(".radio-inline").addClass("hidden");
|
||||||
$("input[name='regionDictIds'][cfgRegionCodeR='"+cfgRegionCode+"']").prop("checked",true);
|
$("input[name='regionDictIds'][cfgRegionCodeR='"+cfgRegionCode+"']").prop("checked",true);
|
||||||
$("input[name='regionDictIds'][cfgRegionCodeR='"+cfgRegionCode+"']").parents(".radio-inline").removeClass("hidden");
|
$("input[name='regionDictIds'][cfgRegionCodeR='"+cfgRegionCode+"']").parents(".radio-inline").removeClass("hidden");
|
||||||
if(cfgRegionCodeS.split(",").length==1){
|
if(cfgRegionCodeS.split(",").length <=1 ){
|
||||||
$(".region").addClass("hidden");
|
$(".region").addClass("hidden");
|
||||||
}else{
|
}else{
|
||||||
$(".region").removeClass("hidden");
|
$(".region").removeClass("hidden");
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
if($("input[name='regionDictIds']").length==1){
|
if($("input[name='regionDictIds']").length <=1){
|
||||||
$(".region").addClass("hidden");
|
$(".region").addClass("hidden");
|
||||||
}else{
|
}else{
|
||||||
$(".region").removeClass("hidden");
|
$(".region").removeClass("hidden");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if($("input[name='serviceDictId']").length <=1){
|
||||||
if($("input[name='serviceDictId']").length==1){
|
|
||||||
$(".service").addClass("hidden");
|
$(".service").addClass("hidden");
|
||||||
}else{
|
}else{
|
||||||
$(".service").removeClass("hidden");
|
$(".service").removeClass("hidden");
|
||||||
|
|||||||
Reference in New Issue
Block a user