策略分组添加asn号属性.

This commit is contained in:
zhangwq
2018-10-25 19:43:54 +08:00
parent 6855454715
commit 5b89e6cff5
10 changed files with 116 additions and 11 deletions

View File

@@ -22,6 +22,7 @@ public class PolicyGroupInfo extends BaseCfg<PolicyGroupInfo> 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<PolicyGroupInfo> implements Seriali
public void setDescription(String description) {
this.description = description;
}
public Integer getAsnNo() {
return asnNo;
}
public void setAsnNo(Integer asnNo) {
this.asnNo = asnNo;
}
}

View File

@@ -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;
}
}

View File

@@ -16,4 +16,6 @@ public interface PolicyGroupInfoDao extends CrudDao<PolicyGroupInfo> {
List<PolicyGroupInfo> findPolicyGroupInfosHasIpRegionByType(int groupType);
PolicyGroupInfo getById(int id);
List<PolicyGroupInfo> findNatPolicyGroups();
PolicyGroupInfo getInfoByAsnNo(PolicyGroupInfo policyGroupInfo);
}

View File

@@ -12,11 +12,12 @@
<result column="creator_id" property="creatorId" jdbcType="INTEGER" />
<result column="editor_id" property="editorId" jdbcType="INTEGER" />
<result column="service_group_id" property="serviceGroupId" jdbcType="INTEGER" />
<result column="asn_no" property="asnNo" jdbcType="INTEGER" />
<result column="description" property="description" jdbcType="VARCHAR" />
</resultMap>
<sql id="PolicyGroupInfoColumns">
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
</sql>
<!-- 查出所有 有效数据-->
@@ -41,6 +42,9 @@
<if test="groupType != null">
AND r.group_type =#{groupType }
</if>
<if test="asnNo != null">
AND r.asn_no =#{asnNo }
</if>
AND r.IS_VALID =1
<if test="creatorName != null and creatorName != ''">
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}
)
</insert>
@@ -118,6 +124,9 @@
<if test="groupType != null" >
group_type = #{groupType,jdbcType=INTEGER},
</if>
<if test="asnNo != null" >
asn_no = #{asnNo,jdbcType=INTEGER},
</if>
<if test="description != null" >
description = #{description,jdbcType=VARCHAR},
</if>
@@ -147,4 +156,24 @@
from policy_group_info r
where r.group_id =#{groupId}
</select>
<select id="getInfoByAsnNo" resultType="com.nis.domain.basics.PolicyGroupInfo">
SELECT
<include refid="PolicyGroupInfoColumns"/>
FROM
policy_group_info r
<trim prefix="WHERE" prefixOverrides="AND |OR ">
<if test="groupId != null" >
AND group_id = #{groupId,jdbcType=INTEGER}
</if>
<if test="asnNo != null" >
AND asn_no = #{asnNo,jdbcType=INTEGER}
</if>
<if test="isValid != null" >
AND is_valid = #{isValid,jdbcType=INTEGER}
</if>
<if test="isValid == null" >
AND is_valid != -1
</if>
</trim>
</select>
</mapper>

View File

@@ -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

View File

@@ -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(){
<div class="col-md-6">
<input class="form-control required" type="text" name="groupName" value="${_cfg.groupName}">
</div>
<div for="groupName"></div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="group_type"/></label>
<div class="col-md-6">
<select name="groupType" class="selectpicker select2 form-control required" >
<select id="groupType" name="groupType" class="selectpicker select2 form-control required" >
<c:forEach items="${fns:getDictList('GROUP_TYPE')}" var="groupTypeC">
<option value="${groupTypeC.itemCode}" <c:if test="${_cfg.groupType==groupTypeC.itemCode || (_cfg.groupType==null && groupTypeC.itemCode==1)}">selected</c:if>><spring:message code="${groupTypeC.itemValue}"/></option>
</c:forEach>
@@ -88,6 +100,15 @@ $(function(){
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group hidden">
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="asn_no"/></label>
<div class="col-md-6">
<input id="asnNo" class="form-control required asnNoUnique" type="text" name="asnNo" value="${_cfg.asnNo}" autocomplete="off" maxlength="20" ctx="${ctx }">
</div>
<div for="asnNo"></div>
</div>
</div>
</div>
</div>
<div class="form-actions">

View File

@@ -137,6 +137,7 @@
<form:select path="seltype" class="selectpicker select2 input-small" >
<form:option value="groupName"><spring:message code="group_name"></spring:message></form:option>
<form:option value="asnNo"><spring:message code="asn_no"></spring:message></form:option>
</form:select>
</div>
@@ -216,6 +217,7 @@
<th><input type="checkbox" class="i-checks" id="checkAll"></th>
<th><spring:message code="group_name"/></th>
<th><spring:message code="group_type"/></th>
<th><spring:message code="asn_no"/></th>
<th><spring:message code="desc"/></th>
<th><spring:message code="creator"/></th>
<th class="sort-column r.create_time"><spring:message code="config_time"/></th>
@@ -239,6 +241,7 @@
<c:if test="${cfg.groupType==groupTypeC.itemCode }"><spring:message code="${groupTypeC.itemValue}"/></c:if>
</c:forEach>
</td>
<td>${cfg.asnNo}</td>
<td title="${cfg.description }">${fns:abbr(cfg.description,20)}</td>
<td>${cfg.creatorName }</td>
<td><fmt:formatDate value="${cfg.createTime }" pattern="yyyy-MM-dd HH:mm:ss"/></td>

View File

@@ -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;
});

View File

@@ -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));

View File

@@ -76,6 +76,7 @@
protocolPort:"端口大于0时必须选择TCP协议或者UDP协议",
protocolPort1:"只有tcp,udp协议端口号可以不为0,全部协议无限制",
netAddress:"C类IP地址网络位必须相同",
ipUnique:"IP已存在"
ipUnique:"IP已存在",
asnNoUnique:"ASN号已存在",
});
}(jQuery));