批量下发调用正常下发接口
This commit is contained in:
@@ -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<Integer> regionIds = ConfigServiceUtil.getId(3, ipList.size()+strList.size()+complexStrList.size()+numList.size()+fileList.size());
|
||||
List<Integer> 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;r<regionArray.length;r++){
|
||||
Field field = aClass.getDeclaredField(regionArray[r]);
|
||||
field.setAccessible(true);
|
||||
value += "/"+replaceContentEscape(field.get(cfg)==null?"":field.get(cfg).toString());//自定义域以/分割时的处理
|
||||
if(n.get("regionKey").equals("substitute")){
|
||||
value += "/"+replaceContentEscape(field.get(cfg)==null?"":field.get(cfg).toString());//自定义域以/分割时的处理
|
||||
}else{
|
||||
value += replaceContentEscape(field.get(cfg)==null?"":field.get(cfg).toString());
|
||||
}
|
||||
|
||||
}
|
||||
userRegion += n.get("regionKey")+"="+value+Constants.USER_REGION_SPLIT;
|
||||
}else{
|
||||
@@ -269,18 +278,33 @@ public class ConfigSynchronizationService extends BaseService{
|
||||
userRegion = userRegion.substring(0, userRegion.length()-1);
|
||||
}
|
||||
}
|
||||
for(IpPortCfg ip:ipList){
|
||||
if(ip.getCompileId().equals(cfg.getCompileId())){
|
||||
list1.add(ip);
|
||||
if(ipList.size()>0){
|
||||
List<Integer> ipGroupId = ConfigServiceUtil.getId(2,1);//多条IP只获取一个groupId
|
||||
for(int index=0;index<ipList.size();index++){
|
||||
IpPortCfg ip = ipList.get(index);
|
||||
if(ip.getCompileId().equals(cfg.getCompileId())){
|
||||
BeanUtils.copyProperties(cfg, ip);
|
||||
ip.setRegionId(regionIds.get(index));
|
||||
regionIds.remove(index);
|
||||
ip.setGroupId(ipGroupId.get(0));
|
||||
list1.add(ip);
|
||||
}
|
||||
}
|
||||
}
|
||||
for(AsnIpCfg ip:asnIpList){
|
||||
|
||||
for(AsnIpCfg ip:asnIpList){//asn不需要再次获取regionId,groupId
|
||||
if(ip.getAsnIpGroup().toString().equals(cfg.getUserRegion4())){//根据组号对应
|
||||
list1.add(ip);
|
||||
}
|
||||
}
|
||||
for(BaseStringCfg str:strList){
|
||||
for(int index=0;index<strList.size();index++){
|
||||
BaseStringCfg str = strList.get(index);
|
||||
if(str.getCompileId().equals(cfg.getCompileId())){
|
||||
BeanUtils.copyProperties(cfg, str);
|
||||
str.setRegionId(regionIds.get(index));
|
||||
regionIds.remove(index);
|
||||
str.setGroupId(groupIds.get(index));
|
||||
groupIds.remove(index);
|
||||
list2.add(str);
|
||||
if(entity.getServiceId().equals(513)||entity.getServiceId().equals(515)){
|
||||
if(userRegion.equals("")){
|
||||
@@ -291,8 +315,14 @@ public class ConfigSynchronizationService extends BaseService{
|
||||
}
|
||||
}
|
||||
}
|
||||
for(ComplexkeywordCfg str:complexStrList){
|
||||
for(int index=0;index<complexStrList.size();index++){
|
||||
ComplexkeywordCfg str = complexStrList.get(index);
|
||||
if(str.getCompileId().equals(cfg.getCompileId())){
|
||||
BeanUtils.copyProperties(cfg, str);
|
||||
str.setRegionId(regionIds.get(index));
|
||||
regionIds.remove(index);
|
||||
str.setGroupId(groupIds.get(index));
|
||||
groupIds.remove(index);
|
||||
list3.add(str);
|
||||
if(entity.getServiceId().equals(129) && str.getDistrict()!=null){//http监测
|
||||
String dictValue = DictUtils.getDictCode(Constants.HTTP_HEADER_DICT_MODULE, str.getDistrict());
|
||||
@@ -306,22 +336,40 @@ public class ConfigSynchronizationService extends BaseService{
|
||||
}
|
||||
}
|
||||
}
|
||||
for(com.nis.domain.configuration.NumBoundaryCfg num:numList){
|
||||
for(int index=0;index<numList.size();index++){
|
||||
com.nis.domain.configuration.NumBoundaryCfg num = numList.get(index);
|
||||
if(num.getCompileId().equals(cfg.getCompileId())){
|
||||
BeanUtils.copyProperties(cfg, num);
|
||||
num.setRegionId(regionIds.get(index));
|
||||
regionIds.remove(index);
|
||||
num.setGroupId(groupIds.get(index));
|
||||
groupIds.remove(index);
|
||||
list4.add(num);
|
||||
}
|
||||
}
|
||||
for(FileDigestCfg file:fileList){
|
||||
for(int index=0;index<fileList.size();index++){
|
||||
FileDigestCfg file = fileList.get(index);
|
||||
if(file.getCompileId().equals(cfg.getCompileId())){
|
||||
BeanUtils.copyProperties(cfg, file);
|
||||
file.setRegionId(regionIds.get(index));
|
||||
regionIds.remove(index);
|
||||
file.setGroupId(groupIds.get(index));
|
||||
groupIds.remove(index);
|
||||
list5.add(file);
|
||||
}
|
||||
}
|
||||
if(list1.size()>0){
|
||||
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<String,List> map = cfgConvert(ipRegionList,list1,1,cfg,groupRelationList);
|
||||
Map<String,List> 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<String,List> map = cfgConvert(strRegionList,list2,2,cfg,groupRelationList);
|
||||
Map<String,List> map = cfgToMaatConvert(strRegionList,list2,2,groupRelationList);
|
||||
groupRelationList=map.get("groupList");
|
||||
strRegionList=map.get("dstList");
|
||||
}
|
||||
if(list3.size()>0){
|
||||
complexStrList.removeAll(list3);
|
||||
Map<String,List> map = cfgConvert(strRegionList,list3,3,cfg,groupRelationList);
|
||||
Map<String,List> map = cfgToMaatConvert(strRegionList,list3,3,groupRelationList);
|
||||
groupRelationList=map.get("groupList");
|
||||
strRegionList=map.get("dstList");
|
||||
}
|
||||
if(list4.size()>0){
|
||||
numList.removeAll(list4);
|
||||
Map<String,List> map = cfgConvert(numRegionList,list4,4,cfg,groupRelationList);
|
||||
Map<String,List> map = cfgToMaatConvert(numRegionList,list4,4,groupRelationList);
|
||||
groupRelationList=map.get("groupList");
|
||||
numRegionList=map.get("dstList");
|
||||
}
|
||||
if(list5.size()>0){
|
||||
fileList.removeAll(list5);
|
||||
Map<String,List> map = cfgConvert(digestRegionList,list5,5,cfg,groupRelationList);
|
||||
Map<String,List> 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<IpPortCfg> ipList = new ArrayList();
|
||||
maatBean = new ToMaatBean();
|
||||
configCompileList = new ArrayList();
|
||||
|
||||
for(DdosIpCfg cfg:list){
|
||||
//批量获取regionId,groupId
|
||||
List<Integer> regionIds = ConfigServiceUtil.getId(3, list.size());
|
||||
List<Integer> groupIds = ConfigServiceUtil.getId(2, list.size());
|
||||
for(int i=0;i<list.size();i++){
|
||||
DdosIpCfg cfg=list.get(i);
|
||||
cfg.setRegionId(regionIds.get(i));
|
||||
cfg.setGroupId(groupIds.get(i));
|
||||
maatCfg = new MaatCfg();
|
||||
maatCfg.initDefaultValue();
|
||||
groupRelationList = new ArrayList();
|
||||
@@ -498,7 +561,7 @@ public class ConfigSynchronizationService extends BaseService{
|
||||
list1.add(cfg);
|
||||
if(list1.size()>0){
|
||||
ipList.removeAll(list1);
|
||||
Map<String,List> map = cfgConvert(ipRegionList,list1,1,cfg,groupRelationList);
|
||||
Map<String,List> 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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user