diff --git a/src/main/java/com/nis/util/ConfigConvertUtil.java b/src/main/java/com/nis/util/ConfigConvertUtil.java index 5851e4b87..89c4458b7 100644 --- a/src/main/java/com/nis/util/ConfigConvertUtil.java +++ b/src/main/java/com/nis/util/ConfigConvertUtil.java @@ -575,6 +575,25 @@ public class ConfigConvertUtil { dstIp.setDstPortMask("65535"); } } + private static Map getGroupIdList(List srcList){ + Set groupIdSet=new HashSet<>(); + Map groupIdMap=new HashMap<>(); + for(T src:srcList){ + BaseCfg cfg=(BaseCfg)src; + if(!groupIdSet.contains(cfg.getGroupId())){ + groupIdSet.add(cfg.getGroupId()); + } + + } + if(groupIdSet.size()>0){ + List groupIds= ConfigServiceUtil.getId(2,groupIdSet.size()); + for(Integer id:groupIdSet){ + groupIdMap.put(id,groupIds.get(0)); + } + groupIds.remove(0); + } + return groupIdMap; + } /** *Obj 组maat配置转换 * @param @@ -591,6 +610,7 @@ public class ConfigConvertUtil { List groupRelationList, Map maatTableMap, Set groupIdSet) { long start=System.currentTimeMillis(),end=0l; Map map = new HashMap(); + Map groupIdMap=getGroupIdList(srcList); if (cfgType == 1) { List numRegionList = new ArrayList(); int pos=0; @@ -607,15 +627,17 @@ public class ConfigConvertUtil { if (!groupIdSet.contains(baseIpCfg.getGroupId())) { GroupCfg group = new GroupCfg(); - //groupId = ConfigServiceUtil.getId(2, 1).get(0); - group.setGroupId(baseIpCfg.getGroupId()); +// group.setGroupId(baseIpCfg.getGroupId()); + Integer groupId =groupIdMap.get(baseIpCfg.getGroupId()); + group.setGroupId(groupId); group.setCompileId(baseCfg.getCompileId()); group.setAuditTime(baseCfg.getAuditTime()); group.setIsValid(baseCfg.getIsValid()); groupRelationList.add(group); groupIdSet.add(baseIpCfg.getGroupId()); } - cfg.setGroupId(baseIpCfg.getGroupId()); +// cfg.setGroupId(baseIpCfg.getGroupId()); + cfg.setGroupId(groupIdMap.get(baseIpCfg.getGroupId())); cfg.setAuditTime(baseCfg.getAuditTime()); cfg.setIsValid(baseCfg.getIsValid()); if(maatTableMap.containsKey("ipMaatTable")){ @@ -623,11 +645,11 @@ public class ConfigConvertUtil { cfg.setCfgType(ipMaatTable.get(baseIpCfg.getGroupId().toString())); } List cfgs = ipConvert(cfg, baseIpCfg); - if (cfgs.size() > 1) { + if (cfgs.size() > 0) { List ids =regionIdList.subList(pos,pos+cfgs.size()); //支持range???? - for (int j = 1; j < cfgs.size(); j++) { - cfgs.get(j).setRegionId(ids.get(j-1)); + for (int j = 0; j < cfgs.size(); j++) { + cfgs.get(j).setRegionId(ids.get(j)); } pos+=cfgs.size(); } @@ -664,14 +686,16 @@ public class ConfigConvertUtil { } regionIdList.clear(); } else if (cfgType == 2 || cfgType == 3) { - //List groupIdList = ConfigServiceUtil.getId(2, srcList.size()); - //List regionIdList = ConfigServiceUtil.getId(3, srcList.size()); +// List groupIdList = ConfigServiceUtil.getId(2, srcList.size()); + List regionIdList = ConfigServiceUtil.getId(3, srcList.size()); for (int i = 0; i < srcList.size(); i++) { BaseStringCfg baserStringCfg=new BaseStringCfg(); BeanUtils.copyProperties(srcList.get(i),baserStringCfg); if(!groupIdSet.contains(baserStringCfg.getGroupId())){ GroupCfg group = new GroupCfg(); - group.setGroupId(baserStringCfg.getGroupId()); +// group.setGroupId(baserStringCfg.getGroupId()); + Integer groupId =groupIdMap.get(baserStringCfg.getGroupId()); + group.setGroupId(groupId); group.setCompileId(baseCfg.getCompileId()); group.setAuditTime(baseCfg.getAuditTime()); group.setIsValid(baseCfg.getIsValid()); @@ -680,8 +704,10 @@ public class ConfigConvertUtil { } StringCfg cfg = new StringCfg(); BeanUtils.copyProperties(srcList.get(i), cfg); - cfg.setGroupId(baserStringCfg.getGroupId()); - cfg.setRegionId(baserStringCfg.getRegionId()); +// cfg.setGroupId(baserStringCfg.getGroupId()); +// cfg.setRegionId(baserStringCfg.getRegionId()); + cfg.setGroupId(groupIdMap.get(baserStringCfg.getGroupId())); + cfg.setRegionId(regionIdList.get(i)); cfg.setAuditTime(baseCfg.getAuditTime()); cfg.setIsValid(baseCfg.getIsValid()); // 处理配置关键字转译 @@ -696,44 +722,52 @@ public class ConfigConvertUtil { } } else if (cfgType == 4) { // List groupIdList = ConfigServiceUtil.getId(2, srcList.size()); -// List regionIdList = ConfigServiceUtil.getId(3, srcList.size()); + List regionIdList = ConfigServiceUtil.getId(3, srcList.size()); for (int i = 0; i < srcList.size(); i++) { // 一条业务配置创建一个分组 NumBoundaryCfg cfg = new NumBoundaryCfg(); BeanUtils.copyProperties(srcList.get(i), cfg); if(!groupIdSet.contains(cfg.getGroupId())){ GroupCfg group = new GroupCfg(); - group.setGroupId(cfg.getGroupId()); +// group.setGroupId(cfg.getGroupId()); + Integer groupId =groupIdMap.get(cfg.getGroupId()); + group.setGroupId(groupId); group.setCompileId(baseCfg.getCompileId()); group.setAuditTime(baseCfg.getAuditTime()); group.setIsValid(baseCfg.getIsValid()); groupRelationList.add(group); groupIdSet.add(cfg.getGroupId()); } - cfg.setGroupId(cfg.getGroupId()); - cfg.setRegionId(cfg.getRegionId()); +// cfg.setGroupId(cfg.getGroupId()); +// cfg.setRegionId(cfg.getRegionId()); + cfg.setGroupId(groupIdMap.get(cfg.getGroupId())); + cfg.setRegionId(regionIdList.get(i)); cfg.setAuditTime(baseCfg.getAuditTime()); cfg.setIsValid(baseCfg.getIsValid()); dstList.add(cfg); } } else if (cfgType == 5) { //List groupIdList = ConfigServiceUtil.getId(2, srcList.size()); - //List regionIdList = ConfigServiceUtil.getId(3, srcList.size()); + List regionIdList = ConfigServiceUtil.getId(3, srcList.size()); for (int i = 0; i < srcList.size(); i++) { // 一条业务配置创建一个分组 com.nis.domain.maat.MaatCfg.DigestCfg cfg = new com.nis.domain.maat.MaatCfg.DigestCfg(); BeanUtils.copyProperties(srcList.get(i), cfg); if(!groupIdSet.contains(cfg.getGroupId())){ GroupCfg group = new GroupCfg(); - group.setGroupId(cfg.getGroupId()); +// group.setGroupId(cfg.getGroupId()); + Integer groupId =groupIdMap.get(cfg.getGroupId()); + group.setGroupId(groupId); group.setCompileId(baseCfg.getCompileId()); group.setAuditTime(baseCfg.getAuditTime()); group.setIsValid(baseCfg.getIsValid()); groupRelationList.add(group); groupIdSet.add(cfg.getGroupId()); } - cfg.setGroupId(cfg.getGroupId()); - cfg.setRegionId(cfg.getRegionId()); +// cfg.setGroupId(cfg.getGroupId()); +// cfg.setRegionId(cfg.getRegionId()); + cfg.setGroupId(groupIdMap.get(cfg.getGroupId())); + cfg.setRegionId(regionIdList.get(i)); cfg.setAuditTime(baseCfg.getAuditTime()); cfg.setIsValid(baseCfg.getIsValid()); dstList.add(cfg); @@ -986,7 +1020,7 @@ public class ConfigConvertUtil { } } //拆分IP数量大于1获取ID - if(total>1){ + if(total>0){ regionIdsList=ConfigServiceUtil.getId(3,total); }