地址池IP校验修改.
This commit is contained in:
@@ -1,5 +1,7 @@
|
|||||||
package com.nis.web.controller.configuration.maintenance;
|
package com.nis.web.controller.configuration.maintenance;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -25,6 +27,7 @@ import com.nis.exceptions.MaatConvertException;
|
|||||||
import com.nis.util.ConfigServiceUtil;
|
import com.nis.util.ConfigServiceUtil;
|
||||||
import com.nis.util.Constants;
|
import com.nis.util.Constants;
|
||||||
import com.nis.util.StringUtil;
|
import com.nis.util.StringUtil;
|
||||||
|
import com.nis.util.StringUtils;
|
||||||
import com.nis.web.controller.BaseController;
|
import com.nis.web.controller.BaseController;
|
||||||
import com.nis.web.service.configuration.IpAddrPoolCfgService;
|
import com.nis.web.service.configuration.IpAddrPoolCfgService;
|
||||||
|
|
||||||
@@ -166,7 +169,7 @@ public class IpAddrPoolController extends BaseController{
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 校验所有地址池配置IP不可重复
|
* 校验所有地址池配置IP+MASK组合不可重复
|
||||||
* @param cfg
|
* @param cfg
|
||||||
* @param request
|
* @param request
|
||||||
* @param response
|
* @param response
|
||||||
@@ -174,10 +177,28 @@ public class IpAddrPoolController extends BaseController{
|
|||||||
*/
|
*/
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
@RequestMapping(value = {"/checkAddrPoolIp"})
|
@RequestMapping(value = {"/checkAddrPoolIp"})
|
||||||
public boolean checkAddrPoolIp(String ips, HttpServletRequest request, HttpServletResponse response){
|
public boolean checkAddrPoolIp(String ip, String oldIp, HttpServletRequest request, HttpServletResponse response){
|
||||||
for (String ip : ips.split(",")) {
|
List<String> oldIplist = new ArrayList<>();
|
||||||
Long cfgId = ipAddrPoolCfgService.checkAddrPoolIp(ip);
|
if(StringUtils.isNotBlank(oldIp)){
|
||||||
if(cfgId != null){
|
oldIplist.add(oldIp);
|
||||||
|
if(oldIp.contains("/32")){
|
||||||
|
oldIplist.add(oldIp.substring(0, oldIp.indexOf("/")));
|
||||||
|
}else if(!oldIp.contains("/")){
|
||||||
|
oldIplist.add(oldIp+"/32");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
List<String> searchlist = new ArrayList<>();
|
||||||
|
searchlist.add(ip);
|
||||||
|
if(ip.contains("/32")){
|
||||||
|
searchlist.add(ip.substring(0, ip.indexOf("/")));
|
||||||
|
}else if(!ip.contains("/")){
|
||||||
|
searchlist.add(ip+"/32");
|
||||||
|
}
|
||||||
|
|
||||||
|
for (String searchIp : searchlist) {
|
||||||
|
IpReuseIpCfg cfg = ipAddrPoolCfgService.checkAddrPoolIp(searchIp);
|
||||||
|
if((cfg != null) && (!oldIplist.contains(cfg.getSrcIpAddress()))){
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ public interface IpAddrPoolCfgDao extends CrudDao<IpAddrPoolCfgDao>{
|
|||||||
|
|
||||||
Long getAddrPoolIdByName(String addrPoolName);
|
Long getAddrPoolIdByName(String addrPoolName);
|
||||||
|
|
||||||
Long checkAddrPoolIp(@Param("srcIpAddress")String ip);
|
IpReuseIpCfg checkAddrPoolIp(@Param("srcIpAddress")String ip);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -478,12 +478,15 @@
|
|||||||
r.addr_pool_name = #{addrPoolName} AND r.is_valid != -1
|
r.addr_pool_name = #{addrPoolName} AND r.is_valid != -1
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="checkAddrPoolIp" resultType="java.lang.Long">
|
<select id="checkAddrPoolIp" resultType="com.nis.domain.basics.IpReuseIpCfg">
|
||||||
SELECT
|
SELECT
|
||||||
r.cfg_id
|
r.cfg_id,r.src_ip_address
|
||||||
FROM
|
FROM
|
||||||
ip_reuse_ip_cfg r
|
ip_reuse_ip_cfg r
|
||||||
WHERE
|
WHERE
|
||||||
r.src_ip_address = #{srcIpAddress} AND r.is_valid != -1 AND r.is_audit != 3
|
r.src_ip_address = #{srcIpAddress} AND
|
||||||
|
r.is_valid != -1 AND
|
||||||
|
r.is_audit != 3 AND
|
||||||
|
r.user_region1 IS NOT NULL
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -288,7 +288,7 @@ public class IpAddrPoolCfgService extends BaseService{
|
|||||||
return ipAddrPoolCfgDao.findAddrPoolCfg();
|
return ipAddrPoolCfgDao.findAddrPoolCfg();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Long checkAddrPoolIp(String ip) {
|
public IpReuseIpCfg checkAddrPoolIp(String ip) {
|
||||||
return ipAddrPoolCfgDao.checkAddrPoolIp(ip);
|
return ipAddrPoolCfgDao.checkAddrPoolIp(ip);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -246,7 +246,7 @@ var resetIndex = function(){
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="ip"/></label>
|
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="ip"/></label>
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<input class="form-control required ipCheck ipMaskSole" type="text" name="ipCfgs[0].srcIpAddress" ctx="${ctx }" cfgId="${_cfg.cfgId}">
|
<input class="form-control required ipCheck ipMaskSole" type="text" name="ipCfgs[0].srcIpAddress" ctx="${ctx }">
|
||||||
</div>
|
</div>
|
||||||
<div for="ipCfgs[0].srcIpAddress"></div>
|
<div for="ipCfgs[0].srcIpAddress"></div>
|
||||||
</div>
|
</div>
|
||||||
@@ -393,7 +393,7 @@ var resetIndex = function(){
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="ip"/></label>
|
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="ip"/></label>
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<input class="form-control required ipCheck ipMaskSole" type="text" name="ipCfgs[0].srcIpAddress" value="${ipCfg.srcIpAddress }" ctx="${ctx }" cfgId="${_cfg.cfgId}">
|
<input class="form-control required ipCheck ipMaskSole" type="text" name="ipCfgs[0].srcIpAddress" value="${ipCfg.srcIpAddress }" ctx="${ctx }" oldIp="${ipCfg.srcIpAddress }">
|
||||||
</div>
|
</div>
|
||||||
<div for="ipCfgs[0].srcIpAddress"></div>
|
<div for="ipCfgs[0].srcIpAddress"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -976,7 +976,7 @@ jQuery.validator.addMethod("areaUnique",function(value,element) {
|
|||||||
return flag;
|
return flag;
|
||||||
});
|
});
|
||||||
|
|
||||||
// 地址池IP+MASK不可重复校验
|
// 地址池IP+MASK组合不可重复校验
|
||||||
jQuery.validator.addMethod("ipMaskSole",function(value,element) {
|
jQuery.validator.addMethod("ipMaskSole",function(value,element) {
|
||||||
var flag = true;
|
var flag = true;
|
||||||
var ipArray = [];
|
var ipArray = [];
|
||||||
@@ -995,21 +995,15 @@ jQuery.validator.addMethod("ipMaskSole",function(value,element) {
|
|||||||
flag = false;
|
flag = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
var cfgId = $(element).attr("cfgId");
|
var oldIp = $(element).attr("oldIp");
|
||||||
if((flag == true) && (!cfgId)){
|
if(flag == true){
|
||||||
ipArray = [];
|
|
||||||
ipArray.push(value2);
|
|
||||||
$(".ipMaskSole").each(function(){
|
|
||||||
ipArray.push($(this).val());
|
|
||||||
});
|
|
||||||
|
|
||||||
var ctx = $(element).attr("ctx");
|
var ctx = $(element).attr("ctx");
|
||||||
var url = ctx+"/maintenance/ipMultiplexPoolCfg/checkAddrPoolIp";
|
var url = ctx+"/maintenance/ipMultiplexPoolCfg/checkAddrPoolIp";
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type:'post',
|
type:'post',
|
||||||
async:false,
|
async:false,
|
||||||
url: url,
|
url: url,
|
||||||
data:{"ips":ipArray.join(',')},
|
data:{"ip":value2,"oldIp":oldIp},
|
||||||
success:function(data){
|
success:function(data){
|
||||||
flag = data;
|
flag = data;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user