From 25d3e564ff2be5e921ff553c11179e8b20fc26c8 Mon Sep 17 00:00:00 2001 From: DuanDongmei Date: Wed, 28 Nov 2018 12:00:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=B9=E9=87=8F=E4=B8=8B=E5=8F=91=E8=B0=83?= =?UTF-8?q?=E7=94=A8=E6=AD=A3=E5=B8=B8=E4=B8=8B=E5=8F=91=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ConfigSynchronizationService.java | 135 ++++++++++++++---- 1 file changed, 109 insertions(+), 26 deletions(-) diff --git a/src/main/java/com/nis/web/service/configuration/ConfigSynchronizationService.java b/src/main/java/com/nis/web/service/configuration/ConfigSynchronizationService.java index ea9719b43..815184ade 100644 --- a/src/main/java/com/nis/web/service/configuration/ConfigSynchronizationService.java +++ b/src/main/java/com/nis/web/service/configuration/ConfigSynchronizationService.java @@ -19,6 +19,7 @@ import org.springframework.stereotype.Service; import antlr.StringUtils; +import com.google.common.collect.Lists; import com.nis.domain.FunctionServiceDict; import com.nis.domain.Page; import com.nis.domain.basics.AsnIpCfg; @@ -212,6 +213,9 @@ public class ConfigSynchronizationService extends BaseService{ } } } + //批量获取regionId,groupId(相同编译下的IP类配置多条ip只获取一个组号),分组复用的域配置不需要重新获取regionId,groupId + List regionIds = ConfigServiceUtil.getId(3, ipList.size()+strList.size()+complexStrList.size()+numList.size()+fileList.size()); + List groupIds = ConfigServiceUtil.getId(2, strList.size()+complexStrList.size()+numList.size()+fileList.size()); for(CfgIndexInfo cfg:list){ maatCfg = new MaatCfg(); maatCfg.initDefaultValue(); @@ -247,7 +251,12 @@ public class ConfigSynchronizationService extends BaseService{ for(int r=0;r0){ + List ipGroupId = ConfigServiceUtil.getId(2,1);//多条IP只获取一个groupId + for(int index=0;index0){ ipList.removeAll(list1); if(entity.getServiceId().equals(37)||entity.getServiceId().equals(149)){//asn业务 + GroupCfg groupCfg=new GroupCfg(); + groupCfg.setCompileId(cfg.getCompileId()); + groupCfg.setGroupId(Integer.parseInt(cfg.getUserRegion4())); + groupCfg.setIsValid(cfg.getIsValid()); + groupCfg.setAuditTime(cfg.getAuditTime()); + groupRelationList.add(groupCfg); ipRegionList.addAll(groupReuseCfgAddRemoveConvert(list1,Constants.VALID_YES,null)); }else{ - Map map = cfgConvert(ipRegionList,list1,1,cfg,groupRelationList); + Map map = cfgToMaatConvert(ipRegionList,list1,1,groupRelationList); groupRelationList=map.get("groupList"); ipRegionList=map.get("dstList"); if(map.get("numRegionList")!=null){ @@ -331,25 +379,25 @@ public class ConfigSynchronizationService extends BaseService{ } if(list2.size()>0){ strList.removeAll(list2); - Map map = cfgConvert(strRegionList,list2,2,cfg,groupRelationList); + Map map = cfgToMaatConvert(strRegionList,list2,2,groupRelationList); groupRelationList=map.get("groupList"); strRegionList=map.get("dstList"); } if(list3.size()>0){ complexStrList.removeAll(list3); - Map map = cfgConvert(strRegionList,list3,3,cfg,groupRelationList); + Map map = cfgToMaatConvert(strRegionList,list3,3,groupRelationList); groupRelationList=map.get("groupList"); strRegionList=map.get("dstList"); } if(list4.size()>0){ numList.removeAll(list4); - Map map = cfgConvert(numRegionList,list4,4,cfg,groupRelationList); + Map map = cfgToMaatConvert(numRegionList,list4,4,groupRelationList); groupRelationList=map.get("groupList"); numRegionList=map.get("dstList"); } if(list5.size()>0){ fileList.removeAll(list5); - Map map = cfgConvert(digestRegionList,list5,5,cfg,groupRelationList); + Map map = cfgToMaatConvert(digestRegionList,list5,5,groupRelationList); groupRelationList=map.get("groupList"); digestRegionList=map.get("dstList"); } @@ -376,13 +424,23 @@ public class ConfigSynchronizationService extends BaseService{ } if(!StringUtil.isEmpty(configCompileList.size())){ maatBean.setConfigCompileList(configCompileList); - maatBean.setAuditTime(new Date()); maatBean.setCreatorName(UserUtils.getUser().getName()); maatBean.setVersion(Constants.MAAT_VERSION); maatBean.setOpAction(Constants.INSERT_ACTION); String json=gsonToJson(maatBean); - //调用服务接口配置全量更新 - JSONObject result = ConfigServiceUtil.configSync(json,1,entity.getServiceId(),null,(hasData?null:"FINISHED")); +// logger.info(json); + //调用服务接口下发配置数据 + if(isUpdateCfg) { + logger.info("配置批量下发:"+json); + //调用服务接口同步回调类配置 + ToMaatResult result = ConfigServiceUtil.postMaatCfg(json); + if(result!=null){ + logger.info("配置批量下发响应信息:"+result.getMsg()); + } + }else { + //调用服务接口配置全量更新 + JSONObject result = ConfigServiceUtil.configSync(json,1,entity.getServiceId(),null,(hasData?null:"FINISHED")); + } } return hasData; } @@ -453,8 +511,13 @@ public class ConfigSynchronizationService extends BaseService{ List ipList = new ArrayList(); maatBean = new ToMaatBean(); configCompileList = new ArrayList(); - - for(DdosIpCfg cfg:list){ + //批量获取regionId,groupId + List regionIds = ConfigServiceUtil.getId(3, list.size()); + List groupIds = ConfigServiceUtil.getId(2, list.size()); + for(int i=0;i0){ ipList.removeAll(list1); - Map map = cfgConvert(ipRegionList,list1,1,cfg,groupRelationList); + Map map = cfgToMaatConvert(ipRegionList,list1,1,groupRelationList); groupRelationList=map.get("groupList"); ipRegionList=map.get("dstList"); if(map.get("numRegionList")!=null){ @@ -532,8 +595,19 @@ public class ConfigSynchronizationService extends BaseService{ maatBean.setVersion(Constants.MAAT_VERSION); maatBean.setOpAction(Constants.INSERT_ACTION); String json=gsonToJson(maatBean); - //调用服务接口配置全量更新 - JSONObject result = ConfigServiceUtil.configSync(json,1,entity.getServiceId(),null,(hasData?null:"FINISHED")); + //调用服务接口下发配置数据 + if(isUpdateCfg) { + logger.info("配置批量下发:"+json); + //调用服务接口同步回调类配置 + ToMaatResult result = ConfigServiceUtil.postMaatCfg(json); + if(result!=null){ + logger.info("配置批量下发响应信息:"+result.getMsg()); + } + }else { + //调用服务接口配置全量更新 + JSONObject result = ConfigServiceUtil.configSync(json,1,entity.getServiceId(),null,(hasData?null:"FINISHED")); + } + } return hasData; } @@ -653,10 +727,19 @@ public class ConfigSynchronizationService extends BaseService{ } //调用服务接口下发配置数据 String json=gsonToJson(newList); - logger.info("回调类配置同步:"+json); - //调用服务接口同步回调类配置 - JSONObject result = ConfigServiceUtil.configSync(json,2,entity.getServiceId(),entity.getTableName(),(hasData?null:"FINISHED")); -// logger.info("回调类配置同步:"+result.getMsg()); + if(isUpdateCfg) { + logger.info("配置批量下发:"+json); + //调用服务接口同步回调类配置 + ToMaatResult result = ConfigServiceUtil.postMaatCfg(json); + if(result!=null){ + logger.info("配置批量下发响应信息:"+result.getMsg()); + } + }else { + logger.info("回调类配置同步:"+json); + //调用服务接口同步回调类配置 + JSONObject result = ConfigServiceUtil.configSync(json,2,entity.getServiceId(),entity.getTableName(),(hasData?null:"FINISHED")); +// logger.info("回调类配置同步:"+result.getMsg()); + } return hasData; }