diff --git a/src/main/java/com/nis/web/controller/configuration/manipulation/IpMultiplexController.java b/src/main/java/com/nis/web/controller/configuration/manipulation/IpMultiplexController.java index 04f58a69d..ad8b5c716 100644 --- a/src/main/java/com/nis/web/controller/configuration/manipulation/IpMultiplexController.java +++ b/src/main/java/com/nis/web/controller/configuration/manipulation/IpMultiplexController.java @@ -111,4 +111,101 @@ public class IpMultiplexController extends CommonController { @ModelAttribute("cfg")IpPortCfg entity,String ids,RedirectAttributes redirectAttributes){ this._exportIp(columns,model, request, response, entity, ids, redirectAttributes); } + + /** + * IP复用策略拆分为SNAT/DNAT复用策略 + */ + @RequestMapping(value = {"/snatPolicyList"}) + public String snatPolicyList(String cfgName,Model model,@ModelAttribute("cfg")IpPortCfg cfg,HttpServletRequest request,HttpServletResponse response) { + this._ipList(cfgName,model, cfg, request, response); + return "/cfg/manipulation/ipmulitiplex/snatPolicyList"; + } + + @RequestMapping(value = {"/snatPolicyForm"}) + @RequiresPermissions(value={"snat_policy:config"}) + public String snatPolicyForm(String cfgName,Model model,String ids,Integer functionId,BaseIpCfg entity) { + this._ipForm(cfgName,model, ids, functionId, entity); + SysDataDictionaryItem dict=null; + List dictList= DictUtils.getDictList("GROUP_TYPE"); + for(SysDataDictionaryItem di:dictList){ + if("2".equals(di.getItemCode())){ + dict=di; + break; + } + } + if(dict!=null){ + List policyGroups=policyGroupInfoService.findPolicyGroupInfosByType(Integer.parseInt(dict.getItemCode())); + model.addAttribute("policyGroups", policyGroups); + } + + model.addAttribute("urlPrefix","/manipulation/ipmulitiplex"); + return "/cfg/manipulation/ipmulitiplex/snatPolicyForm"; + } + + @RequestMapping(value = {"/saveOrUpdateSnat"}) + public String saveOrUpdateSnat(String cfgName,RedirectAttributes model, IpPortCfg cfg) { + this._saveOrUpdateIp(cfgName,model, cfg); + return "redirect:" + adminPath +"/manipulation/ipmulitiplex/snatPolicyList?functionId="+cfg.getFunctionId(); + } + + @RequestMapping(value = {"/snatDelete"}) + @RequiresPermissions("snat_policy:config") + public String snatDelete(String cfgName,String ids,String compileIds,Integer functionId,RedirectAttributes model) { + this._deleteIp(cfgName,ids, compileIds, functionId, model); + return "redirect:" + adminPath +"/manipulation/ipmulitiplex/snatPolicyList?functionId="+functionId; + } + + @RequestMapping(value = {"/auditSnat"}) + @RequiresPermissions("snat_policy:confirm") + public String auditSnat(String cfgName,String ids,IpPortCfg cfg,RedirectAttributes redirectAttributes) { + this._auditIp(cfgName,ids, cfg, redirectAttributes); + return "redirect:" + adminPath +"/manipulation/ipmulitiplex/snatPolicyList?functionId="+cfg.getFunctionId(); + } + + @RequestMapping(value = {"/dnatPolicyList"}) + public String dnatPolicyList(String cfgName,Model model,@ModelAttribute("cfg")IpPortCfg cfg,HttpServletRequest request,HttpServletResponse response) { + this._ipList(cfgName,model, cfg, request, response); + return "/cfg/manipulation/ipmulitiplex/dnatPolicyList"; + } + + @RequestMapping(value = {"/dnatPolicyForm"}) + @RequiresPermissions(value={"dnat_policy:config"}) + public String dnatPolicyForm(String cfgName,Model model,String ids,Integer functionId,BaseIpCfg entity) { + this._ipForm(cfgName,model, ids, functionId, entity); + SysDataDictionaryItem dict=null; + List dictList= DictUtils.getDictList("GROUP_TYPE"); + for(SysDataDictionaryItem di:dictList){ + if("3".equals(di.getItemCode())){ + dict=di; + break; + } + } + if(dict!=null){ + List policyGroups=policyGroupInfoService.findPolicyGroupInfosByType(Integer.parseInt(dict.getItemCode())); + model.addAttribute("policyGroups", policyGroups); + } + + model.addAttribute("urlPrefix","/manipulation/ipmulitiplex"); + return "/cfg/manipulation/ipmulitiplex/dnatPolicyForm"; + } + + @RequestMapping(value = {"/saveOrUpdateDnat"}) + public String saveOrUpdateDnat(String cfgName,RedirectAttributes model, IpPortCfg cfg) { + this._saveOrUpdateIp(cfgName,model, cfg); + return "redirect:" + adminPath +"/manipulation/ipmulitiplex/dnatPolicyList?functionId="+cfg.getFunctionId(); + } + + @RequestMapping(value = {"/dnatDelete"}) + @RequiresPermissions("dnat_policy:config") + public String dnatDelete(String cfgName,String ids,String compileIds,Integer functionId,RedirectAttributes model) { + this._deleteIp(cfgName,ids, compileIds, functionId, model); + return "redirect:" + adminPath +"/manipulation/ipmulitiplex/dnatPolicyList?functionId="+functionId; + } + + @RequestMapping(value = {"/auditDnat"}) + @RequiresPermissions("dnat_policy:confirm") + public String auditDnat(String cfgName,String ids,IpPortCfg cfg,RedirectAttributes redirectAttributes) { + this._auditIp(cfgName,ids, cfg, redirectAttributes); + return "redirect:" + adminPath +"/manipulation/ipmulitiplex/dnatPolicyList?functionId="+cfg.getFunctionId(); + } } diff --git a/src/main/java/com/nis/web/service/configuration/IpCfgService.java b/src/main/java/com/nis/web/service/configuration/IpCfgService.java index 74dc68a9d..ecc5e0619 100644 --- a/src/main/java/com/nis/web/service/configuration/IpCfgService.java +++ b/src/main/java/com/nis/web/service/configuration/IpCfgService.java @@ -334,7 +334,7 @@ public class IpCfgService extends CrudService { Map areaMap = cfgConvert(areaIpRegionList,beans1,1,cfg,groupRelationList); groupRelationList=areaMap.get("groupList"); areaIpRegionList=areaMap.get("dstList"); - maatCfg.setAreaEffectiveIds(StringUtils.isBlank(cfg.getAreaEffectiveIds())?"0":cfg.getAreaEffectiveIds()); + //maatCfg.setAreaEffectiveIds(StringUtils.isBlank(cfg.getAreaEffectiveIds())?"0":cfg.getAreaEffectiveIds()); maatCfg.setAction(cfg.getAction()); maatCfg.setAuditTime(cfg.getAuditTime()); maatCfg.setIpRegionList(ipRegionList); diff --git a/src/main/resources/messages/message_en.properties b/src/main/resources/messages/message_en.properties index a3efb056b..acf20f5b9 100644 --- a/src/main/resources/messages/message_en.properties +++ b/src/main/resources/messages/message_en.properties @@ -1195,3 +1195,5 @@ dnat_ip_complex_loop=DNAT Complex Loop snat_ip_complex_loop=SNAT Complex Loop snat_ip_reuse_adress_pool_loop=SNAT IP Reuse Address Pool Loop dnat_ip_reuse_adress_pool_loop=DNAT IP Reuse Address Pool Loop +snat_policy=SNAT Reuse Policy +dnat_policy=DNAT Reuse Policy \ 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 d347a5db6..5a1669eb9 100644 --- a/src/main/resources/messages/message_zh_CN.properties +++ b/src/main/resources/messages/message_zh_CN.properties @@ -1188,4 +1188,6 @@ APP_DNS_ADMIN=APP DNS Admin APP_SSL_ADMIN=APP SSL Admin APP_DK_GL=APP\u591A\u7528\u9014\u6807\u7B7E dnat_complex_loop=DNAT IP\u590D\u7528\u56DE\u6D41 -ip_reuse_adress_pool_loop=IP\u590D\u7528\u5730\u5740\u6C60\u56DE\u6D41 +ip_reuse_adress_pool_loop=IP\u590D\u7528\u5730\u5740\u6C60\u56DE\u6D41 +snat_policy=SNAT\u590D\u7528\u7B56\u7565 +dnat_policy=DNAT\u590D\u7528\u7B56\u7565 diff --git a/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/dnatPolicyForm.jsp b/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/dnatPolicyForm.jsp new file mode 100644 index 000000000..efce906b0 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/dnatPolicyForm.jsp @@ -0,0 +1,346 @@ +<%@ page contentType="text/html;charset=UTF-8"%> +<%@ include file="/WEB-INF/include/taglib.jsp"%> + + +<spring:message code="${cfgName}"></spring:message> + + + +
+

+ +

+
+
+
+
+
+ + + +
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+ +
+
+ +
+ + + +
+
+
+
+
+
+ <%--@include file="/WEB-INF/include/form/complexIpInfo.jsp" --%> +
+
+
+
+ +
+ +
+
+
+
+ +
+
+ +
+ +
+
+
+
+
+
+ + +
+ +
+ <%--
+
+ +
+ +
+
+
+
--%> +
+
+ +
+ +
+
+
+
+
+
+ +
+ +
+
+
+
+
+
+ <%--
+
+ +
+ +
+
+
+
--%> +
+
+ +
+ +
+
+
+
+
+ <%--
+ +
--%> +
+
+
+ + +
+ + <%@include file="/WEB-INF/include/form/basicInfo.jsp" %> +
+
+
+
+
+
+ + +
+
+
+
+
+
+ + +
+
+
+
+
+
+ + \ No newline at end of file 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 new file mode 100644 index 000000000..3412b2168 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/dnatPolicyList.jsp @@ -0,0 +1,415 @@ +<%@ page contentType="text/html;charset=UTF-8"%> +<%@ include file="/WEB-INF/include/taglib.jsp"%> + + +<spring:message code="dnat_policy"></spring:message> + + + + + + +
+ + +

+ +

+ +
+
+
+
+ + + + + + + + + + +
+
+ + + + + + + +
+ +
+ +
+
+ + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
+
+
+ + + +
+
+ + + + + +
+ + +
+
+ href="javascript:;"> + + +
+
+ + + +
+
+ +
+ +
+ + + + + + + + +
+ +
+ +
+ +
+ + + + + + + +
+ +
+ +
+ +
+ + + + + + + + +
+ +
+ +
+ +
+ + + + + + + +
+ +
+ +
+ +
+
+
+ + +
+
+ +
+
+ + " onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> + +
+
+ +
+
+ + " onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> + +
+
+ +
+
+ + " onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> + +
+
+ +
+
+ + " onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> + +
+
+ +
+
+ + " onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> + +
+
+
+ + +
+ + +
+
+
+ + + + + + + + <%-- --%> + <%-- --%> + + + + + + + + + + + + + + + + + + + + + + + <%-- --%> + <%-- --%> + + + + + + + + + + + + + + + + +
+ + ${indexCfg.compileId }${indexCfg.cfgDesc } + + + + + + + + + + + + + + + + + + + ${indexCfg.requestName } + + + + + + + + + + + + + + + ${fns:abbr(classify,20)} + + + + + + + + + + + + + + + + + ${fns:abbr(attribute,20)} + + + + + + + + + + + + + + + + + + ${fns:abbr(lableInfo,20)} + + + + + + + + + + + + +
${indexCfg.creatorName }${indexCfg.editorName }${indexCfg.auditorName }
+
${page}
+
+
+
+
+
+ + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/form.jsp b/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/snatPolicyForm.jsp similarity index 92% rename from src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/form.jsp rename to src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/snatPolicyForm.jsp index dd41278a1..6b7240b68 100644 --- a/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/form.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/snatPolicyForm.jsp @@ -20,11 +20,11 @@ $(function(){ $(element).parents(".form-group").find("div[for='"+element.attr("name")+"']").append(error); }, submitHandler: function(form){ - loading(''); + //loading(''); form.submit(); }, errorContainer: "#messageBox" - }); + }); }); @@ -45,7 +45,7 @@ $(function(){
-
+
@@ -90,6 +90,20 @@ $(function(){
+
+
+ +
+ +
+
+
+
@@ -142,9 +156,18 @@ $(function(){
+
+
+ +
+ +
+
+
+
-
+