diff --git a/src/main/java/com/nis/util/DictUtils.java b/src/main/java/com/nis/util/DictUtils.java index ea6765544..84cec22d9 100644 --- a/src/main/java/com/nis/util/DictUtils.java +++ b/src/main/java/com/nis/util/DictUtils.java @@ -437,5 +437,24 @@ public class DictUtils { } return null; }*/ - + public static Map getObjGroupListServiceDicts(Integer functionId){ + Map dictMap=new HashMap<>(); + List> templateList= ServiceConfigTemplateUtil.getServiceListByFunctionId(functionId); + StringBuffer buf=new StringBuffer(); + for(Map temp:templateList){ + if(temp.containsKey("serviceIds")){ + String serviceIds= temp.get("serviceIds").toString(); + buf.append(serviceIds).append(","); + } + } + List serviceDicts=getFunctionServiceDictList(); + for(FunctionServiceDict dict:serviceDicts){ + for(String serviceId:buf.toString().split(",")){ + if(StringUtils.isNotBlank(serviceId)&&dict.getServiceId().toString().equals(serviceId)){ + dictMap.put(Integer.parseInt(serviceId),dict); + } + } + } + return dictMap; + } } diff --git a/src/main/java/com/nis/web/controller/configuration/ObjectGroupController.java b/src/main/java/com/nis/web/controller/configuration/ObjectGroupController.java index e97b84b3d..cbdc22ff3 100644 --- a/src/main/java/com/nis/web/controller/configuration/ObjectGroupController.java +++ b/src/main/java/com/nis/web/controller/configuration/ObjectGroupController.java @@ -2,6 +2,7 @@ package com.nis.web.controller.configuration; +import com.nis.domain.FunctionServiceDict; import com.nis.domain.Page; import com.nis.domain.basics.PolicyGroupInfo; import com.nis.domain.configuration.BaseCfg; diff --git a/src/main/java/com/nis/web/service/configuration/ObjectGroupService.java b/src/main/java/com/nis/web/service/configuration/ObjectGroupService.java index be5803f49..2980785f2 100644 --- a/src/main/java/com/nis/web/service/configuration/ObjectGroupService.java +++ b/src/main/java/com/nis/web/service/configuration/ObjectGroupService.java @@ -92,78 +92,78 @@ public class ObjectGroupService extends BaseService { } entity.setIsValid(0); entity.setIsAudit(0); - //设置service_id - if("HTTPS".equalsIgnoreCase(protocolType)){ - if(entity.getAction().equals(1)){ - entity.setServiceId(592); - }else if(entity.getAction().equals(16)){ - entity.setServiceId(576); - } - }else if("INTERCEPT".equalsIgnoreCase(protocolType)){ - entity.setServiceId(512); - }else if("HTTP".equalsIgnoreCase(protocolType)){ - if(entity.getAction().equals(1)){ - entity.setServiceId(129); - }else if(entity.getAction().equals(16)){ - entity.setServiceId(17); - } - }else if("MAIL".equalsIgnoreCase(protocolType)){ - if(entity.getAction().equals(1)){ - entity.setServiceId(132); - }else if(entity.getAction().equals(16)){ - entity.setServiceId(20); - } - }else if("DNS".equalsIgnoreCase(protocolType)){ - if(entity.getAction().equals(1)){ - entity.setServiceId(130); - }else if(entity.getAction().equals(16)){ - entity.setServiceId(18); - } - }else if("FTP".equalsIgnoreCase(protocolType)){ - if(entity.getAction().equals(1)){ - entity.setServiceId(133); - }else if(entity.getAction().equals(16)){ - entity.setServiceId(21); - } - }else if("BGP".equalsIgnoreCase(protocolType)){ - if(entity.getAction().equals(1)){ - entity.setServiceId(143); - }else if(entity.getAction().equals(16)){ - entity.setServiceId(31); - } - }else if("SSL".equalsIgnoreCase(protocolType)){ - if(entity.getAction().equals(1)){ - entity.setServiceId(131); - }else if(entity.getAction().equals(16)){ - entity.setServiceId(19); - } - }else if("P2P".equalsIgnoreCase(protocolType)){ - if(entity.getAction().equals(1)){ - entity.setServiceId(146); - }else if(entity.getAction().equals(16)){ - entity.setServiceId(34); - } - }else if("streaming_media".equalsIgnoreCase(protocolType)){ - if(entity.getAction().equals(1)){ - entity.setServiceId(151); - }else if(entity.getAction().equals(16)){ - entity.setServiceId(39); - } - }else if("voip".equalsIgnoreCase(protocolType)){ - if(entity.getAction().equals(1)){ - entity.setServiceId(150); - }else if(entity.getAction().equals(16)){ - entity.setServiceId(38); - } - }else if(StringUtils.isBlank(protocolType)){ - if(MapUtils.isNotEmpty(entity.getUserRegion())&&entity.getUserRegion().containsKey("ipGroup")){ - if(entity.getAction().equals(1)){ - entity.setServiceId(128); - }else if(entity.getAction().equals(16)){ - entity.setServiceId(16); - } - } - } + //设置service_id 改为从jsp页面获取 +// if("HTTPS".equalsIgnoreCase(protocolType)){ +// if(entity.getAction().equals(1)){ +// entity.setServiceId(592); +// }else if(entity.getAction().equals(16)){ +// entity.setServiceId(576); +// } +// }else if("INTERCEPT".equalsIgnoreCase(protocolType)){ +// entity.setServiceId(512); +// }else if("HTTP".equalsIgnoreCase(protocolType)){ +// if(entity.getAction().equals(1)){ +// entity.setServiceId(129); +// }else if(entity.getAction().equals(16)){ +// entity.setServiceId(17); +// } +// }else if("MAIL".equalsIgnoreCase(protocolType)){ +// if(entity.getAction().equals(1)){ +// entity.setServiceId(132); +// }else if(entity.getAction().equals(16)){ +// entity.setServiceId(20); +// } +// }else if("DNS".equalsIgnoreCase(protocolType)){ +// if(entity.getAction().equals(1)){ +// entity.setServiceId(130); +// }else if(entity.getAction().equals(16)){ +// entity.setServiceId(18); +// } +// }else if("FTP".equalsIgnoreCase(protocolType)){ +// if(entity.getAction().equals(1)){ +// entity.setServiceId(133); +// }else if(entity.getAction().equals(16)){ +// entity.setServiceId(21); +// } +// }else if("BGP".equalsIgnoreCase(protocolType)){ +// if(entity.getAction().equals(1)){ +// entity.setServiceId(143); +// }else if(entity.getAction().equals(16)){ +// entity.setServiceId(31); +// } +// }else if("SSL".equalsIgnoreCase(protocolType)){ +// if(entity.getAction().equals(1)){ +// entity.setServiceId(131); +// }else if(entity.getAction().equals(16)){ +// entity.setServiceId(19); +// } +// }else if("P2P".equalsIgnoreCase(protocolType)){ +// if(entity.getAction().equals(1)){ +// entity.setServiceId(146); +// }else if(entity.getAction().equals(16)){ +// entity.setServiceId(34); +// } +// }else if("streaming_media".equalsIgnoreCase(protocolType)){ +// if(entity.getAction().equals(1)){ +// entity.setServiceId(151); +// }else if(entity.getAction().equals(16)){ +// entity.setServiceId(39); +// } +// }else if("voip".equalsIgnoreCase(protocolType)){ +// if(entity.getAction().equals(1)){ +// entity.setServiceId(150); +// }else if(entity.getAction().equals(16)){ +// entity.setServiceId(38); +// } +// }else if(StringUtils.isBlank(protocolType)){ +// if(MapUtils.isNotEmpty(entity.getUserRegion())&&entity.getUserRegion().containsKey("ipGroup")){ +// if(entity.getAction().equals(1)){ +// entity.setServiceId(128); +// }else if(entity.getAction().equals(16)){ +// entity.setServiceId(16); +// } +// } +// } if(entity.getCfgId()==null){ Integer compileId = 0; try { diff --git a/src/main/webapp/WEB-INF/tlds/fns.tld b/src/main/webapp/WEB-INF/tlds/fns.tld index 0fb8f26b0..a399c0002 100644 --- a/src/main/webapp/WEB-INF/tlds/fns.tld +++ b/src/main/webapp/WEB-INF/tlds/fns.tld @@ -148,7 +148,7 @@ ${fns:unescapeHtml(html)} - + @@ -244,7 +244,7 @@ 获取字典Map列表 getDictOption com.nis.util.DictUtils - java.util.List getDictOption(java.lang.String) + java.util.Map getDictOption(java.lang.String) ${fns:getDictOption(key)} @@ -300,7 +300,7 @@ 获取特征域字典对象列表 getFeaturesDictData com.nis.util.DictUtils - java.lang.String getFeaturesDictData(java.lang.String) + java.util.List getFeaturesDictData(java.lang.String) ${fns:getFeaturesDictData(itemCode)} @@ -333,7 +333,7 @@ 根据id获取服务字典配置 getServiceDictInfoById com.nis.util.ConfigDictUtils - java.lang.String getServiceDictInfoById(java.lang.Integer) + com.nis.domain.basics.ServiceDictInfo getServiceDictInfoById(java.lang.Integer) ${fns:getServiceDictInfoById(id)} @@ -341,7 +341,7 @@ 根据id获取系统字典配置 getSysDictInfoById com.nis.util.ConfigDictUtils - java.lang.String getSysDictInfoById(java.lang.Integer) + com.nis.domain.basics.SysDictInfo getSysDictInfoById(java.lang.Integer) ${fns:getSysDictInfoById(id)} @@ -349,7 +349,7 @@ 根据id获取特定服务配置 getBySpecServiceId com.nis.util.ConfigDictUtils - java.lang.String getBySpecServiceId(java.lang.Integer) + com.nis.domain.specific.SpecificServiceCfg getBySpecServiceId(java.lang.Integer) ${fns:getBySpecServiceId(id)} @@ -358,7 +358,7 @@ 计算序号 getNumberResult com.nis.util.ConfigDictUtils - java.lang.String getNumberResult(java.lang.Integer,java.lang.Integer,java.lang.Integer) + java.lang.Integer getNumberResult(java.lang.Integer,java.lang.Integer,java.lang.Integer) ${fns:getNumberResult(integer1,integer2,integer3)} @@ -368,7 +368,7 @@ 取出数据类型 getItemTypeByNo com.nis.util.ConfigDictUtils - java.lang.String getItemTypeByNo(java.lang.String,java.util.List) + java.util.List getItemTypeByNo(java.lang.String,java.util.List) ${fns:getItemTypeByNo(str1,list)} @@ -410,7 +410,7 @@ 根据compileId获取crl getTrustedCrlByCerId com.nis.util.ConfigDictUtils - java.util.List getTrustedCrlByCerId(java.lang.Integer) + java.lang.String getTrustedCrlByCerId(java.lang.Integer) ${fns:getTrustedCrlByCerId(cerId)} @@ -429,4 +429,12 @@ java.util.List getASNIPNum(java.lang.Integer) ${fns:getASNIPNum(str)} + + + 获取字典对象列表 + getObjGroupListServiceDicts + com.nis.util.DictUtils + java.util.Map getObjGroupListServiceDicts(java.lang.Integer) + ${fns:getObjGroupListServiceDicts(key)} + diff --git a/src/main/webapp/WEB-INF/views/cfg/objgroup/form.jsp b/src/main/webapp/WEB-INF/views/cfg/objgroup/form.jsp index b54c4e4ed..da6794e81 100644 --- a/src/main/webapp/WEB-INF/views/cfg/objgroup/form.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/objgroup/form.jsp @@ -13,27 +13,11 @@ $(function(){ if('${_cfg.action}'!=1 && '${_cfg.action}'!=""){ $("[name='userRegion1'] option[value=intercept]").addClass("hidden").addClass("disabled"); $(".domainGroup").addClass("hidden").addClass("disabled"); - //处理do_log - $("[name='doLog']").each(function () { - if($(this).val()==0){ - $(this).parent(".radio-inline").removeClass("hidden"); - } - }) - }else{ - //处理do_log - $("[name='doLog']").each(function () { - if($(this).val()==0){ - $(this).parent(".radio-inline").addClass("hidden"); - } - }) - } + }else{} if('${_cfg.userRegion1}'=='intercept'){ $(".domainGroup").removeClass("hidden").removeClass("disabled"); $(".urlGroup").addClass("hidden").addClass("disabled"); $(".subscribeIdGroup").addClass("hidden").addClass("disabled"); - //处理do_log - $(".doLog").addClass("hidden"); - $("[name='doLog']").find("[value=2]").prop("checked",true); }else if('${_cfg.userRegion1}'=='https'||'${_cfg.userRegion1}'=='http'||'${_cfg.userRegion1}'=='ftp'||'${_cfg.userRegion1}'=='streaming_media'){ $(".domainGroup").addClass("hidden").addClass("disabled"); $(".subscribeIdGroup").removeClass("hidden").removeClass("disabled"); @@ -47,14 +31,18 @@ $(function(){ $(".subscribeIdGroup").removeClass("hidden").removeClass("disabled"); $(".urlGroup").addClass("hidden").addClass("disabled"); } - + changeServiceId(); + var serviceId=$("[name='serviceId']").val(); + var configDoLog=$("#serviceId_"+serviceId).attr("configDoLog"); + processDoLog(configDoLog); $(".action").on("change", function() { - $("#serviceId").val($(this).attr("serviceId")); + //$("#serviceId").val($(this).attr("serviceId")); + changeServiceId(); $("#protocolId").val($(this).attr("protocolId")); var action=$("input[name='action']:checked").val(); switchAction(action); - processDoLog($(this).attr("configDoLog")); + //处理页面协议 if($(this).val()!="1"){ if($("[name='userRegion1']").val()=="intercept"){//拦截隐藏 @@ -67,62 +55,41 @@ $(function(){ $("[name='userRegion1'] option[value=intercept]").removeClass("hidden").removeClass("disabled"); if($("[name='userRegion1']").val()=="intercept"){ $(".domainGroup").removeClass("hidden").removeClass("disabled"); - //处理do_log - $(".doLog").addClass("hidden"); - $("[name='doLog']").each(function () { - if($(this).val()==2){ - $(this).prop("checked",true); - }else{ - $(this).removeAttr("checked"); - } - }) }else{ $(".domainGroup").addClass("hidden").addClass("disabled"); - //处理do_log - $(".doLog").removeClass("hidden"); } } $("[name='userRegion1']").selectpicker("refresh"); + var serviceId=$("[name='serviceId']").val(); + var configDoLog=$("#serviceId_"+serviceId).attr("configDoLog"); + processDoLog(configDoLog); }); $("[name='userRegion1']").on("change",function () { if("intercept"==$(this).val()){ $(".urlGroup").addClass("hidden").addClass("disabled"); $(".subscribeIdGroup").addClass("hidden").addClass("disabled"); $(".domainGroup").removeClass("hidden").removeClass("disabled"); - //处理do_log - $(".doLog").addClass("hidden"); - $("[name='doLog']").each(function () { - if($(this).val()==2){ - $(this).prop("checked",true); - }else{ - $(this).removeAttr("checked"); - } - }) }else if("https"==$(this).val()||"http"==$(this).val()||"ftp"==$(this).val()||"streaming_media"==$(this).val()){ $(".urlGroup").removeClass("hidden").removeClass("disabled"); $(".subscribeIdGroup").removeClass("hidden").removeClass("disabled"); $(".domainGroup").addClass("hidden").addClass("disabled"); - //处理do_log - $(".doLog").removeClass("hidden"); }else if(""==$(this).val()||"bgp"==$(this).val()){ $(".urlGroup").addClass("hidden").addClass("disabled"); $(".subscribeIdGroup").addClass("hidden").addClass("disabled"); $(".domainGroup").addClass("hidden").addClass("disabled"); - //处理do_log - $(".doLog").removeClass("hidden"); }else if("mail"==$(this).val()||"dns"==$(this).val()||"ssl"==$(this).val()||"p2p"==$(this).val()||"voip"==$(this).val()){ $(".urlGroup").addClass("hidden").addClass("disabled"); $(".subscribeIdGroup").removeClass("hidden").removeClass("disabled"); $(".domainGroup").addClass("hidden").addClass("disabled"); - //处理do_log - $(".doLog").removeClass("hidden"); }else{ $(".urlGroup").removeClass("hidden").removeClass("disabled"); $(".subscribeIdGroup").removeClass("hidden").removeClass("disabled"); $(".domainGroup").removeClass("hidden").removeClass("disabled"); - //处理do_log - $(".doLog").removeClass("hidden"); } + changeServiceId(); + var serviceId=$("[name='serviceId']").val(); + var configDoLog=$("#serviceId_"+serviceId).attr("configDoLog"); + processDoLog(configDoLog); }) $("#serviceId").val($(".action:checked").attr("serviceId")); $("#protocolId").val($(".action:checked").attr("protocolId")); @@ -225,7 +192,64 @@ var delContent = function(contentClassName, addBtnClassName) { $("." + contentClassName).addClass("hidden").addClass("disabled"); $("." + addBtnClassName).removeClass("hidden"); } +var changeServiceId=function () { + var action=$("[name='action']:checked").val(); + var protocolType=$("[name='userRegion1']").val(); + if(1==action){ + //512,592,128,129,130,131,132,133,143,146,150,151 + if(""==protocolType){ + $("#serviceId").val(128); + }else if("https"==protocolType){ + $("#serviceId").val(592); + }else if("http"==protocolType){ + $("#serviceId").val(129); + }else if("mail"==protocolType){ + $("#serviceId").val(132); + }else if("dns"==protocolType){ + $("#serviceId").val(130); + }else if("ftp"==protocolType){ + $("#serviceId").val(133); + }else if("bgp"==protocolType){ + $("#serviceId").val(143); + }else if("ssl"==protocolType){ + $("#serviceId").val(131); + }else if("p2p"==protocolType){ + $("#serviceId").val(146); + }else if("streaming_media"==protocolType){ + $("#serviceId").val(151); + }else if("voip"==protocolType){ + $("#serviceId").val(150); + }else if("intercept"==protocolType){ + $("#serviceId").val(512); + } + }else if(16==action){ + //576,16,17,18,19,20,21,31,34,38,39 + if(""==protocolType){ + $("#serviceId").val(16); + }else if("https"==protocolType){ + $("#serviceId").val(576); + }else if("http"==protocolType){ + $("#serviceId").val(17); + }else if("mail"==protocolType){ + $("#serviceId").val(20); + }else if("dns"==protocolType){ + $("#serviceId").val(18); + }else if("ftp"==protocolType){ + $("#serviceId").val(21); + }else if("bgp"==protocolType){ + $("#serviceId").val(31); + }else if("ssl"==protocolType){ + $("#serviceId").val(19); + }else if("p2p"==protocolType){ + $("#serviceId").val(34); + }else if("streaming_media"==protocolType){ + $("#serviceId").val(39); + }else if("voip"==protocolType){ + $("#serviceId").val(38); + } + } +} @@ -254,7 +278,10 @@ var delContent = function(contentClassName, addBtnClassName) { - + + + + <%-- --%> diff --git a/src/main/webapp/static/global/scripts/doLog.js b/src/main/webapp/static/global/scripts/doLog.js index 6a78427d9..496b3ac30 100644 --- a/src/main/webapp/static/global/scripts/doLog.js +++ b/src/main/webapp/static/global/scripts/doLog.js @@ -10,8 +10,10 @@ $(function(){ processDoLog(doLog); } $(".action").on("change",function(){ - var _doLog=$(this).attr("configDoLog"); - if(_doLog&&_doLog!=""){ + var _doLog=$(this).attr("configDoLog"); + var functionId=$("[name='functionId']").val(); + //888为策略对象策略,比较特殊 + if(_doLog&&_doLog!=""&&888!=functionId){ processDoLog(_doLog); } });