appip全量下发逻辑:
1、全量下发 (1)、批量下发已下发过的app的app IP配置(走maat配置下发接口) appip批量审核逻辑: 1、审核通过 (1)、批量下发已下发过的app的app IP配置(走ip复用接口) 批量修改app ip配置状态为已下发 (2)、批量下发未下发过的app的app ip配置(走maat下发接口) 批量修改group_info为已下发 批量修改app ip为已下发 2、取消审核通过 (1)、批量失效已下发过的app的app IP配置(走ip复用接口) 批量修改app ip配置状态为失效 (2)、未下发过的app不存在已下发的配置,无需处理取消。
This commit is contained in:
@@ -40,6 +40,8 @@ import com.nis.domain.configuration.IpPortCfg;
|
||||
import com.nis.domain.configuration.PxyObjKeyring;
|
||||
import com.nis.domain.configuration.PxyObjTrustedCaCert;
|
||||
import com.nis.domain.configuration.PxyObjTrustedCaCrl;
|
||||
import com.nis.domain.maat.GroupReuseAddBean;
|
||||
import com.nis.domain.maat.GroupReuseCfg;
|
||||
import com.nis.domain.maat.MaatCfg;
|
||||
import com.nis.domain.maat.ToMaatBean;
|
||||
import com.nis.domain.maat.ToMaatResult;
|
||||
@@ -417,7 +419,6 @@ public class ConfigSynchronizationService extends BaseService{
|
||||
maatCfg.setGroupNum(groupRelationList.size());
|
||||
maatCfg.setAreaIpRegionList(areaIpRegionList);
|
||||
maatCfg.setIsValid(entity.getIsValid());
|
||||
maatCfg.setAuditTime(new Date());
|
||||
if(!StringUtil.isEmpty(userRegion)){
|
||||
maatCfg.setUserRegion(userRegion);
|
||||
}
|
||||
@@ -589,7 +590,6 @@ public class ConfigSynchronizationService extends BaseService{
|
||||
maatCfg.setGroupNum(groupRelationList.size());
|
||||
maatCfg.setAreaIpRegionList(areaIpRegionList);
|
||||
maatCfg.setIsValid(entity.getIsValid());
|
||||
maatCfg.setAuditTime(new Date());
|
||||
if(!StringUtil.isEmpty(userRegion)){
|
||||
maatCfg.setUserRegion(userRegion);
|
||||
}
|
||||
@@ -779,7 +779,6 @@ public class ConfigSynchronizationService extends BaseService{
|
||||
maatCfg.setGroupNum(groupRelationList.size());
|
||||
maatCfg.setAreaIpRegionList(areaIpRegionList);
|
||||
maatCfg.setIsValid(entity.getIsValid());
|
||||
maatCfg.setAuditTime(new Date());
|
||||
if(!StringUtil.isEmpty(userRegion)){
|
||||
maatCfg.setUserRegion(userRegion);
|
||||
}
|
||||
@@ -940,7 +939,6 @@ public class ConfigSynchronizationService extends BaseService{
|
||||
maatCfg.setGroupNum(groupRelationList.size());
|
||||
maatCfg.setAreaIpRegionList(areaIpRegionList);
|
||||
maatCfg.setIsValid(entity.getIsValid());
|
||||
maatCfg.setAuditTime(new Date());
|
||||
if(!StringUtil.isEmpty(userRegion)){
|
||||
maatCfg.setUserRegion(userRegion);
|
||||
}
|
||||
@@ -1034,6 +1032,16 @@ public class ConfigSynchronizationService extends BaseService{
|
||||
}
|
||||
if(!StringUtil.isEmpty(list)){
|
||||
if(entity.getServiceId().equals(1028)){
|
||||
ConfigGroupInfo groupInfo=new ConfigGroupInfo();
|
||||
groupInfo.setIsIssued(1);//全量下发只用获取已下发的group信息
|
||||
List<ConfigGroupInfo> groupInfos=configGroupInfoDao.findAllList(groupInfo);//每一批次下发都取一次最新的group_info信息
|
||||
Map<Integer, Integer> compileGroups=new HashMap<>();
|
||||
if(!StringUtil.isEmpty(groupInfos)) {
|
||||
for (ConfigGroupInfo configGroupInfo : groupInfos) {
|
||||
compileGroups.put(configGroupInfo.getCompileId(), configGroupInfo.getGroupId());
|
||||
}
|
||||
}
|
||||
entity.setCompileGroupMap(compileGroups);
|
||||
hasData=auditAppIpData(userRegionList,
|
||||
page,entity,list,hasData,isUpdateCfg);
|
||||
}else{
|
||||
@@ -1393,6 +1401,7 @@ public class ConfigSynchronizationService extends BaseService{
|
||||
}
|
||||
/**
|
||||
* 处理app ip特征(分组复用)配置
|
||||
* 批量下发:【第一次下发为正常配置下发,非第一次下发为分组复用接口下发】
|
||||
* @param serviceId
|
||||
* @param request
|
||||
* @param response
|
||||
@@ -1405,6 +1414,7 @@ public class ConfigSynchronizationService extends BaseService{
|
||||
boolean isUpdateCfg) throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException{
|
||||
|
||||
ToMaatBean maatBean;
|
||||
GroupReuseAddBean reuseMaatBean;
|
||||
MaatCfg maatCfg;
|
||||
List<MaatCfg> configCompileList;
|
||||
List<GroupCfg> groupRelationList;
|
||||
@@ -1414,8 +1424,15 @@ public class ConfigSynchronizationService extends BaseService{
|
||||
List<DigestCfg> digestRegionList;
|
||||
List<IpCfg> areaIpRegionList;
|
||||
|
||||
maatBean = new ToMaatBean();
|
||||
maatBean = new ToMaatBean();
|
||||
reuseMaatBean = new GroupReuseAddBean();
|
||||
configCompileList = new ArrayList();
|
||||
List<Integer> regionIds= new ArrayList();//存储app ip域id
|
||||
List<Integer> compileIds= new ArrayList();//存储app compileId
|
||||
Map<Integer, Integer> compileGroups=new HashMap<>();
|
||||
compileGroups=entity.getCompileGroupMap();
|
||||
Integer isIssued=entity.getCompileIsIssued();//批量下发时使用,需要用来判断是否走分组复用接口
|
||||
|
||||
//同一编译IP的分组
|
||||
Map<Integer,List<AppIpCfg>> dataMap=new HashMap<>();
|
||||
for(int i=0;i<list.size();i++){
|
||||
@@ -1423,6 +1440,7 @@ public class ConfigSynchronizationService extends BaseService{
|
||||
BeanUtils.copyProperties(list.get(i), cfg);
|
||||
cfg.setIsValid(entity.getIsValid());
|
||||
cfg.setAuditTime(StringUtil.isEmpty(entity.getAuditTime()) ? cfg.getAuditTime():entity.getAuditTime());
|
||||
cfg.setGroupId(compileGroups.get(cfg.getCompileId()));
|
||||
if(dataMap.containsKey(cfg.getCompileId())) {
|
||||
dataMap.get(cfg.getCompileId()).add(cfg);
|
||||
}else {
|
||||
@@ -1430,9 +1448,18 @@ public class ConfigSynchronizationService extends BaseService{
|
||||
ipList.add(cfg);
|
||||
dataMap.put(cfg.getCompileId(), ipList);
|
||||
}
|
||||
if(isUpdateCfg) {
|
||||
if(!compileIds.contains(cfg.getCompileId())) {
|
||||
compileIds.add(cfg.getCompileId());
|
||||
}
|
||||
if(!StringUtil.isEmpty(cfg.getUserRegion1())) {
|
||||
regionIds.add(Integer.parseInt(cfg.getUserRegion1()));
|
||||
}
|
||||
}
|
||||
}
|
||||
for(List<AppIpCfg> entitys:dataMap.values()) {
|
||||
maatCfg = new MaatCfg();
|
||||
reuseMaatBean = new GroupReuseAddBean();
|
||||
maatCfg.initDefaultValue();
|
||||
groupRelationList = new ArrayList();
|
||||
ipRegionList = new ArrayList();
|
||||
@@ -1441,8 +1468,6 @@ public class ConfigSynchronizationService extends BaseService{
|
||||
digestRegionList = new ArrayList();
|
||||
areaIpRegionList = new ArrayList();
|
||||
|
||||
SpecificServiceCfg specificServiceCfg=specificServiceCfgDao.getBySpecServiceId(entitys.get(0).getSpecServiceId());
|
||||
ConfigGroupInfo configGroupInfo=configGroupInfoDao.getConfigGroupInfoByGroupId(specificServiceCfg.getGroupId());
|
||||
/*if(configGroupInfo==null) {
|
||||
Integer groupId = ConfigServiceUtil.getId(2, 1).get(0);
|
||||
specificServiceCfg.setGroupId(groupId);
|
||||
@@ -1457,34 +1482,68 @@ public class ConfigSynchronizationService extends BaseService{
|
||||
specificServiceCfg.setOpTime(new Date());
|
||||
specificServiceCfgDao.update(specificServiceCfg);
|
||||
}*/
|
||||
Integer groupId=configGroupInfo.getGroupId();
|
||||
GroupCfg groupCfg=new GroupCfg();
|
||||
groupCfg.setCompileId(entitys.get(0).getCompileId());
|
||||
groupCfg.setGroupId(groupId);
|
||||
groupCfg.setIsValid(Constants.VALID_YES);
|
||||
groupCfg.setAuditTime(StringUtil.isEmpty(entity.getAuditTime())?entitys.get(0).getAuditTime():entity.getAuditTime());
|
||||
groupRelationList.add(groupCfg);
|
||||
BeanUtils.copyProperties(entitys.get(0), maatCfg);
|
||||
ipRegionList.addAll(groupReuseCfgAddRemoveConvert(entitys,Constants.VALID_YES,groupId));
|
||||
maatCfg.setAction(entitys.get(0).getAction());
|
||||
maatCfg.setAuditTime(entitys.get(0).getAuditTime());
|
||||
maatCfg.setIpRegionList(ipRegionList);
|
||||
maatCfg.setStrRegionList(strRegionList);
|
||||
maatCfg.setNumRegionList(numRegionList);
|
||||
maatCfg.setDigestRegionList(digestRegionList);
|
||||
maatCfg.setGroupRelationList(groupRelationList);
|
||||
maatCfg.setGroupNum(groupRelationList.size());
|
||||
maatCfg.setAreaIpRegionList(areaIpRegionList);
|
||||
maatCfg.setIsValid(entitys.get(0).getIsValid());
|
||||
// 设置APP自定义域
|
||||
String userRegion = "APP_ID=" + entitys.get(0).getAppCode()/*+Constants.USER_REGION_SPLIT+"ASEV_ID="+businessType*/;
|
||||
maatCfg.setUserRegion(userRegion);
|
||||
configCompileList.add(maatCfg);
|
||||
maatBean.setConfigCompileList(configCompileList);
|
||||
maatBean.setAuditTime(entitys.get(0).getAuditTime());
|
||||
maatBean.setCreatorName(entitys.get(0).getCurrentUser().getName());
|
||||
maatBean.setVersion(Constants.MAAT_VERSION);
|
||||
maatBean.setOpAction(Constants.INSERT_ACTION);
|
||||
|
||||
if(isUpdateCfg && (isIssued.equals(1) || entity.getIsValid().equals(0))) {
|
||||
List<GroupReuseCfg> groupReuseList=new ArrayList<>();
|
||||
GroupReuseCfg groupReuseCfg=new GroupReuseCfg();
|
||||
/*groupReuseCfg.setUserRegion(userRegion);*/
|
||||
groupReuseCfg.setServiceId(entitys.get(0).getServiceId());
|
||||
ipRegionList.addAll(groupReuseCfgAddRemoveConvert(entitys,entity.getIsValid(),entitys.get(0).getGroupId()));
|
||||
groupReuseCfg.setIpRegionList(ipRegionList);
|
||||
groupReuseCfg.setStrRegionList(strRegionList);
|
||||
groupReuseCfg.setNumRegionList(numRegionList);
|
||||
groupReuseList.add(groupReuseCfg);
|
||||
reuseMaatBean.setGroupReuseCfgList(groupReuseList);
|
||||
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);
|
||||
}
|
||||
}else {
|
||||
GroupCfg groupCfg=new GroupCfg();
|
||||
groupCfg.setCompileId(entitys.get(0).getCompileId());
|
||||
groupCfg.setGroupId(entitys.get(0).getGroupId());
|
||||
groupCfg.setIsValid(Constants.VALID_YES);
|
||||
groupCfg.setAuditTime(StringUtil.isEmpty(entity.getAuditTime())?entitys.get(0).getAuditTime():entity.getAuditTime());
|
||||
groupRelationList.add(groupCfg);
|
||||
BeanUtils.copyProperties(entitys.get(0), maatCfg);
|
||||
ipRegionList.addAll(groupReuseCfgAddRemoveConvert(entitys,Constants.VALID_YES,entitys.get(0).getGroupId()));
|
||||
maatCfg.setAction(entitys.get(0).getAction());
|
||||
maatCfg.setAuditTime(entitys.get(0).getAuditTime());
|
||||
maatCfg.setIpRegionList(ipRegionList);
|
||||
maatCfg.setStrRegionList(strRegionList);
|
||||
maatCfg.setNumRegionList(numRegionList);
|
||||
maatCfg.setDigestRegionList(digestRegionList);
|
||||
maatCfg.setGroupRelationList(groupRelationList);
|
||||
maatCfg.setGroupNum(groupRelationList.size());
|
||||
maatCfg.setAreaIpRegionList(areaIpRegionList);
|
||||
maatCfg.setIsValid(entitys.get(0).getIsValid());
|
||||
// 设置APP自定义域
|
||||
String userRegion = "APP_ID=" + entitys.get(0).getAppCode()/*+Constants.USER_REGION_SPLIT+"ASEV_ID="+businessType*/;
|
||||
maatCfg.setUserRegion(userRegion);
|
||||
configCompileList.add(maatCfg);
|
||||
maatBean.setConfigCompileList(configCompileList);
|
||||
maatBean.setAuditTime(entitys.get(0).getAuditTime());
|
||||
maatBean.setCreatorName(entitys.get(0).getCurrentUser().getName());
|
||||
maatBean.setVersion(Constants.MAAT_VERSION);
|
||||
maatBean.setOpAction(Constants.INSERT_ACTION);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
if(isUpdateCfg) {
|
||||
if(!StringUtil.isEmpty(regionIds)) {
|
||||
commonPolicyDao.auditCfgBatch(entity.getTableName(), entity, regionIds, null);
|
||||
}
|
||||
if(isIssued.equals(0) && entity.getIsValid().equals(1)) {//group第一次下发需要修改状态为已下发
|
||||
if(!StringUtil.isEmpty(compileIds)) {
|
||||
commonPolicyDao.auditCfgBatch("config_group_info", entity, compileIds, null);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
page.setList(list);
|
||||
if(page.isLastPage()){
|
||||
@@ -1494,11 +1553,32 @@ public class ConfigSynchronizationService extends BaseService{
|
||||
String json=gsonToJson(maatBean);
|
||||
//调用服务接口下发配置数据
|
||||
if(isUpdateCfg) {
|
||||
logger.info("配置批量下发:"+json);
|
||||
//调用服务接口同步回调类配置
|
||||
ToMaatResult result = ConfigServiceUtil.postMaatCfg(json);
|
||||
if(result!=null){
|
||||
logger.info("配置批量下发响应信息:"+result.getMsg());
|
||||
|
||||
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());
|
||||
}
|
||||
}
|
||||
|
||||
}else {//未下发过的compile直接走正常maat配置接口
|
||||
logger.info("配置批量下发:"+json);
|
||||
//调用服务接口同步回调类配置
|
||||
ToMaatResult result = ConfigServiceUtil.postMaatCfg(json);
|
||||
if(result!=null){
|
||||
logger.info("配置批量下发响应信息:"+result.getMsg());
|
||||
}
|
||||
}
|
||||
}else {
|
||||
//调用服务接口配置全量更新
|
||||
|
||||
Reference in New Issue
Block a user