diff --git a/src/main/java/com/nis/domain/basics/PolicyGroupInfo.java b/src/main/java/com/nis/domain/basics/PolicyGroupInfo.java index 8148b6464..db39aa4fd 100644 --- a/src/main/java/com/nis/domain/basics/PolicyGroupInfo.java +++ b/src/main/java/com/nis/domain/basics/PolicyGroupInfo.java @@ -22,6 +22,7 @@ public class PolicyGroupInfo extends BaseCfg implements Seriali private Integer groupType; private Integer serviceGroupId; private String description; + private Integer asnNo; public Integer getServiceGroupId() { return serviceGroupId; @@ -65,4 +66,11 @@ public class PolicyGroupInfo extends BaseCfg implements Seriali public void setDescription(String description) { this.description = description; } + public Integer getAsnNo() { + return asnNo; + } + public void setAsnNo(Integer asnNo) { + this.asnNo = asnNo; + } + } diff --git a/src/main/java/com/nis/web/controller/basics/PolicyGroupController.java b/src/main/java/com/nis/web/controller/basics/PolicyGroupController.java index 52c71f74d..b16145507 100644 --- a/src/main/java/com/nis/web/controller/basics/PolicyGroupController.java +++ b/src/main/java/com/nis/web/controller/basics/PolicyGroupController.java @@ -1,9 +1,5 @@ package com.nis.web.controller.basics; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -116,4 +112,25 @@ public class PolicyGroupController extends BaseController { } return false; } + /** + * 校验asn号是否已存在 + */ + @ResponseBody + @RequestMapping(value = {"/checkAsnNo"}) + public boolean checkIp(PolicyGroupInfo cfg, HttpServletRequest request, HttpServletResponse response){ + + if(cfg.getGroupId() != null){ + PolicyGroupInfo policyGroup = policyGroupInfoService.getInfoByAsnNo(cfg); + if(policyGroup != null && policyGroup.getAsnNo().equals(cfg.getAsnNo()) ){ + return true; + } + } + cfg.setGroupId(null); + PolicyGroupInfo policyGroup = policyGroupInfoService.getInfoByAsnNo(cfg); + if(policyGroup != null){ + return false; + } + + return true; + } } diff --git a/src/main/java/com/nis/web/dao/basics/PolicyGroupInfoDao.java b/src/main/java/com/nis/web/dao/basics/PolicyGroupInfoDao.java index b855bac71..bdaa5a794 100644 --- a/src/main/java/com/nis/web/dao/basics/PolicyGroupInfoDao.java +++ b/src/main/java/com/nis/web/dao/basics/PolicyGroupInfoDao.java @@ -16,4 +16,6 @@ public interface PolicyGroupInfoDao extends CrudDao { List findPolicyGroupInfosHasIpRegionByType(int groupType); PolicyGroupInfo getById(int id); List findNatPolicyGroups(); + + PolicyGroupInfo getInfoByAsnNo(PolicyGroupInfo policyGroupInfo); } \ No newline at end of file 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 cfa15196a..b50367fa1 100644 --- a/src/main/java/com/nis/web/dao/basics/PolicyGroupInfoDao.xml +++ b/src/main/java/com/nis/web/dao/basics/PolicyGroupInfoDao.xml @@ -12,11 +12,12 @@ + - r.group_id,r.group_name,r.group_type,r.is_valid,r.create_time, - r.edit_time,r.creator_id,r.editor_id,r.service_group_id,r.description + r.group_id,r.group_name,r.group_type,r.is_valid,r.create_time,r.edit_time, + r.creator_id,r.editor_id,r.service_group_id,r.asn_no,r.description @@ -41,6 +42,9 @@ AND r.group_type =#{groupType } + + AND r.asn_no =#{asnNo } + AND r.IS_VALID =1 AND CREATOR_NAME like concat(concat('%',#{creatorName,jdbcType=VARCHAR}),'%') @@ -97,6 +101,7 @@ GROUP_NAME, GROUP_TYPE, SERVICE_GROUP_ID, + ASN_NO, DESCRIPTION )values ( 1, @@ -105,6 +110,7 @@ #{groupName,jdbcType=VARCHAR}, #{groupType,jdbcType=INTEGER}, #{serviceGroupId,jdbcType=INTEGER}, + #{asnNo,jdbcType=INTEGER}, #{description,jdbcType=VARCHAR} ) @@ -118,6 +124,9 @@ group_type = #{groupType,jdbcType=INTEGER}, + + asn_no = #{asnNo,jdbcType=INTEGER}, + description = #{description,jdbcType=VARCHAR}, @@ -147,4 +156,24 @@ from policy_group_info r where r.group_id =#{groupId} + \ No newline at end of file diff --git a/src/main/java/com/nis/web/service/basics/PolicyGroupInfoService.java b/src/main/java/com/nis/web/service/basics/PolicyGroupInfoService.java index 795ec3803..0305e5c18 100644 --- a/src/main/java/com/nis/web/service/basics/PolicyGroupInfoService.java +++ b/src/main/java/com/nis/web/service/basics/PolicyGroupInfoService.java @@ -93,6 +93,7 @@ public class PolicyGroupInfoService extends BaseService{ group.setGroupName(entity.getGroupName()); group.setIsIssued(0); group.setGroupType(entity.getGroupType()); + group.setAsnId(entity.getAsnNo()); specificServiceCfgDao.insertConfigGroupInfo(group); } } @@ -139,6 +140,11 @@ public class PolicyGroupInfoService extends BaseService{ } return false; } + + public PolicyGroupInfo getInfoByAsnNo(PolicyGroupInfo policyGroupInfo){ + return policyGroupInfoDao.getInfoByAsnNo(policyGroupInfo); + } + public void getByIds(String ids) { // TODO Auto-generated method stub diff --git a/src/main/webapp/WEB-INF/views/basics/policyGroupForm.jsp b/src/main/webapp/WEB-INF/views/basics/policyGroupForm.jsp index 63d1f17d8..0c720a518 100644 --- a/src/main/webapp/WEB-INF/views/basics/policyGroupForm.jsp +++ b/src/main/webapp/WEB-INF/views/basics/policyGroupForm.jsp @@ -13,8 +13,19 @@ $(function(){ }); $("[name=groupType]").selectpicker("refresh"); } - $(".action").on("change", function() { + /* $(".action").on("change", function() { $("#serviceId").val($(this).attr("serviceId")); + }); */ + + if($("#groupType").val() == 4){ + $("#asnNo").parents(".form-group").removeClass("hidden"); + } + $("#groupType").on("change",function(){ + if($(this).val() != 4){ + $("#asnNo").parents(".form-group").addClass("hidden"); + }else{ + $("#asnNo").parents(".form-group").removeClass("hidden"); + } }); $("#cfgFrom").validate({ errorPlacement: function(error,element){ @@ -63,13 +74,14 @@ $(function(){
+
- @@ -88,6 +100,15 @@ $(function(){
+
+ +
diff --git a/src/main/webapp/WEB-INF/views/basics/policyGroupList.jsp b/src/main/webapp/WEB-INF/views/basics/policyGroupList.jsp index 59cdaf382..e74e578bb 100644 --- a/src/main/webapp/WEB-INF/views/basics/policyGroupList.jsp +++ b/src/main/webapp/WEB-INF/views/basics/policyGroupList.jsp @@ -137,6 +137,7 @@ +
@@ -216,6 +217,7 @@ + @@ -239,6 +241,7 @@ + ${cfg.asnNo} ${fns:abbr(cfg.description,20)} ${cfg.creatorName } diff --git a/src/main/webapp/static/global/plugins/jquery-validation/1.11.0/jquery.validate.method.js b/src/main/webapp/static/global/plugins/jquery-validation/1.11.0/jquery.validate.method.js index 7c1fea269..e372daf00 100644 --- a/src/main/webapp/static/global/plugins/jquery-validation/1.11.0/jquery.validate.method.js +++ b/src/main/webapp/static/global/plugins/jquery-validation/1.11.0/jquery.validate.method.js @@ -924,7 +924,7 @@ var fillIp=function (ip){ } return ip; } - +// snat复用地址池ip唯一 jQuery.validator.addMethod("ipUnique",function(value, element) { var ctx=$(element).attr("ctx"); var cfgId= $("[name='cfgId']").val(); @@ -941,4 +941,21 @@ jQuery.validator.addMethod("ipUnique",function(value, element) { } }); return result; +}); +// 策略分组管理asn号唯一 +jQuery.validator.addMethod("asnNoUnique",function(value, element) { + var ctx=$(element).attr("ctx"); + var groupId= $("[name='groupId']").val(); + var url = ctx+"/basics/policyGroup/checkAsnNo"; + var result = true; + $.ajax({ + type:'post', + async:false, + url: url, + data:{"groupId":groupId,"asnNo":value}, + success:function(data){ + result = data; + } + }); + return result; }); \ No newline at end of file diff --git a/src/main/webapp/static/global/plugins/jquery-validation/1.11.0/localization/messages_en.js b/src/main/webapp/static/global/plugins/jquery-validation/1.11.0/localization/messages_en.js index 3312d1c1f..6aa911646 100644 --- a/src/main/webapp/static/global/plugins/jquery-validation/1.11.0/localization/messages_en.js +++ b/src/main/webapp/static/global/plugins/jquery-validation/1.11.0/localization/messages_en.js @@ -76,6 +76,7 @@ protocolPort:"TCP protocol or UDP protocol must be chosen when port is greater than 0", protocolPort1:"Only when TCP protocol or UDP protocol is chosen can port greater than 0,ALL protocol has no limit", netAddress:"The class C type of IP addresses must has the same network number bit field", - ipUnique:"IP already exists." + ipUnique:"IP already exists.", + asnNoUnique:"ASN already exists." }); }(jQuery)); diff --git a/src/main/webapp/static/global/plugins/jquery-validation/1.11.0/localization/messages_zh.js b/src/main/webapp/static/global/plugins/jquery-validation/1.11.0/localization/messages_zh.js index f6b3e95d8..9c96f7146 100644 --- a/src/main/webapp/static/global/plugins/jquery-validation/1.11.0/localization/messages_zh.js +++ b/src/main/webapp/static/global/plugins/jquery-validation/1.11.0/localization/messages_zh.js @@ -76,6 +76,7 @@ protocolPort:"端口大于0时必须选择TCP协议或者UDP协议", protocolPort1:"只有tcp,udp协议端口号可以不为0,全部协议无限制", netAddress:"C类IP地址网络位必须相同", - ipUnique:"IP已存在" + ipUnique:"IP已存在", + asnNoUnique:"ASN号已存在", }); }(jQuery));