diff --git a/src/main/java/com/nis/web/service/basics/AsnIpCfgService.java b/src/main/java/com/nis/web/service/basics/AsnIpCfgService.java index 7ff5be0ec..33414817c 100644 --- a/src/main/java/com/nis/web/service/basics/AsnIpCfgService.java +++ b/src/main/java/com/nis/web/service/basics/AsnIpCfgService.java @@ -2,8 +2,6 @@ package com.nis.web.service.basics; import java.util.ArrayList; import java.util.Date; -import java.util.HashMap; -import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Map.Entry; @@ -19,12 +17,10 @@ import org.springframework.transaction.annotation.Transactional; import com.beust.jcommander.internal.Lists; import com.google.common.collect.Maps; -import com.nis.domain.FunctionRegionDict; import com.nis.domain.FunctionServiceDict; import com.nis.domain.Page; import com.nis.domain.basics.AsnGroupInfo; import com.nis.domain.basics.AsnIpCfg; -import com.nis.domain.configuration.AsnKeywordCfg; import com.nis.domain.configuration.BaseIpCfg; import com.nis.domain.configuration.CfgIndexInfo; import com.nis.domain.maat.GroupReuseAddBean; @@ -38,9 +34,9 @@ import com.nis.domain.maat.MaatCfg.StringCfg; 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.CrudDao; import com.nis.web.dao.basics.AsnGroupInfoDao; @@ -172,15 +168,25 @@ public class AsnIpCfgService extends CrudService, AsnIpCfg> { auditAllAsnRegionCfg(entity,auditAsnGroupList,null); }*/ } + /** + * + * @param asnIpCfgs + * @param asnIds + * @param isImportAll 增量或者全量 + */ @Transactional(readOnly=false,rollbackFor=RuntimeException.class) - public void saveAsnIp(List asnIpCfgs,String asnIds){ + public void saveAsnIp(List asnIpCfgs,String asnIds,String isImportAll){ logger.warn("Start to only save asn ip size:"+asnIpCfgs.size()); long start=System.currentTimeMillis(); SqlSessionFactory sqlSessionFactory=SpringContextHolder.getBean(SqlSessionFactory.class); SqlSession batchSqlSession = null; try{ if(!StringUtil.isEmpty(asnIpCfgs)){ - asnIpCfgDao.deleteByAsnId(asnIds); + //全量时需要删除asn 下的所有ip + if("1".equals(isImportAll)){ + asnIpCfgDao.deleteByAsnId(asnIds); + } + batchSqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false); for (AsnIpCfg cfg : asnIpCfgs) { ((AsnIpCfgDao) batchSqlSession.getMapper(AsnIpCfgDao.class)).insert(cfg); @@ -296,12 +302,12 @@ public class AsnIpCfgService extends CrudService, AsnIpCfg> { maatBean.setOpAction(Constants.INSERT_ACTION); //调用服务接口下发配置数据 String json=gsonToJson(maatBean); - //logger.info("asn ip maat结构配置下发配置参数:"+json); - logger.info("asn ip maat结构配置下发配置参数:"); + logger.info("asn ip maat结构配置下发配置参数:"+json); + //logger.info("asn ip maat结构配置下发配置参数:"); //调用服务接口下发配置 ToMaatResult result = ConfigServiceUtil.postMaatCfg(json); - //logger.info("asn ip maat结构配置下发响应信息:"+result.getMsg()); - logger.info("asn ip maat结构配置下发响应信息:"); + logger.info("asn ip maat结构配置下发响应信息:"+result.getMsg()); + //logger.info("asn ip maat结构配置下发响应信息:"); }else{ if(!StringUtil.isEmpty(auditList)){ asnIPRegionSendToMaat(auditList, 1, Constants.OPACTION_POST); @@ -394,6 +400,7 @@ public class AsnIpCfgService extends CrudService, AsnIpCfg> { List compileIds=ConfigServiceUtil.getId(1, newAsnGroup.size()); List groupIds=ConfigServiceUtil.getId(2, newAsnGroup.size()); List regionIds=ConfigServiceUtil.getId(3, newAsnGroup.size()); + int onlyGroupId=0;//用于ip地址中下发配置组号 for(Entry e:newAsnGroup.entrySet()) { AsnGroupInfo asnGroupInfo=e.getValue(); asnGroupInfo.setAsnId(e.getKey()); @@ -405,6 +412,14 @@ public class AsnIpCfgService extends CrudService, AsnIpCfg> { asnGroupInfo.setCompileId(compileIds.get(index)); asnGroupInfo.setRegionId(regionIds.get(index)); asnGroupInfo.setOrgGroupId(asnOrgList.get(1).get(asnGroupInfo.getOrganization()).getGroupId()); + //新增组号用于ip地址新增业务 + List onlyGroupIds= ConfigServiceUtil.getId(2,1); + if(onlyGroupIds.size()>0) { + onlyGroupId=onlyGroupIds.get(0).intValue(); + }else { + throw new MaatConvertException("Get asn group id failed"); + } + asnGroupInfo.setOnlyGroupId(onlyGroupId); asnNoMaps.get(0).put(e.getKey(), asnGroupInfo);//设置完各种id后更新map数据 asnNoMaps.get(2).put(e.getKey(), asnGroupInfo);//设置完各种id后更新map数据 ((AsnGroupInfoDao) batchSqlSession.getMapper(AsnGroupInfoDao.class)).insertWithId(asnGroupInfo);