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:
@@ -10,6 +10,7 @@ package com.nis.domain.configuration;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.google.gson.annotations.Expose;
|
||||
@@ -54,6 +55,23 @@ public class BaseCfg<T> extends BaseEntity<T> implements Cloneable{
|
||||
protected String userRegion4;
|
||||
@ExcelField(title="userregion5",sort=7)
|
||||
protected String userRegion5;
|
||||
|
||||
private Map<Integer,Integer> compileGroupMap;
|
||||
protected Integer compileIsIssued;
|
||||
public Integer getCompileIsIssued() {
|
||||
return compileIsIssued;
|
||||
}
|
||||
public void setCompileIsIssued(Integer compileIsIssued) {
|
||||
this.compileIsIssued = compileIsIssued;
|
||||
}
|
||||
|
||||
public Map<Integer, Integer> getCompileGroupMap() {
|
||||
return compileGroupMap;
|
||||
}
|
||||
public void setCompileGroupMap(Map<Integer, Integer> compileGroupMap) {
|
||||
this.compileGroupMap = compileGroupMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* 编译id
|
||||
*/
|
||||
|
||||
@@ -169,6 +169,7 @@ import com.nis.web.service.configuration.UserManageService;
|
||||
import com.nis.web.service.configuration.WebsiteCfgService;
|
||||
import com.nis.web.service.configuration.XmppCfgService;
|
||||
import com.nis.web.service.configuration.statistics.ConfigureStatisticsService;
|
||||
import com.nis.web.service.specific.ConfigGroupInfoService;
|
||||
import com.nis.web.service.specific.SpecificServiceCfgService;
|
||||
import com.nis.web.service.specific.SpecificServiceHostCfgService;
|
||||
import com.nis.web.service.systemService.ServiceConfigInfoService;
|
||||
@@ -298,6 +299,8 @@ public class BaseController {
|
||||
protected IpReuseIpCfgService ipReuseIpCfgService;
|
||||
@Autowired
|
||||
protected IpAddrPoolCfgService ipAddrPoolCfgService;// 地址池管理service
|
||||
@Autowired
|
||||
protected ConfigGroupInfoService configGroupInfoService;// 分组复用
|
||||
/**
|
||||
* 管理基础路径
|
||||
*/
|
||||
@@ -2000,7 +2003,7 @@ public class BaseController {
|
||||
BeanUtils.copyProperties(entity, auditBatchCfg);
|
||||
BeanUtils.copyProperties(entity, searchTrustedCaCrlCfg);
|
||||
}
|
||||
if(entity != null && (entity instanceof CfgIndexInfo)) {
|
||||
if(entity != null && (entity instanceof DnsResStrategy)) {
|
||||
BeanUtils.copyProperties(entity, auditBatchCfg);
|
||||
BeanUtils.copyProperties(entity, searchDnsResStrategy);
|
||||
}
|
||||
@@ -2008,7 +2011,7 @@ public class BaseController {
|
||||
BeanUtils.copyProperties(entity, auditBatchCfg);
|
||||
BeanUtils.copyProperties(entity, searchDnsIpCfg);
|
||||
}
|
||||
if(entity != null && (entity instanceof CfgIndexInfo)) {
|
||||
if(entity != null && (entity instanceof IpPortCfg)) {
|
||||
BeanUtils.copyProperties(entity, auditBatchCfg);
|
||||
BeanUtils.copyProperties(entity, searchIpPortCfg);
|
||||
}
|
||||
@@ -2021,7 +2024,7 @@ public class BaseController {
|
||||
BeanUtils.copyProperties(entity, auditBatchCfg);
|
||||
BeanUtils.copyProperties(entity, searchDdosIpCfg);
|
||||
}
|
||||
if(entity != null && (entity instanceof CfgIndexInfo)) {
|
||||
if(entity != null && (entity instanceof AppIpCfg)) {
|
||||
BeanUtils.copyProperties(entity, auditBatchCfg);
|
||||
BeanUtils.copyProperties(entity, searchAppIpCfg);
|
||||
}
|
||||
@@ -2331,6 +2334,85 @@ public class BaseController {
|
||||
}
|
||||
}
|
||||
}else{
|
||||
//批量下发时,未下发过的app需要下发正常配置;已下发过的app需要下发ip复用配置(为保证事物,分两种方式下发)
|
||||
//1028 app_ip_cfg
|
||||
if(auditBatchCfg.getServiceId().equals(1028)) {
|
||||
if(true) {
|
||||
boolean hasData = true;
|
||||
while(hasData){
|
||||
/************预先获取已下发的groupid和compileid,且每批次重新获取,避免上一批次有新的compileId下发*************/
|
||||
Map<Integer, Integer> isIssuedCompileIds=new HashMap<>();
|
||||
//分组复用组信息1:app ip,2:内容,3:区域 ,4 asn
|
||||
ConfigGroupInfo groupInfo=new ConfigGroupInfo();
|
||||
groupInfo.setIsIssued(1);
|
||||
groupInfo.setGroupType(1);
|
||||
List<ConfigGroupInfo> groupInfos=configGroupInfoService.findAllList(groupInfo);//每一批次下发都取一次最新的group_info信息
|
||||
Map<Integer, Integer> compileGroups=new HashMap<>();
|
||||
if(!StringUtil.isEmpty(groupInfos)) {
|
||||
for (ConfigGroupInfo configGroupInfo : groupInfos) {
|
||||
isIssuedCompileIds.put(configGroupInfo.getCompileId(), configGroupInfo.getGroupId());
|
||||
}
|
||||
}
|
||||
if(!StringUtil.isEmpty(isIssuedCompileIds)) {
|
||||
auditBatchCfg.setCompileGroupMap(isIssuedCompileIds);
|
||||
auditBatchCfg.setCompileIsIssued(1);
|
||||
List list = Lists.newArrayList();
|
||||
searchAppIpCfg.setCompileGroupMap(isIssuedCompileIds);
|
||||
list=appCfgService.findAppIpList(page, searchAppIpCfg).getList();
|
||||
if(!StringUtil.isEmpty(list)){
|
||||
//APP IP配置生效/失效
|
||||
hasData=configSynchronizationService.auditAppIpData(userRegionList,
|
||||
page,auditBatchCfg,list,hasData,true);
|
||||
if(hasData) {
|
||||
page.setPageNo(1);
|
||||
}
|
||||
}else{
|
||||
hasData = false;
|
||||
}
|
||||
}else {
|
||||
hasData = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(auditBatchCfg.getIsValid().equals(1)) {
|
||||
boolean hasData = true;
|
||||
while(hasData){
|
||||
/************预先获取未下发的groupid和compileid,********************/
|
||||
//获取已下发的appcompileid
|
||||
Map<Integer, Integer> notIssuedCompileIds=new HashMap<>();
|
||||
//分组复用组信息1:app ip,2:内容,3:区域 ,4 asn
|
||||
ConfigGroupInfo groupInfo=new ConfigGroupInfo();
|
||||
groupInfo.setIsIssued(0);
|
||||
groupInfo.setGroupType(1);
|
||||
List<ConfigGroupInfo> groupInfos=configGroupInfoService.findAllList(groupInfo);//每一批次下发都取一次最新的group_info信息
|
||||
Map<Integer, Integer> compileGroups=new HashMap<>();
|
||||
if(!StringUtil.isEmpty(groupInfos)) {
|
||||
for (ConfigGroupInfo configGroupInfo : groupInfos) {
|
||||
notIssuedCompileIds.put(configGroupInfo.getCompileId(), configGroupInfo.getGroupId());
|
||||
}
|
||||
}
|
||||
if(!StringUtil.isEmpty(notIssuedCompileIds)) {
|
||||
auditBatchCfg.setCompileGroupMap(notIssuedCompileIds);
|
||||
searchAppIpCfg.setCompileGroupMap(notIssuedCompileIds);
|
||||
auditBatchCfg.setCompileIsIssued(0);
|
||||
List list = Lists.newArrayList();
|
||||
list=appCfgService.findAppIpList(page, searchAppIpCfg).getList();
|
||||
if(!StringUtil.isEmpty(list)){
|
||||
//APP IP配置生效/失效
|
||||
hasData=configSynchronizationService.auditAppIpData(userRegionList,
|
||||
page,auditBatchCfg,list,hasData,true);
|
||||
if(hasData) {
|
||||
page.setPageNo(1);
|
||||
}
|
||||
}else{
|
||||
hasData = false;
|
||||
}
|
||||
}else {
|
||||
hasData = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}else {
|
||||
boolean hasData = true;
|
||||
while(hasData){
|
||||
List list = Lists.newArrayList();
|
||||
@@ -2345,9 +2427,6 @@ public class BaseController {
|
||||
if(auditBatchCfg.getServiceId().equals(1026)) {
|
||||
list=appCfgService.findAppDomainList(page, searchAppDomainCfg).getList();
|
||||
}
|
||||
if(auditBatchCfg.getServiceId().equals(1028)) {
|
||||
list=appCfgService.findAppIpList(page, searchAppIpCfg).getList();
|
||||
}
|
||||
if(auditBatchCfg.getServiceId().equals(1029)) {
|
||||
list=appCfgService.findAppSslList(page, searchAppSslCertCfg).getList();
|
||||
}
|
||||
@@ -2359,13 +2438,8 @@ public class BaseController {
|
||||
}
|
||||
if(!StringUtil.isEmpty(list)){
|
||||
if(auditBatchCfg.getIsValid().equals(1)) {
|
||||
if(auditBatchCfg.getServiceId().equals(1028)){
|
||||
hasData=configSynchronizationService.auditAppIpData(userRegionList,
|
||||
page,auditBatchCfg,list,hasData,true);
|
||||
}else{
|
||||
hasData=configSynchronizationService.auditSingleMaatData(cfgType,userRegionList,
|
||||
page,auditBatchCfg,list,hasData,true);
|
||||
}
|
||||
}else {
|
||||
List<BaseCfg> newList=new ArrayList<>();
|
||||
if(!StringUtil.isEmpty(list)) {
|
||||
@@ -2384,6 +2458,8 @@ public class BaseController {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}else if("2".equals(serviceTypeXml)){
|
||||
/********************回调类处理生效和失效一个方法【由于每个表检索条件不一样,需要自己处理,无法复用全量下发】*********/
|
||||
|
||||
@@ -373,7 +373,15 @@ public class AppCfgController extends BaseController {
|
||||
*/
|
||||
@RequestMapping(value = {"auditAppIpCfg"})
|
||||
@RequiresPermissions(value={"app:ip:confirm"})
|
||||
public String auditAppIpCfg(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) {
|
||||
public String auditAppIpCfg(Model model,@ModelAttribute("cfg")AppIpCfg cfg,
|
||||
Integer isValid,
|
||||
Integer isAudit,
|
||||
String ids,
|
||||
Integer functionId,
|
||||
RedirectAttributes redirectAttributes,
|
||||
HttpServletResponse response,
|
||||
HttpServletRequest request) {
|
||||
if(!StringUtil.isEmpty(ids)) {
|
||||
AppIpCfg entity = new AppIpCfg();
|
||||
String[] idArray = ids.split(",");
|
||||
//同一编译IP的分组
|
||||
@@ -407,6 +415,25 @@ public class AppCfgController extends BaseController {
|
||||
}
|
||||
}
|
||||
}
|
||||
}else {
|
||||
Page<AppIpCfg> searchPage=new Page<AppIpCfg>(request,response,"r");
|
||||
Page<AppIpCfg> auditPage=new Page<AppIpCfg>(request,response,"r");
|
||||
BeanUtils.copyProperties(searchPage, auditPage);
|
||||
|
||||
try {
|
||||
auditAll(auditPage,isValid , cfg);
|
||||
} catch (Exception e) {
|
||||
logger.error("配置下发失败:",e);
|
||||
if(e instanceof MaatConvertException) {
|
||||
addMessage(redirectAttributes,"error", "request_service_failed");
|
||||
}else {
|
||||
addMessage(redirectAttributes,"error", "audit_failed");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return ipCfgList(model, cfg, request, response);
|
||||
}
|
||||
|
||||
return "redirect:" + adminPath +"/app/ipCfgList?functionId="+functionId;
|
||||
}
|
||||
|
||||
@@ -930,6 +930,12 @@
|
||||
<if test="compileId != null">
|
||||
AND r.COMPILE_ID=#{compileId,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="compileGroupMap != null">
|
||||
and r.COMPILE_ID in
|
||||
<foreach collection="compileGroupMap.keys" index="index" item="compileId" open="(" separator="," close=")">
|
||||
${compileId}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="isAreaEffective != null">
|
||||
AND r.IS_AREA_EFFECTIVE=#{isAreaEffective,jdbcType=INTEGER}
|
||||
</if>
|
||||
|
||||
@@ -734,6 +734,7 @@
|
||||
|
||||
</update>
|
||||
<update id="auditCfgBatch">
|
||||
<if test="tableName != 'config_group_info'" >
|
||||
update ${tableName} set is_audit = #{entity.isAudit,jdbcType=INTEGER},
|
||||
auditor_id = #{entity.auditorId,jdbcType=INTEGER},
|
||||
audit_time = #{entity.auditTime,jdbcType=TIMESTAMP}
|
||||
@@ -744,13 +745,19 @@
|
||||
,cancel_request_id = #{requestId,jdbcType=INTEGER}
|
||||
</if>
|
||||
<where>
|
||||
<if test="tableName == 'app_ip_cfg'" >
|
||||
and user_region1 in
|
||||
<foreach collection="compileIds" index="index" item="compileId" open="(" separator="," close=")">
|
||||
#{compileId}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="tableName == 'asn_ip_cfg'" >
|
||||
and asn_ip_group in
|
||||
<foreach collection="compileIds" index="index" item="compileId" open="(" separator="," close=")">
|
||||
#{compileId}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="tableName != 'asn_ip_cfg'" >
|
||||
<if test="tableName != 'asn_ip_cfg' and tableName != 'app_ip_cfg'" >
|
||||
and compile_id in
|
||||
<foreach collection="compileIds" index="index" item="compileId" open="(" separator="," close=")">
|
||||
#{compileId}
|
||||
@@ -758,5 +765,16 @@
|
||||
</if>
|
||||
|
||||
</where>
|
||||
</if>
|
||||
<if test="tableName == 'config_group_info'" >
|
||||
update ${tableName} set is_issued = #{entity.isAudit,jdbcType=INTEGER},
|
||||
update_time = #{entity.auditTime,jdbcType=TIMESTAMP}
|
||||
<where>
|
||||
and compile_id in
|
||||
<foreach collection="compileIds" index="index" item="compileId" open="(" separator="," close=")">
|
||||
#{compileId}
|
||||
</foreach>
|
||||
</where>
|
||||
</if>
|
||||
</update>
|
||||
</mapper>
|
||||
@@ -11,6 +11,7 @@ import com.nis.web.dao.MyBatisDao;
|
||||
@MyBatisDao
|
||||
public interface ConfigGroupInfoDao extends CrudDao<ConfigGroupInfo>{
|
||||
List<ConfigGroupInfo> findAllList(int groupType);
|
||||
List<ConfigGroupInfo> findAllListByGroupInfo(ConfigGroupInfo entity);
|
||||
void insertConfigGroupInfo(ConfigGroupInfo entity);
|
||||
int insertBatch(List<ConfigGroupInfo> list);
|
||||
void updateConfigGroupInfobyGroupId(ConfigGroupInfo entity);
|
||||
|
||||
@@ -22,6 +22,25 @@
|
||||
from config_group_info
|
||||
where group_type =#{groupType}
|
||||
</select>
|
||||
<select id="findAllListByGroupIno" resultMap="configGroupInfoMap">
|
||||
select
|
||||
<include refid="columns"></include>
|
||||
from config_group_info
|
||||
<where>
|
||||
<if test="groupType != null">
|
||||
and group_type =#{groupType}
|
||||
</if>
|
||||
<if test="groupId != null ">
|
||||
and group_id =#{groupId}
|
||||
</if>
|
||||
<if test="compileId != null">
|
||||
and compile_id =#{compileId}
|
||||
</if>
|
||||
<if test="isIssued != null">
|
||||
and is_issued =#{isIssued}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
<!-- 新增配置分组信息 -->
|
||||
<insert id="insertConfigGroupInfo" parameterType="com.nis.domain.specific.ConfigGroupInfo" useGeneratedKeys="true">
|
||||
insert into config_group_info (id,group_id,group_name,is_issued,insert_time,group_type,compile_id,asn_id)
|
||||
|
||||
@@ -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;
|
||||
@@ -1415,7 +1425,14 @@ public class ConfigSynchronizationService extends BaseService{
|
||||
List<IpCfg> areaIpRegionList;
|
||||
|
||||
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,15 +1482,35 @@ public class ConfigSynchronizationService extends BaseService{
|
||||
specificServiceCfg.setOpTime(new Date());
|
||||
specificServiceCfgDao.update(specificServiceCfg);
|
||||
}*/
|
||||
Integer groupId=configGroupInfo.getGroupId();
|
||||
|
||||
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(groupId);
|
||||
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,groupId));
|
||||
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);
|
||||
@@ -1486,6 +1531,20 @@ public class ConfigSynchronizationService extends BaseService{
|
||||
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()){
|
||||
hasData = false;
|
||||
@@ -1494,12 +1553,33 @@ public class ConfigSynchronizationService extends BaseService{
|
||||
String json=gsonToJson(maatBean);
|
||||
//调用服务接口下发配置数据
|
||||
if(isUpdateCfg) {
|
||||
|
||||
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 {
|
||||
//调用服务接口配置全量更新
|
||||
isFinished = ((!hasData)&&lastServiceTag)?true:false;
|
||||
|
||||
@@ -33,4 +33,7 @@ public class ConfigGroupInfoService extends BaseService{
|
||||
public Integer getIssuedConfigGroupInfoByGroupIds(String groupIds) {
|
||||
return configGroupInfoDao.getIssuedConfigGroupInfoByGroupIds(groupIds);
|
||||
}
|
||||
public List<ConfigGroupInfo> findAllList(ConfigGroupInfo entity){
|
||||
return configGroupInfoDao.findAllListByGroupInfo(entity);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user