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 5a55368f3..425ef5107 100644 --- a/src/main/java/com/nis/web/service/configuration/ConfigSynchronizationService.java +++ b/src/main/java/com/nis/web/service/configuration/ConfigSynchronizationService.java @@ -52,6 +52,7 @@ import com.nis.util.DateUtils; import com.nis.util.DictUtils; import com.nis.util.ServiceConfigTemplateUtil; import com.nis.util.StringUtil; +import com.nis.web.dao.configuration.CommonPolicyDao; import com.nis.web.dao.configuration.ConfigSynchronizationDao; import com.nis.web.security.UserUtils; import com.nis.web.service.BaseService; @@ -65,7 +66,8 @@ import com.nis.web.service.BaseService; public class ConfigSynchronizationService extends BaseService{ @Autowired protected ConfigSynchronizationDao configSynchronizationDao; - + @Autowired + protected CommonPolicyDao commonPolicyDao; /** * 配置全量更新下发 * @param request @@ -234,6 +236,13 @@ public class ConfigSynchronizationService extends BaseService{ asnGroupIds.add(cfg.getUserRegion4()); } } + + if(isUpdateCfg) { + if(!StringUtil.isEmpty(compileIds) && !StringUtil.isEmpty(entity.getTableName())) { + commonPolicyDao.auditCfgBatch( entity.getTableName(), entity,compileIds,null); + } + } + if(cfgList!=null){ for(Map m:cfgList){ String tableName = m.get("tableName").toString(); @@ -254,6 +263,15 @@ public class ConfigSynchronizationService extends BaseService{ }else if("5".equals(m.get("cfgType"))){ fileList.addAll(configSynchronizationDao.getFileDigestList(tableName, compileIds)); } + if(isUpdateCfg) { + if(tableName.equals("asn_ip_cfg")){ + if(!StringUtil.isEmpty(asnGroupIds)) { + commonPolicyDao.auditCfgBatch(tableName, entity,asnGroupIds,null); + } + }else{ + commonPolicyDao.auditCfgBatch( tableName, entity,compileIds,null); + } + } } } //批量获取regionId,groupId(相同编译下的IP类配置多条ip只获取一个组号),分组复用的域配置不需要重新获取regionId,groupId @@ -1268,17 +1286,24 @@ public class ConfigSynchronizationService extends BaseService{ List areaIpRegionList; - List ipList = new ArrayList(); + List cfgList = new ArrayList(); maatBean = new ToMaatBean(); configCompileList = new ArrayList(); //批量获取regionId,groupId List regionIds = ConfigServiceUtil.getId(3, list.size()); List groupIds = ConfigServiceUtil.getId(2, list.size()); - IpPortCfg ipCfg = null; - BaseStringCfg strCfg = null; - ComplexkeywordCfg complexStr = null; + IpPortCfg ipCfg = new IpPortCfg(); + BaseStringCfg strCfg = new BaseStringCfg(); + ComplexkeywordCfg complexStrCfg = new ComplexkeywordCfg(); for(int i=0;i n:userRegionList){ Object userRegionPosition = n.get("userRegionPosition"); - if(userRegionPosition!=null && (userRegionPosition.toString().equals("1")||userRegionPosition.toString().equals("0"))){ + if(userRegionPosition!=null){ //通过反射机制获取自定义域字段值 String regionColumn = n.get("regionColumn").toString(); Class aClass = null; @@ -1317,7 +1342,14 @@ public class ConfigSynchronizationService extends BaseService{ Object value = ""; Field field = aClass.getDeclaredField(regionColumn); field.setAccessible(true); - value = field.get(cfg); + if(cfgType==1){ + value = field.get(ipCfg); + }else if(cfgType==2){ + value = field.get(strCfg); + }else if(cfgType==3){ + value = field.get(complexStrCfg); + } + if(!StringUtil.isEmpty(value)){ if(StringUtil.isEmpty(n.get("regionKey"))){ userRegion = value.toString(); @@ -1331,9 +1363,28 @@ public class ConfigSynchronizationService extends BaseService{ userRegion = userRegion.substring(0, userRegion.length()-1); } } - list1.add(cfg); + if(cfgType==1){ + ipCfg.setRegionId(regionIds.get(0)); + regionIds.remove(0); + ipCfg.setGroupId(groupIds.get(0)); + groupIds.remove(0); + list1.add(ipCfg); + }else if(cfgType==2){ + strCfg.setRegionId(regionIds.get(0)); + regionIds.remove(0); + strCfg.setGroupId(groupIds.get(0)); + groupIds.remove(0); + list1.add(strCfg); + }else if(cfgType==3){ + complexStrCfg.setRegionId(regionIds.get(0)); + regionIds.remove(0); + complexStrCfg.setGroupId(groupIds.get(0)); + groupIds.remove(0); + list1.add(complexStrCfg); + } + if(list1.size()>0){ - ipList.removeAll(list1); + cfgList.removeAll(list1); if(cfgType==1){ Map map = cfgToMaatConvert(ipRegionList,list1,1,groupRelationList); groupRelationList=map.get("groupList"); @@ -1384,7 +1435,7 @@ public class ConfigSynchronizationService extends BaseService{ } }else { //调用服务接口配置全量更新 - JSONObject result = ConfigServiceUtil.configSync(json,1,entity.getServiceId(),null,(hasData?null:"FINISHED")); +// JSONObject result = ConfigServiceUtil.configSync(json,1,entity.getServiceId(),null,(hasData?null:"FINISHED")); } }