修正部分业务配置自定义域位置,特殊处理ip drop业务

This commit is contained in:
zhangwei
2018-11-29 18:46:35 +08:00
parent 4f1bfc33f1
commit 14461b8cb9
4 changed files with 128 additions and 78 deletions

View File

@@ -54,6 +54,7 @@ import com.nis.util.ConfigServiceUtil;
import com.nis.util.Constants;
import com.nis.util.DateUtils;
import com.nis.util.DictUtils;
import com.nis.util.FileUtils;
import com.nis.util.ServiceConfigTemplateUtil;
import com.nis.util.StringUtil;
import com.nis.web.dao.configuration.CommonPolicyDao;
@@ -286,7 +287,7 @@ 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());
List<Integer> groupIds = ConfigServiceUtil.getId(2, ipList.size()+strList.size()+complexStrList.size()+numList.size()+fileList.size());
for(CfgIndexInfo cfg:list){
maatCfg = new MaatCfg();
maatCfg.initDefaultValue();
@@ -350,14 +351,15 @@ public class ConfigSynchronizationService extends BaseService{
}
}
if(ipList.size()>0){
List<Integer> ipGroupId = ConfigServiceUtil.getId(2,1);//多条IP只获取一个groupId
// 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(0));
regionIds.remove(0);
ip.setGroupId(ipGroupId.get(0));
ip.setGroupId(groupIds.get(0));
groupIds.remove(0);
ip.setIsValid(entity.getIsValid());
ip.setAuditTime(StringUtil.isEmpty(entity.getAuditTime()) ? cfg.getAuditTime():entity.getAuditTime());
list1.add(ip);
@@ -523,7 +525,8 @@ public class ConfigSynchronizationService extends BaseService{
}
}else {
//调用服务接口配置全量更新
// JSONObject result = ConfigServiceUtil.configSync(json,1,entity.getServiceId(),null,(hasData?null:"FINISHED"));
// FileUtils.writeToFile("d:\\configSync\\"+entity.getServiceId()+"_"+page.getPageNo()+"_"+System.currentTimeMillis()+".txt", json, false);
JSONObject result = ConfigServiceUtil.configSync(json,1,entity.getServiceId(),null,(hasData?null:"FINISHED"));
}
}
return hasData;
@@ -591,7 +594,7 @@ public class ConfigSynchronizationService extends BaseService{
}
//批量获取regionId,groupId(相同编译下的IP类配置多条ip只获取一个组号compileIds.size()表示app策略本身有一个字符串域
List<Integer> regionIds = ConfigServiceUtil.getId(3, ipList.size()+strList.size()+compileIds.size()+complexStrList.size()+numList.size()+fileList.size());
List<Integer> groupIds = ConfigServiceUtil.getId(2, strList.size()+compileIds.size()+complexStrList.size()+numList.size()+fileList.size());
List<Integer> groupIds = ConfigServiceUtil.getId(2, ipList.size()+strList.size()+compileIds.size()+complexStrList.size()+numList.size()+fileList.size());
for(AppPolicyCfg cfg:list){
maatCfg = new MaatCfg();
maatCfg.initDefaultValue();
@@ -661,14 +664,15 @@ public class ConfigSynchronizationService extends BaseService{
if(ipList.size()>0){
List<Integer> ipGroupId = ConfigServiceUtil.getId(2,1);//多条IP只获取一个groupId
// 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(0));
regionIds.remove(0);
ip.setGroupId(ipGroupId.get(0));
ip.setGroupId(groupIds.get(0));
groupIds.remove(0);
ip.setIsValid(entity.getIsValid());
ip.setAuditTime(StringUtil.isEmpty(entity.getAuditTime()) ? cfg.getAuditTime():entity.getAuditTime());
list1.add(ip);
@@ -800,7 +804,8 @@ public class ConfigSynchronizationService extends BaseService{
}
}else {
//调用服务接口配置全量更新
// JSONObject result = ConfigServiceUtil.configSync(json,1,entity.getServiceId(),null,(hasData?null:"FINISHED"));
// FileUtils.writeToFile("d:\\configSync\\"+entity.getServiceId()+"_"+page.getPageNo()+"_"+System.currentTimeMillis()+".txt", json, false);
JSONObject result = ConfigServiceUtil.configSync(json,1,entity.getServiceId(),null,(hasData?null:"FINISHED"));
}
}
return hasData;
@@ -870,7 +875,7 @@ 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());
List<Integer> groupIds = ConfigServiceUtil.getId(2, ipList.size()+strList.size()+complexStrList.size()+numList.size()+fileList.size());
for(AppFeatureIndex cfg:list){
maatCfg = new MaatCfg();
maatCfg.initDefaultValue();
@@ -917,14 +922,15 @@ public class ConfigSynchronizationService extends BaseService{
}
}
if(ipList.size()>0){
List<Integer> ipGroupId = ConfigServiceUtil.getId(2,1);//多条IP只获取一个groupId
// 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(0));
regionIds.remove(0);
ip.setGroupId(ipGroupId.get(0));
ip.setGroupId(groupIds.get(0));
groupIds.remove(0);
ip.setIsValid(entity.getIsValid());
ip.setAuditTime(StringUtil.isEmpty(entity.getAuditTime()) ? cfg.getAuditTime():entity.getAuditTime());
list1.add(ip);
@@ -1055,7 +1061,8 @@ public class ConfigSynchronizationService extends BaseService{
}
}else {
//调用服务接口配置全量更新
// JSONObject result = ConfigServiceUtil.configSync(json,1,entity.getServiceId(),null,(hasData?null:"FINISHED"));
// FileUtils.writeToFile("d:\\configSync\\"+entity.getServiceId()+"_"+page.getPageNo()+"_"+System.currentTimeMillis()+".txt", json, false);
JSONObject result = ConfigServiceUtil.configSync(json,1,entity.getServiceId(),null,(hasData?null:"FINISHED"));
}
}
return hasData;
@@ -1263,6 +1270,7 @@ public class ConfigSynchronizationService extends BaseService{
}
}else {
//调用服务接口配置全量更新
// FileUtils.writeToFile("d:\\configSync\\"+entity.getServiceId()+"_"+page.getPageNo()+"_"+System.currentTimeMillis()+".txt", json, false);
JSONObject result = ConfigServiceUtil.configSync(json,1,entity.getServiceId(),null,(hasData?null:"FINISHED"));
}
@@ -1447,7 +1455,8 @@ public class ConfigSynchronizationService extends BaseService{
}
}else {
//调用服务接口配置全量更新
// JSONObject result = ConfigServiceUtil.configSync(json,1,entity.getServiceId(),null,(hasData?null:"FINISHED"));
// FileUtils.writeToFile("d:\\configSync\\"+entity.getServiceId()+"_"+page.getPageNo()+"_"+System.currentTimeMillis()+".txt", json, false);
JSONObject result = ConfigServiceUtil.configSync(json,1,entity.getServiceId(),null,(hasData?null:"FINISHED"));
}
}
@@ -1564,7 +1573,8 @@ public class ConfigSynchronizationService extends BaseService{
}
}else {
//调用服务接口配置全量更新
// JSONObject result = ConfigServiceUtil.configSync(json,1,entity.getServiceId(),null,(hasData?null:"FINISHED"));
// FileUtils.writeToFile("d:\\configSync\\"+entity.getServiceId()+"_"+page.getPageNo()+"_"+System.currentTimeMillis()+".txt", json, false);
JSONObject result = ConfigServiceUtil.configSync(json,1,entity.getServiceId(),null,(hasData?null:"FINISHED"));
}
}
@@ -1619,63 +1629,81 @@ public class ConfigSynchronizationService extends BaseService{
configCompileList = new ArrayList();
List list = new ArrayList();
List newList = new ArrayList();
if(className.equals("AvFileSampleCfg")){
list = configSynchronizationDao.getAvFileCfgList(entity);
}else if(className.equals("PxyObjKeyring")){
list = configSynchronizationDao.getPxyObjKeyringCfgList(entity);
if(entity.getServiceId().equals(3)){//ip drop回调类配置用了主表和子表关系
list = configSynchronizationDao.getCfgIndexList(entity);
List<Integer> compileIds = Lists.newArrayList();
for(int i=0;i<list.size();i++){
PxyObjKeyring cfg = (PxyObjKeyring) list.get(i);
newList.add(convertCallBackProxyObjKeyring(cfg));
CfgIndexInfo cfg = (CfgIndexInfo) list.get(i);
compileIds.add(cfg.getCompileId());
}
}else if(className.equals("PxyObjTrustedCaCert")){
list = configSynchronizationDao.getPxyObjTrustedCertCfgList(entity);
for(int i=0;i<list.size();i++){
PxyObjTrustedCaCert cfg = (PxyObjTrustedCaCert) list.get(i);
newList.add(convertCallBackProxyObjTrustedCa(cfg,null));
}
}else if(className.equals("PxyObjTrustedCaCrl")){
list = configSynchronizationDao.getPxyObjTrustedCrlCfgList(entity);
for(int i=0;i<list.size();i++){
PxyObjTrustedCaCrl cfg = (PxyObjTrustedCaCrl) list.get(i);
newList.add(convertCallBackProxyObjTrustedCa(null,cfg));
}
}else if(className.equals("DnsResStrategy")){
list = configSynchronizationDao.getDnsStrategyList(entity);
for(int i=0;i<list.size();i++){
DnsResStrategy cfg = (DnsResStrategy) list.get(i);
newList.add(convertCallBackDnsResStrategy(cfg));
}
}else if(className.equals("DnsIpCfg")){
list = configSynchronizationDao.getDnsIpCfgList(entity);
for(int i=0;i<list.size();i++){
DnsIpCfg cfg = (DnsIpCfg) list.get(i);
List subList = configSynchronizationDao.getIpDropList("ip_port_cfg", compileIds);
for(int i=0;i<subList.size();i++){
IpPortCfg cfg = (IpPortCfg) subList.get(i);
newList.add(convertCallBackIp(cfg,cfg.getGroupId()));
}
}else if(className.equals("IpPortCfg")){
list = configSynchronizationDao.getIpPortListByService(entity);
for(int i=0;i<list.size();i++){
IpPortCfg cfg = (IpPortCfg) list.get(i);
newList.add(convertCallBackIp(cfg,cfg.getGroupId()));
}else{
if(className.equals("AvFileSampleCfg")){
list = configSynchronizationDao.getAvFileCfgList(entity);
}else if(className.equals("PxyObjKeyring")){
list = configSynchronizationDao.getPxyObjKeyringCfgList(entity);
for(int i=0;i<list.size();i++){
PxyObjKeyring cfg = (PxyObjKeyring) list.get(i);
newList.add(convertCallBackProxyObjKeyring(cfg));
}
}else if(className.equals("PxyObjTrustedCaCert")){
list = configSynchronizationDao.getPxyObjTrustedCertCfgList(entity);
for(int i=0;i<list.size();i++){
PxyObjTrustedCaCert cfg = (PxyObjTrustedCaCert) list.get(i);
newList.add(convertCallBackProxyObjTrustedCa(cfg,null));
}
}else if(className.equals("PxyObjTrustedCaCrl")){
list = configSynchronizationDao.getPxyObjTrustedCrlCfgList(entity);
for(int i=0;i<list.size();i++){
PxyObjTrustedCaCrl cfg = (PxyObjTrustedCaCrl) list.get(i);
newList.add(convertCallBackProxyObjTrustedCa(null,cfg));
}
}else if(className.equals("DnsResStrategy")){
list = configSynchronizationDao.getDnsStrategyList(entity);
for(int i=0;i<list.size();i++){
DnsResStrategy cfg = (DnsResStrategy) list.get(i);
newList.add(convertCallBackDnsResStrategy(cfg));
}
}else if(className.equals("DnsIpCfg")){
list = configSynchronizationDao.getDnsIpCfgList(entity);
for(int i=0;i<list.size();i++){
DnsIpCfg cfg = (DnsIpCfg) list.get(i);
newList.add(convertCallBackIp(cfg,cfg.getGroupId()));
}
}else if(className.equals("IpPortCfg")){
list = configSynchronizationDao.getIpPortListByService(entity);
for(int i=0;i<list.size();i++){
IpPortCfg cfg = (IpPortCfg) list.get(i);
newList.add(convertCallBackIp(cfg,cfg.getGroupId()));
}
}
}
page.setList(list);
if(page.isLastPage()){
hasData = false;
}
//调用服务接口下发配置数据
String json=gsonToJson(newList);
if(isUpdateCfg) {
logger.info("配置批量下发:"+json);
//调用服务接口同步回调类配置
ToMaatResult result = ConfigServiceUtil.postMaatCfg(json);
if(result!=null){
logger.info("配置批量下发响应信息:"+result.getMsg());
if(newList.size()>0){
//调用服务接口下发配置数据
String json=gsonToJson(newList);
if(isUpdateCfg) {
logger.info("配置批量下发:"+json);
//调用服务接口同步回调类配置
ToMaatResult result = ConfigServiceUtil.postMaatCfg(json);
if(result!=null){
logger.info("配置批量下发响应信息:"+result.getMsg());
}
}else {
// logger.info("回调类配置同步:"+json);
// FileUtils.writeToFile("d:\\configSync\\"+entity.getServiceId()+"_"+page.getPageNo()+"_"+System.currentTimeMillis()+".txt", json, false);
//调用服务接口同步回调类配置
JSONObject result = ConfigServiceUtil.configSync(json,2,entity.getServiceId(),entity.getTableName(),(hasData?null:"FINISHED"));
// 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;