diff --git a/src/main/java/com/nis/web/controller/configuration/maintenance/IpAddrPoolController.java b/src/main/java/com/nis/web/controller/configuration/maintenance/IpAddrPoolController.java index 3d76f6f8e..80cc4fc1a 100644 --- a/src/main/java/com/nis/web/controller/configuration/maintenance/IpAddrPoolController.java +++ b/src/main/java/com/nis/web/controller/configuration/maintenance/IpAddrPoolController.java @@ -1,6 +1,7 @@ package com.nis.web.controller.configuration.maintenance; import java.util.Date; +import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -16,6 +17,7 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes; import com.nis.domain.Page; import com.nis.domain.basics.PolicyGroupInfo; +import com.nis.domain.configuration.BaseIpCfg; import com.nis.domain.configuration.IpAddrPoolCfg; import com.nis.domain.configuration.IpMultiplexPoolCfg; import com.nis.exceptions.MaatConvertException; @@ -160,4 +162,24 @@ public class IpAddrPoolController extends BaseController{ } return true; } + + /** + * 校验地址池是否被策略引用 + * @param addrPoolIds + * @param request + * @param response + * @return + */ + @ResponseBody + @RequestMapping(value = {"/ajaxIsUsed"}) + public boolean ajaxIsUsed(String addrPoolIds, HttpServletRequest request, HttpServletResponse response){ + for (String addrPoolId : addrPoolIds.split(",")) { + List ipList = ipCfgService.checkAddrPoolIsUsed(addrPoolId); + if(ipList != null && ipList.size() > 0){ + return false; + } + } + return true; + + } } diff --git a/src/main/java/com/nis/web/dao/basics/PolicyGroupInfoDao.xml b/src/main/java/com/nis/web/dao/basics/PolicyGroupInfoDao.xml index 055946bec..145a2306d 100644 --- a/src/main/java/com/nis/web/dao/basics/PolicyGroupInfoDao.xml +++ b/src/main/java/com/nis/web/dao/basics/PolicyGroupInfoDao.xml @@ -42,6 +42,10 @@ AND r.group_type =#{groupType } + + AND r.group_type != 2 + AND r.group_type != 3 + AND r.asn_no =#{asnNo } diff --git a/src/main/java/com/nis/web/dao/configuration/ConfigSynchronizationDao.java b/src/main/java/com/nis/web/dao/configuration/ConfigSynchronizationDao.java index e8f1301b2..1d39c6b20 100644 --- a/src/main/java/com/nis/web/dao/configuration/ConfigSynchronizationDao.java +++ b/src/main/java/com/nis/web/dao/configuration/ConfigSynchronizationDao.java @@ -89,4 +89,5 @@ public interface ConfigSynchronizationDao { public List getStrListByService(BaseCfg entity); public List getComplexStrListByService(BaseCfg entity); public List getAppIpPortList(@Param("tableName")String tableName,@Param("compileIds")List compileIds); + public List getAppIpFeatureList(BaseCfg entity); } diff --git a/src/main/java/com/nis/web/dao/configuration/ConfigSynchronizationDao.xml b/src/main/java/com/nis/web/dao/configuration/ConfigSynchronizationDao.xml index 8d5abd9d9..fe765303a 100644 --- a/src/main/java/com/nis/web/dao/configuration/ConfigSynchronizationDao.xml +++ b/src/main/java/com/nis/web/dao/configuration/ConfigSynchronizationDao.xml @@ -1278,7 +1278,7 @@ a.area_effective_ids,a.function_id,a.do_log,a.user_region1,a.user_region2, a.user_region3,a.user_region4,a.user_region5, - + a.domain as cfg_keywords, @@ -1341,6 +1341,35 @@ ORDER BY a.CFG_ID + diff --git a/src/main/resources/sql/20181129/add_ip_reuse_addr_pool.sql b/src/main/resources/sql/20181129/add_ip_reuse_addr_pool.sql index 816c0566e..547d74364 100644 --- a/src/main/resources/sql/20181129/add_ip_reuse_addr_pool.sql +++ b/src/main/resources/sql/20181129/add_ip_reuse_addr_pool.sql @@ -6,8 +6,8 @@ CREATE TABLE `ip_reuse_addr_pool` ( `cfg_id` bigint(20) NOT NULL AUTO_INCREMENT, `addr_pool_id` int(11) NOT NULL COMMENT '地址池ID', `addr_pool_name` varchar(128) DEFAULT NULL COMMENT '地址池名称', - `ip_total` int(11) DEFAULT NULL COMMENT '地址池IP总数', - `available_ip_total` int(11) DEFAULT NULL COMMENT '地址池可用IP数', + `ip_total` int(11) NOT NULL DEFAULT 0 COMMENT '地址池IP总数', + `available_ip_total` int(11) NOT NULL DEFAULT 0 COMMENT '地址池可用IP数', `action` int(11) NOT NULL COMMENT '1:阻断,2:监测, 5: FD 白名单,6:监测白名单,7: FD 监测都白名单,应与业务ID所代表的逻辑相匹配,8-灰名单', `is_valid` int(11) NOT NULL COMMENT '0无效,1有效,-1删除\r\n1) 未审核时配置可删除\r\n2) 审核通过,此字段置1\r\n3) 取消审核通过,此字段置0', `is_audit` int(11) NOT NULL COMMENT '0未审核,1审核通过,2审核未通过,3取消审核通过\r\n1) 审核未通过,配置可修改\r\n2) 审核通过,配置不可删除,只能取消审核通过', diff --git a/src/main/webapp/WEB-INF/tags/sys/delRow.tag b/src/main/webapp/WEB-INF/tags/sys/delRow.tag index 018314742..a32b06f8c 100644 --- a/src/main/webapp/WEB-INF/tags/sys/delRow.tag +++ b/src/main/webapp/WEB-INF/tags/sys/delRow.tag @@ -51,6 +51,7 @@ function del(url){ top.$.jBox.tip("", ""); return; }else{ + var addrPoolIds = []; var serviceGroupIds=[],ids=[],canDel=true; $(checkboxes).filter(":checked").each(function(){ if($(this).attr("serviceGroupId")&&$(this).attr("isValid")){ @@ -59,6 +60,10 @@ function del(url){ } ids.push($(this).attr("id")); } + var addrPoolId = $(this).attr("addressPoolId"); + if(typeof addrPoolId != "undefined"){ + addrPoolIds.push(addrPoolId); + } }) if(serviceGroupIds.length>0){ $.ajax({ @@ -74,6 +79,23 @@ function del(url){ } }); } + + // 地址池管理 (只有未被策略引用的地址池可删除) + if(addrPoolIds.length > 0){ + $.ajax({ + type:'post', + url:'${ctx}/maintenance/ipMultiplexPoolCfg/ajaxIsUsed', + data:{"addrPoolIds":addrPoolIds.join(',')}, + async:false, + success:function(data){//处理返回结果 + if(data == false){ + top.$.jBox.tip(''); + canDel=data; + } + } + }); + } + if(canDel){ doAll(checkboxes,url); } diff --git a/src/main/webapp/WEB-INF/views/basics/policyGroupForm.jsp b/src/main/webapp/WEB-INF/views/basics/policyGroupForm.jsp index 9f275e19e..926967c4c 100644 --- a/src/main/webapp/WEB-INF/views/basics/policyGroupForm.jsp +++ b/src/main/webapp/WEB-INF/views/basics/policyGroupForm.jsp @@ -83,7 +83,9 @@ $(function(){
diff --git a/src/main/webapp/WEB-INF/views/basics/policyGroupList.jsp b/src/main/webapp/WEB-INF/views/basics/policyGroupList.jsp index e74e578bb..c3f252b37 100644 --- a/src/main/webapp/WEB-INF/views/basics/policyGroupList.jsp +++ b/src/main/webapp/WEB-INF/views/basics/policyGroupList.jsp @@ -119,13 +119,15 @@ diff --git a/src/main/webapp/WEB-INF/views/cfg/maintenance/ipMultiplexPool/snatlist2.jsp b/src/main/webapp/WEB-INF/views/cfg/maintenance/ipMultiplexPool/snatlist2.jsp index 425f8e27f..d1d335d30 100644 --- a/src/main/webapp/WEB-INF/views/cfg/maintenance/ipMultiplexPool/snatlist2.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/maintenance/ipMultiplexPool/snatlist2.jsp @@ -314,7 +314,7 @@ - + ${cfg.addrPoolId }