修改单域配置批量下发数据处理逻辑
This commit is contained in:
@@ -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<String,Object> 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<IpCfg> areaIpRegionList;
|
||||
|
||||
|
||||
List<IpPortCfg> ipList = new ArrayList();
|
||||
List cfgList = new ArrayList();
|
||||
maatBean = new ToMaatBean();
|
||||
configCompileList = new ArrayList();
|
||||
//批量获取regionId,groupId
|
||||
List<Integer> regionIds = ConfigServiceUtil.getId(3, list.size());
|
||||
List<Integer> 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<list.size();i++){
|
||||
BaseCfg cfg = new BaseCfg();
|
||||
if(cfgType==1){
|
||||
BeanUtils.copyProperties(list.get(i), ipCfg);
|
||||
}else if(cfgType==2){
|
||||
BeanUtils.copyProperties(list.get(i), strCfg);
|
||||
}else if(cfgType==3){
|
||||
BeanUtils.copyProperties(list.get(i), complexStrCfg);
|
||||
}
|
||||
BeanUtils.copyProperties(list.get(i), cfg);
|
||||
cfg.setRegionId(regionIds.get(i));
|
||||
cfg.setGroupId(groupIds.get(i));
|
||||
@@ -1298,7 +1323,7 @@ public class ConfigSynchronizationService extends BaseService{
|
||||
if(userRegionList!=null){
|
||||
for(Map<String,Object> 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<String,List> 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"));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user