各业务配置批量下发功能提交

This commit is contained in:
段冬梅
2019-03-18 15:58:15 +08:00
parent 36f09542da
commit 805d444d01
9 changed files with 294 additions and 304 deletions

View File

@@ -1499,7 +1499,7 @@ public class ConfigSynchronizationService extends BaseService{
/**
* 处理app ip特征分组复用配置
* 全量下发(全量下发接口只支持maat和回调类的json字符串格式)
* TODO 批量下发:【第一次下发为正常配置下发,非第一次下发为分组复用接口下发
* 批量下发:【按照config group每组每批次下发一次之下发一种格式的配置maat/reuse,CompileIsIssued标识
* @param serviceId
* @param request
* @param response
@@ -1533,6 +1533,7 @@ public class ConfigSynchronizationService extends BaseService{
Map<Integer,List<AppIpCfg>> dataMap=new HashMap<>();
Integer compileId=entity.getCompileId();
Integer groupId=entity.getGroupId();
compileIds.add(compileId);
List<AppIpCfg> ipList=new ArrayList<>();
for(int i=0;i<list.size();i++){
AppIpCfg cfg = new AppIpCfg();
@@ -1541,14 +1542,7 @@ public class ConfigSynchronizationService extends BaseService{
cfg.setAuditTime(StringUtil.isEmpty(entity.getAuditTime()) ? cfg.getAuditTime():entity.getAuditTime());
cfg.setGroupId(groupId);
ipList.add(cfg);
/*if(isUpdateCfg) {
if(!compileIds.contains(cfg.getCompileId())) {
compileIds.add(cfg.getCompileId());
}
if(!StringUtil.isEmpty(cfg.getUserRegion1())) {
regionIds.add(Integer.parseInt(cfg.getUserRegion1()));
}
}*/
regionIds.add(Integer.parseInt(cfg.getUserRegion1()));
}
dataMap.put(compileId, ipList);
for(List<AppIpCfg> entitys:dataMap.values()) {
@@ -1561,23 +1555,8 @@ public class ConfigSynchronizationService extends BaseService{
numRegionList = new ArrayList();
digestRegionList = new ArrayList();
areaIpRegionList = new ArrayList();
/*if(configGroupInfo==null) {
Integer groupId = ConfigServiceUtil.getId(2, 1).get(0);
specificServiceCfg.setGroupId(groupId);
configGroupInfo = new ConfigGroupInfo();
configGroupInfo.setGroupId(specificServiceCfg.getGroupId());
configGroupInfo.setGroupName(specificServiceCfg.getSpecServiceName());
configGroupInfo.setIsIssued(0);
configGroupInfo.setCompileId(entitys.get(0).getCompileId());
configGroupInfo.setGroupType(1);
configGroupInfoDao.insertConfigGroupInfo(configGroupInfo);
//更新group_id
specificServiceCfg.setOpTime(new Date());
specificServiceCfgDao.update(specificServiceCfg);
}*/
if(isUpdateCfg && (isIssued.equals(1) || entity.getIsValid().equals(0))) {
if(isUpdateCfg && isIssued.equals(1)) {
List<GroupReuseCfg> groupReuseList=new ArrayList<>();
GroupReuseCfg groupReuseCfg=new GroupReuseCfg();
/*groupReuseCfg.setUserRegion(userRegion);*/
@@ -1591,11 +1570,7 @@ public class ConfigSynchronizationService extends BaseService{
reuseMaatBean.setAuditTime(StringUtil.isEmpty(entity.getAuditTime())?entitys.get(0).getAuditTime():entity.getAuditTime());
reuseMaatBean.setCreatorName(entitys.get(0).getCurrentUser().getName());
reuseMaatBean.setVersion(Constants.MAAT_VERSION);
if(entity.getIsValid().equals(0)) {
reuseMaatBean.setOpAction(Constants.UPDATE_ACTION);
}else {
reuseMaatBean.setOpAction(Constants.INSERT_ACTION);
}
reuseMaatBean.setOpAction(Constants.INSERT_ACTION);
}else {
GroupCfg groupCfg=new GroupCfg();
groupCfg.setCompileId(entitys.get(0).getCompileId());
@@ -1632,7 +1607,7 @@ public class ConfigSynchronizationService extends BaseService{
if(!StringUtil.isEmpty(regionIds)) {
commonPolicyDao.auditCfgBatch(entity.getTableName(), entity, regionIds, null);
}
if(isIssued.equals(0) && entity.getIsValid().equals(1)) {//group第一次下发需要修改状态为已下发
if(isIssued.equals(0)) {//group第一次下发需要修改状态为已下发
if(!StringUtil.isEmpty(compileIds)) {
commonPolicyDao.auditCfgBatch("config_group_info", entity, compileIds, null);
}
@@ -1650,24 +1625,15 @@ public class ConfigSynchronizationService extends BaseService{
if(isIssued.equals(1)) {//已下发过的compile或配置取消直接走ip复用接口
json=gsonToJson(reuseMaatBean);
if(entity.getIsValid().equals(0)) {
logger.info("app ip批量失效"+json);
//调用服务接口同步回调类配置
ToMaatResult result = ConfigServiceUtil.put(json, 3);
if(result!=null){
logger.info("app ip批量失效响应信息"+result.getMsg());
}
}else {
logger.info("app ip批量生效"+json);
//调用服务接口同步回调类配置
ToMaatResult result = ConfigServiceUtil.postGroupReuseSources(json);
if(result!=null){
logger.info("app ip批量生效响应信息"+result.getMsg());
}
//logger.info("app ip批量生效"+json);
//调用服务接口同步回调类配置
ToMaatResult result = ConfigServiceUtil.postGroupReuseSources(json);
if(result!=null){
logger.info("app ip批量生效响应信息"+result.getMsg());
}
}else {//未下发过的compile直接走正常maat配置接口
// logger.info("配置批量下发:"+json);
//logger.info("配置批量下发:"+json);
//调用服务接口同步回调类配置
ToMaatResult result = ConfigServiceUtil.postMaatCfg(json);
if(result!=null){
@@ -1687,7 +1653,7 @@ public class ConfigSynchronizationService extends BaseService{
/**
* 处理ASN ip配置
* 全量下发(全量下发接口只支持maat和回调类的json字符串格式)
* TODO 批量下发:【第一次下发为正常配置下发,非第一次下发为分组复用接口下发
* 批量下发:【按照asn group每组每批次下发,一次下发一种格式的配置maat/reuse,CompileIsIssued标识
* @param serviceId
* @param request
* @param response
@@ -1714,13 +1680,14 @@ public class ConfigSynchronizationService extends BaseService{
reuseMaatBean = new GroupReuseAddBean();
configCompileList = new ArrayList();
List<Integer> regionIds= new ArrayList();//存储app ip域id
List<Integer> compileIds= new ArrayList();//存储app compileId
List<Integer> compileIds= new ArrayList();//存储app ip域id
Integer isIssued=entity.getCompileIsIssued();//批量下发时使用,需要用来判断是否走分组复用接口
//同一编译IP的分组
Map<Integer,List<AsnIpCfg>> dataMap=new HashMap<>();
Integer compileId=entity.getCompileId();
Integer groupId=entity.getGroupId();
compileIds.add(compileId);
List<AsnIpCfg> ipList=new ArrayList<>();
for(int i=0;i<list.size();i++){
AsnIpCfg cfg = new AsnIpCfg();
@@ -1728,15 +1695,8 @@ public class ConfigSynchronizationService extends BaseService{
cfg.setIsValid(entity.getIsValid());
cfg.setAuditTime(StringUtil.isEmpty(entity.getAuditTime()) ? cfg.getAuditTime():entity.getAuditTime());
cfg.setGroupId(groupId);
regionIds.add(cfg.getRegionId());
ipList.add(cfg);
/*if(isUpdateCfg) {
if(!compileIds.contains(cfg.getCompileId())) {
compileIds.add(cfg.getCompileId());
}
if(!StringUtil.isEmpty(cfg.getUserRegion1())) {
regionIds.add(Integer.parseInt(cfg.getUserRegion1()));
}
}*/
}
dataMap.put(compileId, ipList);
for(List<AsnIpCfg> entitys:dataMap.values()) {
@@ -1750,22 +1710,8 @@ public class ConfigSynchronizationService extends BaseService{
digestRegionList = new ArrayList();
areaIpRegionList = new ArrayList();
/*if(configGroupInfo==null) {
Integer groupId = ConfigServiceUtil.getId(2, 1).get(0);
specificServiceCfg.setGroupId(groupId);
configGroupInfo = new ConfigGroupInfo();
configGroupInfo.setGroupId(specificServiceCfg.getGroupId());
configGroupInfo.setGroupName(specificServiceCfg.getSpecServiceName());
configGroupInfo.setIsIssued(0);
configGroupInfo.setCompileId(entitys.get(0).getCompileId());
configGroupInfo.setGroupType(1);
configGroupInfoDao.insertConfigGroupInfo(configGroupInfo);
//更新group_id
specificServiceCfg.setOpTime(new Date());
specificServiceCfgDao.update(specificServiceCfg);
}*/
if(isUpdateCfg && (isIssued.equals(1) || entity.getIsValid().equals(0))) {
//批量配置生效,当前组已下发过
if(isUpdateCfg && isIssued.equals(1)) {
List<GroupReuseCfg> groupReuseList=new ArrayList<>();
GroupReuseCfg groupReuseCfg=new GroupReuseCfg();
/*groupReuseCfg.setUserRegion(userRegion);*/
@@ -1779,11 +1725,7 @@ public class ConfigSynchronizationService extends BaseService{
reuseMaatBean.setAuditTime(StringUtil.isEmpty(entity.getAuditTime())?entitys.get(0).getAuditTime():entity.getAuditTime());
reuseMaatBean.setCreatorName(entitys.get(0).getCurrentUser().getName());
reuseMaatBean.setVersion(Constants.MAAT_VERSION);
if(entity.getIsValid().equals(0)) {
reuseMaatBean.setOpAction(Constants.UPDATE_ACTION);
}else {
reuseMaatBean.setOpAction(Constants.INSERT_ACTION);
}
reuseMaatBean.setOpAction(Constants.INSERT_ACTION);
}else {
GroupCfg groupCfg=new GroupCfg();
groupCfg.setCompileId(entitys.get(0).getCompileId());
@@ -1820,9 +1762,9 @@ public class ConfigSynchronizationService extends BaseService{
if(!StringUtil.isEmpty(regionIds)) {
commonPolicyDao.auditCfgBatch(entity.getTableName(), entity, regionIds, null);
}
if(isIssued.equals(0) && entity.getIsValid().equals(1)) {//group第一次下发需要修改状态为已下发
if(isIssued.equals(0)) {//group第一次下发需要修改状态为已下发
if(!StringUtil.isEmpty(compileIds)) {
commonPolicyDao.auditCfgBatch("config_group_info", entity, compileIds, null);
commonPolicyDao.auditCfgBatch("asn_group_info", entity, compileIds, null);
}
}
@@ -1838,24 +1780,15 @@ public class ConfigSynchronizationService extends BaseService{
if(isIssued.equals(1)) {//已下发过的compile或配置取消直接走ip复用接口
json=gsonToJson(reuseMaatBean);
if(entity.getIsValid().equals(0)) {
logger.info("app ip批量失效"+json);
//调用服务接口同步回调类配置
ToMaatResult result = ConfigServiceUtil.put(json, 3);
if(result!=null){
logger.info("app ip批量失效响应信息"+result.getMsg());
}
}else {
logger.info("app ip批量生效"+json);
//调用服务接口同步回调类配置
ToMaatResult result = ConfigServiceUtil.postGroupReuseSources(json);
if(result!=null){
logger.info("app ip批量生效响应信息"+result.getMsg());
}
//logger.info("app ip批量生效"+json);
//调用服务接口同步回调类配置
ToMaatResult result = ConfigServiceUtil.postGroupReuseSources(json);
if(result!=null){
logger.info("app ip批量生效响应信息"+result.getMsg());
}
}else {//未下发过的compile直接走正常maat配置接口
// logger.info("配置批量下发:"+json);
//logger.info("配置批量下发:"+json);
//调用服务接口同步回调类配置
ToMaatResult result = ConfigServiceUtil.postMaatCfg(json);
if(result!=null){