(1)asn导入加入组织国家,asn号验证,组织国家不能为空,asn号不能为两个组织所有

(2)新增asn_keyword_cfg表,用于保存并下发有效且含审核通过asn ip的 asn号
(3)asn 导入去除条数限制
(4)页面asn select选项还是会影响加载页面速度,现在改为input
(5)asn_group_info 修改org_group_id为issued_ips,用于保存审核通过的asn ip
(6)分组复用url配置文件补全v1
This commit is contained in:
wangxin
2019-01-06 11:24:49 +08:00
parent 9979bb26b2
commit f56a0fe09a
37 changed files with 968 additions and 374 deletions

View File

@@ -1,5 +1,6 @@
package com.nis.web.service.basics;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -9,14 +10,21 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.nis.domain.FunctionServiceDict;
import com.nis.domain.Page;
import com.nis.domain.basics.AsnGroupInfo;
import com.nis.domain.maat.MaatCfg;
import com.nis.domain.maat.ToMaatBean;
import com.nis.domain.maat.ToMaatResult;
import com.nis.domain.specific.ConfigGroupInfo;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.ConfigServiceUtil;
import com.nis.util.Constants;
import com.nis.util.DictUtils;
import com.nis.util.StringUtil;
import com.nis.web.dao.basics.AsnGroupInfoDao;
import com.nis.web.dao.basics.AsnIpCfgDao;
import com.nis.web.dao.configuration.StringCfgDao;
import com.nis.web.dao.specific.ConfigGroupInfoDao;
import com.nis.web.security.UserUtils;
import com.nis.web.service.BaseService;
@@ -58,8 +66,10 @@ public class AsnGroupInfoService extends BaseService{
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public void saveOrUpdate(AsnGroupInfo entity) throws MaatConvertException{
//asn类型从综合服务获取groupId
String org=entity.getOrganization().trim();
String country=entity.getCountry().trim();
String org=entity.getOrganization().trim().toUpperCase();
String country=entity.getCountry().trim().toUpperCase();
entity.setOrganization(org);
entity.setCountry(country);
int groupId=0;
//获取组织
ConfigGroupInfo configGroupInfo=configGroupInfoDao.getAsnGroupByName(org);
@@ -72,7 +82,7 @@ public class AsnGroupInfoService extends BaseService{
throw new MaatConvertException("Get asn group id failed");
}
configGroupInfo=new ConfigGroupInfo();
configGroupInfo.setGroupName(org);
configGroupInfo.setGroupName(org.toUpperCase());
configGroupInfo.setIsIssued(0);
configGroupInfo.setGroupType(4);
configGroupInfo.setGroupId(groupIds.get(1));
@@ -103,33 +113,79 @@ public class AsnGroupInfoService extends BaseService{
asnGroupInfoDao.insert(entity);
//修改
}else{
long id=entity.getId();
AsnGroupInfo group=asnGroupInfoDao.getById(id);
int count=asnGroupInfoDao.getCountGroupInfoByName(group.getOrganization());
if(count==1&&!group.getOrganization().equalsIgnoreCase(entity.getOrganization())) {
configGroupInfoDao.delAsnGroup(group.getOrganization());
}
ConfigGroupInfo configGroupInfo1=configGroupInfoDao.getAsnGroupByName(entity.getOrganization());
if(configGroupInfo1==null) {
List<Integer> groupIds= ConfigServiceUtil.getId(2,2);
if(groupIds.size()>0) {
groupId=groupIds.get(0).intValue();
}else {
throw new MaatConvertException("Get asn group id failed");
}
configGroupInfo1=new ConfigGroupInfo();
configGroupInfo1.setGroupName(entity.getOrganization().toUpperCase());
configGroupInfo1.setIsIssued(0);
configGroupInfo1.setGroupType(4);
configGroupInfo1.setGroupId(groupIds.get(1));
configGroupInfo1.setInsertTime(new Date());
configGroupInfoDao.insertConfigGroupInfo(configGroupInfo1);
}
Date editTime=new Date();
entity.setEditorId(UserUtils.getUser().getId());
entity.setEditTime(editTime);
entity.setGroupId(groupId);
asnGroupInfoDao.update(entity);
asnIpCfgDao.updateAsn(String.valueOf(entity.getAsnId()),entity.getOrganization(),entity.getCountry(),entity.getDetail());
}
}
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public void delete(String ids,String asnIds){
if(!StringUtil.isEmpty(ids)){
List<FunctionServiceDict> dicts=DictUtils.getFunctionServiceDictList(600);
int result=0;
do {
result=asnIpCfgDao.deleteByAsnId(asnIds);
}while(result>0);
for (String id : ids.split(",")) {
if(!StringUtil.isEmpty(id)){
AsnGroupInfo entity=asnGroupInfoDao.getById(Integer.parseInt(id));
int valid=entity.getIsValid();
entity.setIsValid(-1);
entity.setId(Long.parseLong(id));
asnGroupInfoDao.updateValid(entity);
if(asnGroupInfoDao.getCountGroupInfoByName(entity.getOrganization())==0) {
configGroupInfoDao.delAsnGroup(entity.getOrganization());
}
//取消下发过的编译
if(valid==1) {
ToMaatBean maatBean = new ToMaatBean();
MaatCfg maatCfg = new MaatCfg();
List<MaatCfg> configCompileList = new ArrayList();
maatCfg.setCompileId(entity.getCompileId());
maatCfg.setServiceId(dicts.get(0).getServiceId());
maatCfg.setIsValid(0);//无效
configCompileList.add(maatCfg);
maatBean.setConfigCompileList(configCompileList);
maatBean.setAuditTime(entity.getAuditTime());
maatBean.setCreatorName(entity.getCurrentUser().getName());
maatBean.setVersion(Constants.MAAT_VERSION);
maatBean.setOpAction(Constants.UPDATE_ACTION);
//调用服务接口取消配置
String json=gsonToJson(maatBean);
logger.info("asn ip配置取消配置参数"+json);
//调用服务接口下发配置
ToMaatResult _result = ConfigServiceUtil.put(json,1);
logger.info("asn ip配置取消配置响应信息"+_result.getMsg());
}
}
}
int result=0;
do {
result=asnIpCfgDao.deleteByAsnId(asnIds);
}while(result>0);
}
}
@@ -143,6 +199,18 @@ public class AsnGroupInfoService extends BaseService{
}
return false;
}
public boolean checkIpAddrs(String groupIds) {
StringBuffer buffer=new StringBuffer();
for(String groupId:groupIds.split(",")) {
Integer.parseInt(groupId);
buffer.append("'AS"+groupId+"',");
}
List<Integer> hasIpList=asnIpCfgDao.hasASNIpAddrs(buffer.substring(0, buffer.toString().length()-1));
if(hasIpList!=null&&hasIpList.size()>0) {
return true;
}
return false;
}
public AsnGroupInfo getInfoByAsnNo(AsnGroupInfo AsnGroupInfo){
return asnGroupInfoDao.getInfoByAsnNo(AsnGroupInfo);