修改单域配置批量下发数据处理逻辑
This commit is contained in:
@@ -52,6 +52,7 @@ import com.nis.util.DateUtils;
|
|||||||
import com.nis.util.DictUtils;
|
import com.nis.util.DictUtils;
|
||||||
import com.nis.util.ServiceConfigTemplateUtil;
|
import com.nis.util.ServiceConfigTemplateUtil;
|
||||||
import com.nis.util.StringUtil;
|
import com.nis.util.StringUtil;
|
||||||
|
import com.nis.web.dao.configuration.CommonPolicyDao;
|
||||||
import com.nis.web.dao.configuration.ConfigSynchronizationDao;
|
import com.nis.web.dao.configuration.ConfigSynchronizationDao;
|
||||||
import com.nis.web.security.UserUtils;
|
import com.nis.web.security.UserUtils;
|
||||||
import com.nis.web.service.BaseService;
|
import com.nis.web.service.BaseService;
|
||||||
@@ -65,7 +66,8 @@ import com.nis.web.service.BaseService;
|
|||||||
public class ConfigSynchronizationService extends BaseService{
|
public class ConfigSynchronizationService extends BaseService{
|
||||||
@Autowired
|
@Autowired
|
||||||
protected ConfigSynchronizationDao configSynchronizationDao;
|
protected ConfigSynchronizationDao configSynchronizationDao;
|
||||||
|
@Autowired
|
||||||
|
protected CommonPolicyDao commonPolicyDao;
|
||||||
/**
|
/**
|
||||||
* 配置全量更新下发
|
* 配置全量更新下发
|
||||||
* @param request
|
* @param request
|
||||||
@@ -234,6 +236,13 @@ public class ConfigSynchronizationService extends BaseService{
|
|||||||
asnGroupIds.add(cfg.getUserRegion4());
|
asnGroupIds.add(cfg.getUserRegion4());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(isUpdateCfg) {
|
||||||
|
if(!StringUtil.isEmpty(compileIds) && !StringUtil.isEmpty(entity.getTableName())) {
|
||||||
|
commonPolicyDao.auditCfgBatch( entity.getTableName(), entity,compileIds,null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(cfgList!=null){
|
if(cfgList!=null){
|
||||||
for(Map<String,Object> m:cfgList){
|
for(Map<String,Object> m:cfgList){
|
||||||
String tableName = m.get("tableName").toString();
|
String tableName = m.get("tableName").toString();
|
||||||
@@ -254,6 +263,15 @@ public class ConfigSynchronizationService extends BaseService{
|
|||||||
}else if("5".equals(m.get("cfgType"))){
|
}else if("5".equals(m.get("cfgType"))){
|
||||||
fileList.addAll(configSynchronizationDao.getFileDigestList(tableName, compileIds));
|
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
|
//批量获取regionId,groupId(相同编译下的IP类配置多条ip只获取一个组号),分组复用的域配置不需要重新获取regionId,groupId
|
||||||
@@ -1268,17 +1286,24 @@ public class ConfigSynchronizationService extends BaseService{
|
|||||||
List<IpCfg> areaIpRegionList;
|
List<IpCfg> areaIpRegionList;
|
||||||
|
|
||||||
|
|
||||||
List<IpPortCfg> ipList = new ArrayList();
|
List cfgList = new ArrayList();
|
||||||
maatBean = new ToMaatBean();
|
maatBean = new ToMaatBean();
|
||||||
configCompileList = new ArrayList();
|
configCompileList = new ArrayList();
|
||||||
//批量获取regionId,groupId
|
//批量获取regionId,groupId
|
||||||
List<Integer> regionIds = ConfigServiceUtil.getId(3, list.size());
|
List<Integer> regionIds = ConfigServiceUtil.getId(3, list.size());
|
||||||
List<Integer> groupIds = ConfigServiceUtil.getId(2, list.size());
|
List<Integer> groupIds = ConfigServiceUtil.getId(2, list.size());
|
||||||
IpPortCfg ipCfg = null;
|
IpPortCfg ipCfg = new IpPortCfg();
|
||||||
BaseStringCfg strCfg = null;
|
BaseStringCfg strCfg = new BaseStringCfg();
|
||||||
ComplexkeywordCfg complexStr = null;
|
ComplexkeywordCfg complexStrCfg = new ComplexkeywordCfg();
|
||||||
for(int i=0;i<list.size();i++){
|
for(int i=0;i<list.size();i++){
|
||||||
BaseCfg cfg = new BaseCfg();
|
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);
|
BeanUtils.copyProperties(list.get(i), cfg);
|
||||||
cfg.setRegionId(regionIds.get(i));
|
cfg.setRegionId(regionIds.get(i));
|
||||||
cfg.setGroupId(groupIds.get(i));
|
cfg.setGroupId(groupIds.get(i));
|
||||||
@@ -1298,7 +1323,7 @@ public class ConfigSynchronizationService extends BaseService{
|
|||||||
if(userRegionList!=null){
|
if(userRegionList!=null){
|
||||||
for(Map<String,Object> n:userRegionList){
|
for(Map<String,Object> n:userRegionList){
|
||||||
Object userRegionPosition = n.get("userRegionPosition");
|
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();
|
String regionColumn = n.get("regionColumn").toString();
|
||||||
Class aClass = null;
|
Class aClass = null;
|
||||||
@@ -1317,7 +1342,14 @@ public class ConfigSynchronizationService extends BaseService{
|
|||||||
Object value = "";
|
Object value = "";
|
||||||
Field field = aClass.getDeclaredField(regionColumn);
|
Field field = aClass.getDeclaredField(regionColumn);
|
||||||
field.setAccessible(true);
|
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(value)){
|
||||||
if(StringUtil.isEmpty(n.get("regionKey"))){
|
if(StringUtil.isEmpty(n.get("regionKey"))){
|
||||||
userRegion = value.toString();
|
userRegion = value.toString();
|
||||||
@@ -1331,9 +1363,28 @@ public class ConfigSynchronizationService extends BaseService{
|
|||||||
userRegion = userRegion.substring(0, userRegion.length()-1);
|
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){
|
if(list1.size()>0){
|
||||||
ipList.removeAll(list1);
|
cfgList.removeAll(list1);
|
||||||
if(cfgType==1){
|
if(cfgType==1){
|
||||||
Map<String,List> map = cfgToMaatConvert(ipRegionList,list1,1,groupRelationList);
|
Map<String,List> map = cfgToMaatConvert(ipRegionList,list1,1,groupRelationList);
|
||||||
groupRelationList=map.get("groupList");
|
groupRelationList=map.get("groupList");
|
||||||
@@ -1384,7 +1435,7 @@ public class ConfigSynchronizationService extends BaseService{
|
|||||||
}
|
}
|
||||||
}else {
|
}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