被策略引用的地址池配置不可取消.

This commit is contained in:
zhangwq
2018-12-05 15:17:49 +08:00
parent 1e4dfeedf1
commit 2660ff32f9
10 changed files with 80 additions and 78 deletions

View File

@@ -164,26 +164,6 @@ public class IpAddrPoolController extends BaseController{
return true;
}
/**
* 校验地址池是否被策略引用
* @param addrPoolIds
* @param request
* @param response
* @return
*/
@ResponseBody
@RequestMapping(value = {"/ajaxIsUsed"})
public boolean ajaxIsUsed(String addrPoolIds, HttpServletRequest request, HttpServletResponse response){
for (String addrPoolId : addrPoolIds.split(",")) {
List<BaseIpCfg> ipList = ipCfgService.checkAddrPoolIsUsed(addrPoolId);
if(ipList != null && ipList.size() > 0){
return false;
}
}
return true;
}
@ResponseBody
@RequestMapping(value = {"/getCGIInfo"})
public Map<String,Object> getUserInfo(Integer addrPoolId,String cmd,HttpServletRequest request,HttpServletResponse response){

View File

@@ -258,6 +258,27 @@ public class IpMultiplexController extends CommonController {
return addrPoolsNew;
}
/**
* 校验地址池是否被策略引用
* @param addrPoolIds
* @param request
* @param response
* @return
*/
@ResponseBody
@RequestMapping(value = {"/ajaxIsUsed"})
public boolean ajaxIsUsed(String addrPoolIds, HttpServletRequest request, HttpServletResponse response){
for (String addrPoolId : addrPoolIds.split(",")) {
List<IpReusePolicyCfg> ipList = ipMultiplexService.checkAddrPoolIsUsed(addrPoolId);
if(ipList != null && ipList.size() > 0){
return false;
}
}
return true;
}
@RequestMapping(value = {"/dnatPolicyList"})
public String dnatPolicyList(String cfgName,Model model,@ModelAttribute("cfg")IpPortCfg cfg,HttpServletRequest request,HttpServletResponse response) {
this._ipList(cfgName,model, cfg, request, response);

View File

@@ -46,8 +46,5 @@ public interface IpCfgDao extends CrudDao<BaseIpCfg>{
public void updateCfgValid(BaseCfg entity);
public void auditCfg(BaseCfg entity);
public List<CfgIndexInfo> getIpCfgList(CfgIndexInfo entity);
// 校验地址池是否被策略引用
public List<BaseIpCfg> checkAddrPoolIsUsed(@Param("addrPoolId")String addrPoolId);
}

View File

@@ -1143,14 +1143,4 @@
</choose>
</select>
<select id="checkAddrPoolIsUsed" resultMap="BaseIpMap">
SELECT
<include refid="BaseIpCfg_Column_List_with_id" />
FROM
ip_port_cfg
WHERE
is_valid != -1 AND
ir_type IS NOT NULL AND
user_region2 = #{addrPoolId,jdbcType=VARCHAR}
</select>
</mapper>

View File

@@ -21,5 +21,8 @@ public interface IpMultiplexDao extends CrudDao<IpMultiplexDao>{
void updatePolicyCfg(IpReusePolicyCfg entity);
String getUserType(@Param("userName")String userName);
// 校验地址池是否被引用
List<IpReusePolicyCfg> checkAddrPoolIsUsed(@Param("addrPoolId")String addrPoolId);
}

View File

@@ -311,4 +311,13 @@
WHERE cfg_id = #{cfgId,jdbcType=BIGINT}
</update>
<select id="checkAddrPoolIsUsed" resultMap="policyMap">
SELECT
<include refid="policyColumns"/>
FROM
ip_reuse_policy_cfg r
WHERE
r.addr_pool_id = #{addrPoolId} AND r.is_valid != -1
</select>
</mapper>

View File

@@ -932,12 +932,4 @@ public class IpCfgService extends CrudService<IpCfgDao,BaseIpCfg> {
return page;
}
/**
* 校验地址池是否被策略引用
* @param addrPoolId
* @return
*/
public List<BaseIpCfg> checkAddrPoolIsUsed(String addrPoolId) {
return ipCfgDao.checkAddrPoolIsUsed(addrPoolId);
}
}

View File

@@ -15,7 +15,6 @@ import org.springframework.transaction.annotation.Transactional;
import com.beust.jcommander.internal.Lists;
import com.nis.domain.Page;
import com.nis.domain.configuration.IpReusePolicyCfg;
import com.nis.domain.configuration.UserManage;
import com.nis.domain.maat.ToMaatResult;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.ConfigServiceUtil;
@@ -192,4 +191,13 @@ public class IpMultiplexService extends BaseService{
}
}
/**
* 校验地址池是否被策略引用
* @param addrPoolId
* @return
*/
public List<IpReusePolicyCfg> checkAddrPoolIsUsed(String addrPoolId) {
return ipMultiplexDao.checkAddrPoolIsUsed(addrPoolId);
}
}

View File

@@ -1,6 +0,0 @@
-- ftp
UPDATE function_service_dict SET is_valid = 0 WHERE dict_id = 42 AND function_id = 51;
-- mail地址
UPDATE function_service_dict SET is_valid = 0 WHERE dict_id = 149 AND function_id = 37;
-- mail高级
UPDATE function_service_dict SET is_valid = 0 WHERE dict_id = 37 AND function_id = 35;

View File

@@ -51,7 +51,6 @@ function del(url){
top.$.jBox.tip("<spring:message code='has_prohibit_delete'/>", "<spring:message code='info'/>");
return;
}else{
var addrPoolIds = [];
var serviceGroupIds=[],ids=[],canDel=true;
$(checkboxes).filter(":checked").each(function(){
if($(this).attr("serviceGroupId")&&$(this).attr("isValid")){
@@ -60,10 +59,7 @@ function del(url){
}
ids.push($(this).attr("id"));
}
var addrPoolId = $(this).attr("addressPoolId");
if(typeof addrPoolId != "undefined"){
addrPoolIds.push(addrPoolId);
}
})
if(serviceGroupIds.length>0){
$.ajax({
@@ -80,22 +76,6 @@ function del(url){
});
}
// 地址池管理 (只有未被策略引用的地址池可删除)
if(addrPoolIds.length > 0){
$.ajax({
type:'post',
url:'${ctx}/maintenance/ipMultiplexPoolCfg/ajaxIsUsed',
data:{"addrPoolIds":addrPoolIds.join(',')},
async:false,
success:function(data){//处理返回结果
if(data == false){
top.$.jBox.tip('<spring:message code="address_pool_is_used"/>');
canDel=data;
}
}
});
}
if(canDel){
doAll(checkboxes,url);
}
@@ -166,19 +146,47 @@ var checkboxes=$("#${id} ${value} tbody tr td input.i-checks:checkbox");
}
//配置取消
function cancelPassOpt(url){
var checkboxes=$("#${id} ${value} tbody tr td input.i-checks:checkbox");
var checkboxes=$("#${id} ${value} tbody tr td input.i-checks:checkbox");
if($(checkboxes).filter(":checked").length>0){
if(validateAllPass(checkboxes)){
doAll(checkboxes,url);
}else{
top.$.jBox.tip("<spring:message code='hasnot_approved'/>", "<spring:message code='info'/>");
return;
var addrPoolIds = [],canCancel = true;
$(checkboxes).filter(":checked").each(function(){
var addrPoolId = $(this).attr("addressPoolId");
if(typeof addrPoolId != "undefined"){
addrPoolIds.push(addrPoolId);
}
}else{
top.$.jBox.tip("<spring:message code='one_more'/>", "<spring:message code='info'/>");
return;
});
// 地址池管理 (被策略引用的地址池不可取消)
if(addrPoolIds.length > 0){
$.ajax({
type:'post',
url:'${ctx}/manipulation/ipmulitiplex/ajaxIsUsed',
data:{"addrPoolIds":addrPoolIds.join(',')},
async:false,
success:function(data){//处理返回结果
if(data == false){
top.$.jBox.tip('<spring:message code="address_pool_is_used"/>');
canCancel=data;
}
}
});
}
if(canCancel){
doAll(checkboxes,url);
}
}else{
top.$.jBox.tip("<spring:message code='hasnot_approved'/>", "<spring:message code='info'/>");
return;
}
}else{
top.$.jBox.tip("<spring:message code='one_more'/>", "<spring:message code='info'/>");
return;
}
}
function doAll(checkboxes,url){
// var url = $(this).attr('data-url');