策略分组添加asn号属性.
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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>
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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;
|
||||
});
|
||||
@@ -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));
|
||||
|
||||
@@ -76,6 +76,7 @@
|
||||
protocolPort:"端口大于0时必须选择TCP协议或者UDP协议",
|
||||
protocolPort1:"只有tcp,udp协议端口号可以不为0,全部协议无限制",
|
||||
netAddress:"C类IP地址网络位必须相同",
|
||||
ipUnique:"IP已存在"
|
||||
ipUnique:"IP已存在",
|
||||
asnNoUnique:"ASN号已存在",
|
||||
});
|
||||
}(jQuery));
|
||||
|
||||
Reference in New Issue
Block a user