不能删除ASN 组中的最后一个ASN IP,做了前台Ajax验证
This commit is contained in:
@@ -118,4 +118,12 @@ public class AsnIpController extends BaseController{
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@RequestMapping(value="ajaxIsLast",method=RequestMethod.POST)
|
||||||
|
@ResponseBody
|
||||||
|
public boolean ajaxIsLast(Model model,@RequestParam(required=true,value="serviceGroupIds")String serviceGroupIds){
|
||||||
|
if(StringUtils.isNotBlank(serviceGroupIds)) {
|
||||||
|
return asnIpCfgService.hasLastIp(serviceGroupIds);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,4 +18,5 @@ public interface AsnIpCfgDao extends CrudDao<AsnIpCfg>{
|
|||||||
public List<AsnIpCfg> findAllList(AsnIpCfg cfg);
|
public List<AsnIpCfg> findAllList(AsnIpCfg cfg);
|
||||||
public List<ConfigGroupInfo> findPolicyGroupInfosByType(@Param("groupId")Integer groupId);
|
public List<ConfigGroupInfo> findPolicyGroupInfosByType(@Param("groupId")Integer groupId);
|
||||||
public List<Integer> findOtherIps(@Param("groupId")Integer groupId,@Param("cfgId")Integer cfgId);
|
public List<Integer> findOtherIps(@Param("groupId")Integer groupId,@Param("cfgId")Integer cfgId);
|
||||||
|
public List<Integer> countValidIPs(@Param("ids")String ids);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -381,10 +381,13 @@
|
|||||||
from config_group_info c where c.group_type= #{groupId}
|
from config_group_info c where c.group_type= #{groupId}
|
||||||
</select>
|
</select>
|
||||||
<select id="findOtherIps" resultType="java.lang.Integer" parameterType="java.lang.Integer">
|
<select id="findOtherIps" resultType="java.lang.Integer" parameterType="java.lang.Integer">
|
||||||
select 1 from asn_ip_cfg where is_valid=1 and asn_ip_group=#{groupId} and cfg_id !=#{cfgId} limit 2
|
select 1 from asn_ip_cfg where is_valid=1 and asn_ip_group=#{groupId} and cfg_id !=#{cfgId} limit 1
|
||||||
</select>
|
</select>
|
||||||
<select id="hasGroupIds" resultType="java.lang.Integer" parameterType="java.lang.Integer">
|
<select id="hasGroupIds" resultType="java.lang.Integer" parameterType="java.lang.Integer">
|
||||||
select 1 from asn_ip_cfg where is_valid !=-1 and asn_ip_group in(${ids}) limit 2
|
select 1 from asn_ip_cfg where is_valid !=-1 and asn_ip_group in(${ids}) limit 1
|
||||||
|
</select>
|
||||||
|
<select id="countValidIPs" resultType="java.lang.Integer" parameterType="java.lang.Integer">
|
||||||
|
select count(1) from asn_ip_cfg where is_valid !=-1 and asn_ip_group in(${ids}) GROUP BY asn_ip_group;
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -171,4 +171,22 @@ public class AsnIpCfgService extends CrudService<CrudDao<AsnIpCfg>, AsnIpCfg> {
|
|||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return asnIpCfgDao.findPolicyGroupInfosByType(groupId);
|
return asnIpCfgDao.findPolicyGroupInfosByType(groupId);
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* 选中组中是否含有只剩一个未删除IP的组
|
||||||
|
* @param serviceGroupIds
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public boolean hasLastIp(String serviceGroupIds) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
for(String groupId:serviceGroupIds.split(",")) {
|
||||||
|
Long.parseLong(groupId);
|
||||||
|
}
|
||||||
|
List<Integer> countList=asnIpCfgDao.countValidIPs(serviceGroupIds);
|
||||||
|
for(Integer count:countList) {
|
||||||
|
if(count==1) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1139,3 +1139,4 @@ asn_ip_configuration=ASN IP Configuration
|
|||||||
asn_policy=ASN Policy
|
asn_policy=ASN Policy
|
||||||
asn_ip_group=ASN IP Group
|
asn_ip_group=ASN IP Group
|
||||||
can_not_delete_has_ip_asn_group=Can not delete ASN group which has ASN IP
|
can_not_delete_has_ip_asn_group=Can not delete ASN group which has ASN IP
|
||||||
|
last_ip_in_asn_group=Can not delete last IP in an ASN group
|
||||||
@@ -1136,3 +1136,4 @@ asn_ip_configuration=ASN IP\u914D\u7F6E
|
|||||||
asn_policy=ASN\u7B56\u7565
|
asn_policy=ASN\u7B56\u7565
|
||||||
asn_ip_group=ASN IP\u7EC4
|
asn_ip_group=ASN IP\u7EC4
|
||||||
can_not_delete_has_ip_asn_group=\u4E0D\u80FD\u5220\u9664\u5305\u542BASN IP\u7684 ASN\u7EC4
|
can_not_delete_has_ip_asn_group=\u4E0D\u80FD\u5220\u9664\u5305\u542BASN IP\u7684 ASN\u7EC4
|
||||||
|
last_ip_in_asn_group=\u4E0D\u80FD\u5220\u9664ASN\u7EC4\u4E2D\u7684\u6700\u540E\u4E00\u4E2AIP
|
||||||
@@ -50,8 +50,30 @@ function del(url){
|
|||||||
top.$.jBox.tip("<spring:message code='has_prohibit_delete'/>", "<spring:message code='info'/>");
|
top.$.jBox.tip("<spring:message code='has_prohibit_delete'/>", "<spring:message code='info'/>");
|
||||||
return;
|
return;
|
||||||
}else{
|
}else{
|
||||||
|
var serviceGroupIds=[],canDel=true;
|
||||||
|
$(checkboxes).filter(":checked").each(function(){
|
||||||
|
if($(this).attr("serviceGroupId")){
|
||||||
|
serviceGroupIds.push($(this).attr("serviceGroupId"));
|
||||||
|
}
|
||||||
|
})
|
||||||
|
if(serviceGroupIds.length>0){
|
||||||
|
$.ajax({
|
||||||
|
type:'post',
|
||||||
|
url:'${ctx}/basics/asn/ajaxIsLast',
|
||||||
|
data:{"serviceGroupIds":serviceGroupIds.join(',')},
|
||||||
|
async:false,
|
||||||
|
success:function(data,textStatus){//处理返回结果
|
||||||
|
if(data){
|
||||||
|
top.$.jBox.tip('<spring:message code="last_ip_in_asn_group"/>');
|
||||||
|
canDel=false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if(canDel){
|
||||||
doAll(checkboxes,url);
|
doAll(checkboxes,url);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}else{
|
}else{
|
||||||
top.$.jBox.tip("<spring:message code='one_more'/>", "<spring:message code='info'/>");
|
top.$.jBox.tip("<spring:message code='one_more'/>", "<spring:message code='info'/>");
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in New Issue
Block a user