策略分组添加asn号属性.
This commit is contained in:
@@ -22,6 +22,7 @@ public class PolicyGroupInfo extends BaseCfg<PolicyGroupInfo> implements Seriali
|
|||||||
private Integer groupType;
|
private Integer groupType;
|
||||||
private Integer serviceGroupId;
|
private Integer serviceGroupId;
|
||||||
private String description;
|
private String description;
|
||||||
|
private Integer asnNo;
|
||||||
|
|
||||||
public Integer getServiceGroupId() {
|
public Integer getServiceGroupId() {
|
||||||
return serviceGroupId;
|
return serviceGroupId;
|
||||||
@@ -65,4 +66,11 @@ public class PolicyGroupInfo extends BaseCfg<PolicyGroupInfo> implements Seriali
|
|||||||
public void setDescription(String description) {
|
public void setDescription(String description) {
|
||||||
this.description = description;
|
this.description = description;
|
||||||
}
|
}
|
||||||
|
public Integer getAsnNo() {
|
||||||
|
return asnNo;
|
||||||
|
}
|
||||||
|
public void setAsnNo(Integer asnNo) {
|
||||||
|
this.asnNo = asnNo;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,5 @@
|
|||||||
package com.nis.web.controller.basics;
|
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.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
@@ -116,4 +112,25 @@ public class PolicyGroupController extends BaseController {
|
|||||||
}
|
}
|
||||||
return false;
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,4 +16,6 @@ public interface PolicyGroupInfoDao extends CrudDao<PolicyGroupInfo> {
|
|||||||
List<PolicyGroupInfo> findPolicyGroupInfosHasIpRegionByType(int groupType);
|
List<PolicyGroupInfo> findPolicyGroupInfosHasIpRegionByType(int groupType);
|
||||||
PolicyGroupInfo getById(int id);
|
PolicyGroupInfo getById(int id);
|
||||||
List<PolicyGroupInfo> findNatPolicyGroups();
|
List<PolicyGroupInfo> findNatPolicyGroups();
|
||||||
|
|
||||||
|
PolicyGroupInfo getInfoByAsnNo(PolicyGroupInfo policyGroupInfo);
|
||||||
}
|
}
|
||||||
@@ -12,11 +12,12 @@
|
|||||||
<result column="creator_id" property="creatorId" jdbcType="INTEGER" />
|
<result column="creator_id" property="creatorId" jdbcType="INTEGER" />
|
||||||
<result column="editor_id" property="editorId" jdbcType="INTEGER" />
|
<result column="editor_id" property="editorId" jdbcType="INTEGER" />
|
||||||
<result column="service_group_id" property="serviceGroupId" 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" />
|
<result column="description" property="description" jdbcType="VARCHAR" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
<sql id="PolicyGroupInfoColumns">
|
<sql id="PolicyGroupInfoColumns">
|
||||||
r.group_id,r.group_name,r.group_type,r.is_valid,r.create_time,
|
r.group_id,r.group_name,r.group_type,r.is_valid,r.create_time,r.edit_time,
|
||||||
r.edit_time,r.creator_id,r.editor_id,r.service_group_id,r.description
|
r.creator_id,r.editor_id,r.service_group_id,r.asn_no,r.description
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<!-- 查出所有 有效数据-->
|
<!-- 查出所有 有效数据-->
|
||||||
@@ -41,6 +42,9 @@
|
|||||||
<if test="groupType != null">
|
<if test="groupType != null">
|
||||||
AND r.group_type =#{groupType }
|
AND r.group_type =#{groupType }
|
||||||
</if>
|
</if>
|
||||||
|
<if test="asnNo != null">
|
||||||
|
AND r.asn_no =#{asnNo }
|
||||||
|
</if>
|
||||||
AND r.IS_VALID =1
|
AND r.IS_VALID =1
|
||||||
<if test="creatorName != null and creatorName != ''">
|
<if test="creatorName != null and creatorName != ''">
|
||||||
AND CREATOR_NAME like concat(concat('%',#{creatorName,jdbcType=VARCHAR}),'%')
|
AND CREATOR_NAME like concat(concat('%',#{creatorName,jdbcType=VARCHAR}),'%')
|
||||||
@@ -97,6 +101,7 @@
|
|||||||
GROUP_NAME,
|
GROUP_NAME,
|
||||||
GROUP_TYPE,
|
GROUP_TYPE,
|
||||||
SERVICE_GROUP_ID,
|
SERVICE_GROUP_ID,
|
||||||
|
ASN_NO,
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
)values (
|
)values (
|
||||||
1,
|
1,
|
||||||
@@ -105,6 +110,7 @@
|
|||||||
#{groupName,jdbcType=VARCHAR},
|
#{groupName,jdbcType=VARCHAR},
|
||||||
#{groupType,jdbcType=INTEGER},
|
#{groupType,jdbcType=INTEGER},
|
||||||
#{serviceGroupId,jdbcType=INTEGER},
|
#{serviceGroupId,jdbcType=INTEGER},
|
||||||
|
#{asnNo,jdbcType=INTEGER},
|
||||||
#{description,jdbcType=VARCHAR}
|
#{description,jdbcType=VARCHAR}
|
||||||
)
|
)
|
||||||
</insert>
|
</insert>
|
||||||
@@ -118,6 +124,9 @@
|
|||||||
<if test="groupType != null" >
|
<if test="groupType != null" >
|
||||||
group_type = #{groupType,jdbcType=INTEGER},
|
group_type = #{groupType,jdbcType=INTEGER},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="asnNo != null" >
|
||||||
|
asn_no = #{asnNo,jdbcType=INTEGER},
|
||||||
|
</if>
|
||||||
<if test="description != null" >
|
<if test="description != null" >
|
||||||
description = #{description,jdbcType=VARCHAR},
|
description = #{description,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
@@ -147,4 +156,24 @@
|
|||||||
from policy_group_info r
|
from policy_group_info r
|
||||||
where r.group_id =#{groupId}
|
where r.group_id =#{groupId}
|
||||||
</select>
|
</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>
|
</mapper>
|
||||||
@@ -93,6 +93,7 @@ public class PolicyGroupInfoService extends BaseService{
|
|||||||
group.setGroupName(entity.getGroupName());
|
group.setGroupName(entity.getGroupName());
|
||||||
group.setIsIssued(0);
|
group.setIsIssued(0);
|
||||||
group.setGroupType(entity.getGroupType());
|
group.setGroupType(entity.getGroupType());
|
||||||
|
group.setAsnId(entity.getAsnNo());
|
||||||
specificServiceCfgDao.insertConfigGroupInfo(group);
|
specificServiceCfgDao.insertConfigGroupInfo(group);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -139,6 +140,11 @@ public class PolicyGroupInfoService extends BaseService{
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public PolicyGroupInfo getInfoByAsnNo(PolicyGroupInfo policyGroupInfo){
|
||||||
|
return policyGroupInfoDao.getInfoByAsnNo(policyGroupInfo);
|
||||||
|
}
|
||||||
|
|
||||||
public void getByIds(String ids) {
|
public void getByIds(String ids) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
|||||||
@@ -13,8 +13,19 @@ $(function(){
|
|||||||
});
|
});
|
||||||
$("[name=groupType]").selectpicker("refresh");
|
$("[name=groupType]").selectpicker("refresh");
|
||||||
}
|
}
|
||||||
$(".action").on("change", function() {
|
/* $(".action").on("change", function() {
|
||||||
$("#serviceId").val($(this).attr("serviceId"));
|
$("#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({
|
$("#cfgFrom").validate({
|
||||||
errorPlacement: function(error,element){
|
errorPlacement: function(error,element){
|
||||||
@@ -63,13 +74,14 @@ $(function(){
|
|||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<input class="form-control required" type="text" name="groupName" value="${_cfg.groupName}">
|
<input class="form-control required" type="text" name="groupName" value="${_cfg.groupName}">
|
||||||
</div>
|
</div>
|
||||||
|
<div for="groupName"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="group_type"/></label>
|
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="group_type"/></label>
|
||||||
<div class="col-md-6">
|
<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">
|
<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>
|
<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>
|
</c:forEach>
|
||||||
@@ -88,6 +100,15 @@ $(function(){
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</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>
|
</div>
|
||||||
<div class="form-actions">
|
<div class="form-actions">
|
||||||
|
|||||||
@@ -137,6 +137,7 @@
|
|||||||
|
|
||||||
<form:select path="seltype" class="selectpicker select2 input-small" >
|
<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="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>
|
</form:select>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@@ -216,6 +217,7 @@
|
|||||||
<th><input type="checkbox" class="i-checks" id="checkAll"></th>
|
<th><input type="checkbox" class="i-checks" id="checkAll"></th>
|
||||||
<th><spring:message code="group_name"/></th>
|
<th><spring:message code="group_name"/></th>
|
||||||
<th><spring:message code="group_type"/></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="desc"/></th>
|
||||||
<th><spring:message code="creator"/></th>
|
<th><spring:message code="creator"/></th>
|
||||||
<th class="sort-column r.create_time"><spring:message code="config_time"/></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:if test="${cfg.groupType==groupTypeC.itemCode }"><spring:message code="${groupTypeC.itemValue}"/></c:if>
|
||||||
</c:forEach>
|
</c:forEach>
|
||||||
</td>
|
</td>
|
||||||
|
<td>${cfg.asnNo}</td>
|
||||||
<td title="${cfg.description }">${fns:abbr(cfg.description,20)}</td>
|
<td title="${cfg.description }">${fns:abbr(cfg.description,20)}</td>
|
||||||
<td>${cfg.creatorName }</td>
|
<td>${cfg.creatorName }</td>
|
||||||
<td><fmt:formatDate value="${cfg.createTime }" pattern="yyyy-MM-dd HH:mm:ss"/></td>
|
<td><fmt:formatDate value="${cfg.createTime }" pattern="yyyy-MM-dd HH:mm:ss"/></td>
|
||||||
|
|||||||
@@ -924,7 +924,7 @@ var fillIp=function (ip){
|
|||||||
}
|
}
|
||||||
return ip;
|
return ip;
|
||||||
}
|
}
|
||||||
|
// snat复用地址池ip唯一
|
||||||
jQuery.validator.addMethod("ipUnique",function(value, element) {
|
jQuery.validator.addMethod("ipUnique",function(value, element) {
|
||||||
var ctx=$(element).attr("ctx");
|
var ctx=$(element).attr("ctx");
|
||||||
var cfgId= $("[name='cfgId']").val();
|
var cfgId= $("[name='cfgId']").val();
|
||||||
@@ -941,4 +941,21 @@ jQuery.validator.addMethod("ipUnique",function(value, element) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
return result;
|
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;
|
||||||
});
|
});
|
||||||
@@ -76,6 +76,7 @@
|
|||||||
protocolPort:"TCP protocol or UDP protocol must be chosen when port is greater than 0",
|
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",
|
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",
|
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));
|
}(jQuery));
|
||||||
|
|||||||
@@ -76,6 +76,7 @@
|
|||||||
protocolPort:"端口大于0时必须选择TCP协议或者UDP协议",
|
protocolPort:"端口大于0时必须选择TCP协议或者UDP协议",
|
||||||
protocolPort1:"只有tcp,udp协议端口号可以不为0,全部协议无限制",
|
protocolPort1:"只有tcp,udp协议端口号可以不为0,全部协议无限制",
|
||||||
netAddress:"C类IP地址网络位必须相同",
|
netAddress:"C类IP地址网络位必须相同",
|
||||||
ipUnique:"IP已存在"
|
ipUnique:"IP已存在",
|
||||||
|
asnNoUnique:"ASN号已存在",
|
||||||
});
|
});
|
||||||
}(jQuery));
|
}(jQuery));
|
||||||
|
|||||||
Reference in New Issue
Block a user