diff --git a/src/main/java/com/nis/web/dao/basics/AsnGroupInfoDao.java b/src/main/java/com/nis/web/dao/basics/AsnGroupInfoDao.java index bbb03ce43..cb56f9f0d 100644 --- a/src/main/java/com/nis/web/dao/basics/AsnGroupInfoDao.java +++ b/src/main/java/com/nis/web/dao/basics/AsnGroupInfoDao.java @@ -33,4 +33,7 @@ public interface AsnGroupInfoDao extends CrudDao { void updateIsUsedAndIsValid(@Param("groupIds")List groupIds,@Param("isUsed")Integer isUsed,@Param("isValid")Integer isValid); List findAsnGroupInfoByGroupIds(@Param("groupIds")List groupIds,@Param("isUsed")Integer isUsed); List findAsnGroupIdByGroupIds(@Param("groupIds")String groupIds); + void deleteAll(); + void insertWithId(AsnGroupInfo asnGroupInfo); + void insertWithoutId(AsnGroupInfo asnGroupInfo); } \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/basics/AsnGroupInfoDao.xml b/src/main/java/com/nis/web/dao/basics/AsnGroupInfoDao.xml index a9587d401..da4379863 100644 --- a/src/main/java/com/nis/web/dao/basics/AsnGroupInfoDao.xml +++ b/src/main/java/com/nis/web/dao/basics/AsnGroupInfoDao.xml @@ -125,7 +125,74 @@ #{orgGroupId,jdbcType=INTEGER} ) - + + insert into asn_group_info( + group_id, + compile_id, + organization, + country, + detail, + is_valid, + creator_id, + create_time, + editor_id, + edit_time, + asn_id, + is_used, + region_id, + org_group_id + )values ( + #{groupId,jdbcType=INTEGER}, + #{compileId,jdbcType=INTEGER}, + #{organization,jdbcType=VARCHAR}, + #{country,jdbcType=VARCHAR}, + #{detail,jdbcType=VARCHAR}, + #{isValid,jdbcType=INTEGER}, + #{creatorId,jdbcType=INTEGER}, + #{createTime,jdbcType=TIMESTAMP}, + #{editorId,jdbcType=INTEGER}, + #{editTime,jdbcType=TIMESTAMP}, + #{asnId,jdbcType=INTEGER}, + #{isUsed,jdbcType=INTEGER}, + #{regionId,jdbcType=INTEGER}, + #{orgGroupId,jdbcType=INTEGER} + ) + + + insert into asn_group_info( + id, + group_id, + compile_id, + organization, + country, + detail, + is_valid, + creator_id, + create_time, + editor_id, + edit_time, + asn_id, + is_used, + region_id, + org_group_id + )values ( + #{id,jdbcType=INTEGER}, + #{groupId,jdbcType=INTEGER}, + #{compileId,jdbcType=INTEGER}, + #{organization,jdbcType=VARCHAR}, + #{country,jdbcType=VARCHAR}, + #{detail,jdbcType=VARCHAR}, + #{isValid,jdbcType=INTEGER}, + #{creatorId,jdbcType=INTEGER}, + #{createTime,jdbcType=TIMESTAMP}, + #{editorId,jdbcType=INTEGER}, + #{editTime,jdbcType=TIMESTAMP}, + #{asnId,jdbcType=INTEGER}, + #{isUsed,jdbcType=INTEGER}, + #{regionId,jdbcType=INTEGER}, + #{orgGroupId,jdbcType=INTEGER} + ) + update asn_group_info @@ -387,4 +454,7 @@ and r.group_id in (${groupIds}) + + delete from asn_group_info + \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/basics/AsnIpCfgDao.java b/src/main/java/com/nis/web/dao/basics/AsnIpCfgDao.java index c55de5106..cc2a2448e 100644 --- a/src/main/java/com/nis/web/dao/basics/AsnIpCfgDao.java +++ b/src/main/java/com/nis/web/dao/basics/AsnIpCfgDao.java @@ -35,4 +35,5 @@ public interface AsnIpCfgDao extends CrudDao{ public AsnIpCfg getOne(AsnIpCfg cfg); public void updateAsn(@Param("asnId")String asnNo,@Param("organization")String organization,@Param("country")String country,@Param("detail")String detail,@Param("groupId")String groupId); public void updateAsnIpByAsnGroups(@Param("entity")AsnIpCfg entity,@Param("asnGroups")List asnGroups,@Param("asnIds")String asnIds); + public void deleteAll(); } diff --git a/src/main/java/com/nis/web/dao/basics/AsnIpCfgDao.xml b/src/main/java/com/nis/web/dao/basics/AsnIpCfgDao.xml index ce0cd9c42..25528adee 100644 --- a/src/main/java/com/nis/web/dao/basics/AsnIpCfgDao.xml +++ b/src/main/java/com/nis/web/dao/basics/AsnIpCfgDao.xml @@ -668,5 +668,7 @@ - + + delete from asn_ip_cfg + \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/specific/ConfigGroupInfoDao.java b/src/main/java/com/nis/web/dao/specific/ConfigGroupInfoDao.java index 04e6e1806..44dfb462d 100644 --- a/src/main/java/com/nis/web/dao/specific/ConfigGroupInfoDao.java +++ b/src/main/java/com/nis/web/dao/specific/ConfigGroupInfoDao.java @@ -26,4 +26,7 @@ public interface ConfigGroupInfoDao extends CrudDao{ int delAsnGroup(@Param("groupName")String groupName); void updateIsAuditAll(@Param("groupType")Integer groupType,@Param("isAuditAll")Integer isAuditAll,@Param("groupIds")List groupIds); void updateIsUsed(@Param("groupType")Integer groupType,@Param("isUsed")Integer isUsed,@Param("groupIds")List groupIds); + void deleteAllAsnGroup(); + void insertWithId(ConfigGroupInfo entity); + void insertWithoutId(ConfigGroupInfo entity); } diff --git a/src/main/java/com/nis/web/dao/specific/ConfigGroupInfoDao.xml b/src/main/java/com/nis/web/dao/specific/ConfigGroupInfoDao.xml index 210559517..ee8ca6db8 100644 --- a/src/main/java/com/nis/web/dao/specific/ConfigGroupInfoDao.xml +++ b/src/main/java/com/nis/web/dao/specific/ConfigGroupInfoDao.xml @@ -45,6 +45,14 @@ insert into config_group_info (id,group_id,group_name,is_issued,insert_time,group_type,compile_id,asn_id,is_audit_all,is_used) + values(#{id},#{groupId},#{groupName},#{isIssued},#{insertTime},#{groupType},#{compileId},#{asnId},#{isAuditAll},#{isUsed}) + + + insert into config_group_info (id,group_id,group_name,is_issued,insert_time,group_type,compile_id,asn_id,is_audit_all,is_used) + values(#{id},#{groupId},#{groupName},#{isIssued},#{insertTime},#{groupType},#{compileId},#{asnId},#{isAuditAll},#{isUsed}) + + + insert into config_group_info (id,group_id,group_name,is_issued,insert_time,group_type,compile_id,asn_id,is_audit_all,is_used) values(#{id},#{groupId},#{groupName},#{isIssued},now(),#{groupType},#{compileId},#{asnId},#{isAuditAll},#{isUsed}) @@ -147,4 +155,7 @@ + + delete from config_group_info where group_type=4 + \ No newline at end of file diff --git a/src/main/java/com/nis/web/service/BaseService.java b/src/main/java/com/nis/web/service/BaseService.java index 1be42a7e1..dea8de664 100644 --- a/src/main/java/com/nis/web/service/BaseService.java +++ b/src/main/java/com/nis/web/service/BaseService.java @@ -2178,7 +2178,7 @@ public abstract class BaseService { List numRegionList = new ArrayList(); List digestRegionList = new ArrayList(); List areaIpRegionList = new ArrayList(); - if(configGroupInfo.getIsIssued()==0) {//未下发,下发region compile,group. + if(configGroupInfo.getIsIssued() != null && configGroupInfo.getIsIssued()==0) {//未下发,下发region compile,group. MaatCfg maatCfg = new MaatCfg(); ToMaatBean maatBean = new ToMaatBean(); maatCfg.initDefaultValue(); diff --git a/src/main/java/com/nis/web/service/basics/AsnGroupInfoService.java b/src/main/java/com/nis/web/service/basics/AsnGroupInfoService.java index e7393b509..fa5fc6590 100644 --- a/src/main/java/com/nis/web/service/basics/AsnGroupInfoService.java +++ b/src/main/java/com/nis/web/service/basics/AsnGroupInfoService.java @@ -361,12 +361,30 @@ public class AsnGroupInfoService extends BaseService{ public AsnGroupInfo getGroupIdByNameAndASNId(String organization,String country,Long asnId) { return asnGroupInfoDao.getGroupIdByNameAndASNId(organization,country,asnId); } - public Map getGroupList() { - Map map=Maps.newConcurrentMap(); - for(AsnGroupInfo info:asnGroupInfoDao.findAsnGroupInfos()) { - map.put(info.getAsnId(), info); + public List findAsnGroupInfos() { + List asnGroupInfos=new ArrayList<>(); + asnGroupInfos=asnGroupInfoDao.findAsnGroupInfos(); + return asnGroupInfos; + } + /** + * 初始化asn旧数据信息 + * @param asnGroupInfos + * @param asnNosMap + * @return + */ + public void getGroupList(List asnGroupInfoList,List> asnNosMap) { + for(AsnGroupInfo info:asnGroupInfoList) { + ////【1】 旧的asn group info + ////【2】 所有的asn group info + ////【3】 所有已审核通过的asn group info + asnNosMap.get(1).put(info.getAsnId(), info); + if(info.getIsValid() ==1){ + asnNosMap.get(3).put(info.getAsnId(), info); + } + info.setIsValid(0); + info.setIssuedIPs(0l); + asnNosMap.get(2).put(info.getAsnId(), info); } - return map; } public List findAsnGroupList(AsnGroupInfo asnGroupInfo){ List list=asnGroupInfoDao.findAsnGroupInfoByAsnGroup(asnGroupInfo); diff --git a/src/main/java/com/nis/web/service/basics/AsnIpCfgService.java b/src/main/java/com/nis/web/service/basics/AsnIpCfgService.java index 62c4f89a2..90f231ae8 100644 --- a/src/main/java/com/nis/web/service/basics/AsnIpCfgService.java +++ b/src/main/java/com/nis/web/service/basics/AsnIpCfgService.java @@ -2,6 +2,7 @@ package com.nis.web.service.basics; import java.util.ArrayList; import java.util.Date; +import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; @@ -18,9 +19,12 @@ import org.springframework.transaction.annotation.Transactional; import com.beust.jcommander.internal.Lists; import com.google.common.collect.Maps; +import com.nis.domain.FunctionRegionDict; +import com.nis.domain.FunctionServiceDict; import com.nis.domain.Page; import com.nis.domain.basics.AsnGroupInfo; import com.nis.domain.basics.AsnIpCfg; +import com.nis.domain.configuration.AsnKeywordCfg; import com.nis.domain.configuration.BaseIpCfg; import com.nis.domain.configuration.CfgIndexInfo; import com.nis.domain.maat.GroupReuseAddBean; @@ -36,6 +40,7 @@ import com.nis.domain.maat.ToMaatResult; import com.nis.domain.specific.ConfigGroupInfo; import com.nis.util.ConfigServiceUtil; import com.nis.util.Constants; +import com.nis.util.DictUtils; import com.nis.util.StringUtil; import com.nis.web.dao.CrudDao; import com.nis.web.dao.basics.AsnGroupInfoDao; @@ -167,50 +172,284 @@ public class AsnIpCfgService extends CrudService, AsnIpCfg> { auditAllAsnRegionCfg(entity,auditAsnGroupList,null); }*/ } + /** + * + * @param asnNoMaps 所有asn的信息 + * @param configGroupInfos asn组织的数据库信息 + * @param asnOrgMap asn和组织的关系 + * @param isImportAll 是否导入全量 + */ @Transactional(readOnly=false,rollbackFor=RuntimeException.class) - public void processGroup(Map asnNoMap){ - logger.warn("Start to save group"); + public void processAsnIp(FunctionServiceDict service,FunctionRegionDict regionDict,List ipCfgList,List> asnNoMaps,String isSend,String isImportAll,Integer requestId, String attribute, String classify){ + logger.warn("Start to save asn ip size:"+ipCfgList.size()); long start=System.currentTimeMillis(); - Date createTime=new Date(); - int index=0; + //List asnIpCfgs=Lists.newArrayList(Constants.MAAT_JSON_SEND_SIZE); + Date date=new Date(); SqlSessionFactory sqlSessionFactory=SpringContextHolder.getBean(SqlSessionFactory.class); SqlSession batchSqlSession = null; - Set groupSet=new HashSet<>(); + int index=0; + Map auditInfo=new HashMap<>(); + //存储未下发的asno及asnIP + Map> noAuditGroupIds=new HashMap<>(); + //存储已下发的asnno + Map> auditGroupIds=new HashMap<>(); + //本次未下发的组信息 + List noAuditGroupList=new ArrayList(); + Long asno=0l; try{ + List regionIds=ConfigServiceUtil.getId(3, ipCfgList.size()); batchSqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false); - if(!asnNoMap.isEmpty()) { - List compileIds=ConfigServiceUtil.getId(1, asnNoMap.size()); - List groupIds=ConfigServiceUtil.getId(2, asnNoMap.size()); - List regionIds=ConfigServiceUtil.getId(3, asnNoMap.size()); - for(Entry e:asnNoMap.entrySet()) { - AsnGroupInfo info=e.getValue(); - info.setAsnId(e.getKey()); - info.setIsValid(0); - info.setIsUsed(0); - info.setCreatorId(UserUtils.getUser().getId()); - info.setCreateTime(createTime); - info.setGroupId(groupIds.get(index)); - info.setCompileId(compileIds.get(index)); - info.setRegionId(regionIds.get(index)); - if(!groupSet.contains(info.getOrganization())) { - groupSet.add(info.getOrganization()); - } - ((AsnGroupInfoDao) batchSqlSession.getMapper(AsnGroupInfoDao.class)).insert(info); - if(index%Constants.IMPORT_LIMIT==0) { - batchSqlSession.commit(); - } - index++; - } - batchSqlSession.commit(); + for (BaseIpCfg cfg : ipCfgList) { + AsnIpCfg asnIpCfg=new AsnIpCfg(); + BeanUtils.copyProperties(cfg, asnIpCfg,new String[] {"cfgId"}); + asnIpCfg.setTableName(AsnIpCfg.getTablename()); + asnIpCfg.setAction(service==null?0:service.getAction()); + asnIpCfg.setCfgRegionCode(regionDict.getConfigRegionCode()); + asnIpCfg.setCfgType(regionDict.getConfigRegionValue()); + asnIpCfg.setCreateTime(date); + asnIpCfg.setCreatorId(UserUtils.getUser().getId()); + asnIpCfg.setDoLog(2); + asnIpCfg.setFunctionId(regionDict.getFunctionId()); + if(isSend.equals("1")) { + asnIpCfg.setIsAudit(Constants.AUDIT_YES); + asnIpCfg.setIsValid(Constants.VALID_YES); + asnIpCfg.setAuditorId(UserUtils.getUser().getId()); + asnIpCfg.setAuditTime(date); + + }else { + asnIpCfg.setIsAudit(Constants.AUDIT_NOT_YET); + asnIpCfg.setIsValid(Constants.VALID_NO); + } + asnIpCfg.setIsAreaEffective(0); + asnIpCfg.setLable("0"); + asnIpCfg.setRequestId(StringUtil.isEmpty(requestId) ? 0 : requestId); + asnIpCfg.setAttribute(attribute); + asnIpCfg.setClassify(classify); + asnIpCfg.setServiceId(service==null?0:service.getServiceId()); + asnIpCfg.setRegionId(regionIds.get(index)); + asno=Long.parseLong(asnIpCfg.getUserRegion1()); + //设置group id,compileId + asnIpCfg.setAsnIpGroup(asnNoMaps.get(2).get(Long.parseLong(asnIpCfg.getUserRegion1())).getGroupId()); + asnIpCfg.setCompileId(asnNoMaps.get(2).get(Long.parseLong(asnIpCfg.getUserRegion1())).getCompileId()); + /*if(isSend.equals("1")) { + //判断组是否已下发 + if(asnNoMaps.get(3).keySet().contains(asno)){ + + }else{ + asnNoMaps.get(3).put(asno, asnNoMaps.get(2).get(asno)); + } + }*/ + + ((AsnIpCfgDao) batchSqlSession.getMapper(AsnIpCfgDao.class)).insert(asnIpCfg); + index++; } + batchSqlSession.commit(); + }finally { if(batchSqlSession != null){ batchSqlSession.close(); } } - batchSaveConfigGroupInfo(groupSet); - //刷新缓存 - //AsnCacheUtils.init(true); + //6、配置取消所有编译[编译取消,编译下的所有group和region都会取消(已和服务端确认)] + /*if(!StringUtil.isEmpty(deleteAsnCompile)){ + long startAudit=System.currentTimeMillis(); + ToMaatBean maatBean = new ToMaatBean(); + MaatCfg maatCfg = new MaatCfg(); + List configCompileList = new ArrayList(); + List groupRelationList = new ArrayList(); + List ipRegionList = new ArrayList(); + List strRegionList = new ArrayList(); + List numRegionList = new ArrayList(); + List digestRegionList = new ArrayList(); + List areaIpRegionList = new ArrayList(); + List serviceList = DictUtils.getFunctionServiceDictList(600); + Integer serviceId=0; + serviceId=serviceList.get(0).getServiceId(); + for(Entry e:deleteAsnCompile.entrySet()) { + maatCfg.setCompileId(e.getValue().getCompileId()); + maatCfg.setServiceId(serviceId); + maatCfg.setIsValid(0);//无效 + configCompileList.add(maatCfg); + } + maatBean.setConfigCompileList(configCompileList); + maatBean.setAuditTime(createTime); + maatBean.setCreatorName(UserUtils.getUser().getName()); + maatBean.setVersion(Constants.MAAT_VERSION); + maatBean.setOpAction(Constants.UPDATE_ACTION); + //调用服务接口取消配置 + String json=gsonToJson(maatBean); + logger.info("ASN IP 业务的编译配置全部失效参数:"+json); + long auditEnd=System.currentTimeMillis(); + logger.warn("Cancle all ASN compile finish,cost:"+(auditEnd-startAudit)); + ToMaatResult result = ConfigServiceUtil.put(json,1); + logger.info("ASN IP所有编译取消返回结果:"+result.getMsg()); + long resultEnd=System.currentTimeMillis(); + logger.warn("Cancle all ASN compile finish,cost:"+(resultEnd-auditEnd)); + }*/ + + long end=System.currentTimeMillis(); + logger.warn("Save asn ip finish,cost:"+(end-start)); + } + /** + * + * @param asnNoMaps 所有asn的信息 + * @param configGroupInfos asn组织的数据库信息 + * @param asnOrgMap asn和组织的关系 + * @param isImportAll 是否导入全量 + */ + @Transactional(readOnly=false,rollbackFor=RuntimeException.class) + public void processGroup(FunctionServiceDict service,List> asnNoMaps,List> asnOrgList,String isSend,String isImportAll){ + logger.warn("Start to save group"); + long start=System.currentTimeMillis(); + Map deleteAsnCompile=null; + Date createTime=new Date(); + SqlSessionFactory sqlSessionFactory=SpringContextHolder.getBean(SqlSessionFactory.class); + SqlSession batchSqlSession = null; + int index=0; + Integer serviceId=service.getServiceId(); + try{ + //1、删除所有asn ip + asnIpCfgDao.deleteAll(); + //2、删除所有的asn_group_info + asnGroupInfoDao.deleteAll(); + //3、删除所有的组织信息 + configGroupInfoDao.deleteAllAsnGroup(); + batchSqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false); + //4、遍历保存所有的config_group_info + if(!StringUtil.isEmpty(asnOrgList)){ + Map newOrgMap=asnOrgList.get(0);//【0】 新的config group info + Map oldOrgMap=asnOrgList.get(1);//【1】 旧的config group info + + //入库旧的asn组织信息 + if(!StringUtil.isEmpty(oldOrgMap)){ + index=0; + for(Entry e:oldOrgMap.entrySet()) { + ConfigGroupInfo configGroupInfo=e.getValue(); + configGroupInfo.setIsIssued(0); + ((ConfigGroupInfoDao) batchSqlSession.getMapper(ConfigGroupInfoDao.class)).insertWithId(configGroupInfo); + if(index != 0 && index%Constants.IMPORT_LIMIT==0) { + batchSqlSession.commit(); + } + index++; + } + batchSqlSession.commit(); + } + + //入库新的asn组织信息 + if(!StringUtil.isEmpty(newOrgMap)){ + index=0; + List groupIds=ConfigServiceUtil.getId(2, newOrgMap.size()); + for(Entry e:newOrgMap.entrySet()) { + ConfigGroupInfo configGroupInfo=e.getValue(); + configGroupInfo.setGroupId(groupIds.get(index)); + configGroupInfo.setIsIssued(0); + configGroupInfo.setIsUsed(0); + configGroupInfo.setIsAuditAll(0); + configGroupInfo.setGroupType(4); + configGroupInfo.setInsertTime(createTime); + asnOrgList.get(1).put(configGroupInfo.getGroupName(), configGroupInfo); + ((ConfigGroupInfoDao) batchSqlSession.getMapper(ConfigGroupInfoDao.class)).insertWithoutId(configGroupInfo); + if(index != 0 && index%Constants.IMPORT_LIMIT==0) { + batchSqlSession.commit(); + } + index++; + } + batchSqlSession.commit(); + } + } + + //4、遍历保存所有的asn_group_info + if(!asnNoMaps.isEmpty()){ + Map newAsnGroup =asnNoMaps.get(0); //【0】 新的asn group info + Map oldAsnGroup =asnNoMaps.get(1); //【1】 旧的asn group info + Map allAsnGroup =asnNoMaps.get(2); //【2】 所有的asn group info + Map auditedAsnNoMap=asnNoMaps.get(3); //【3】已下发的所有asn信息【失效所有的asn 编译】 + deleteAsnCompile=auditedAsnNoMap; + //保存新增的asn 信息 + if(!newAsnGroup.isEmpty()){ + index=0; + List compileIds=ConfigServiceUtil.getId(1, newAsnGroup.size()); + List groupIds=ConfigServiceUtil.getId(2, newAsnGroup.size()); + List regionIds=ConfigServiceUtil.getId(3, newAsnGroup.size()); + for(Entry e:newAsnGroup.entrySet()) { + AsnGroupInfo asnGroupInfo=e.getValue(); + asnGroupInfo.setAsnId(e.getKey()); + asnGroupInfo.setIsValid(0); + asnGroupInfo.setIsUsed(0); + asnGroupInfo.setCreatorId(UserUtils.getUser().getId()); + asnGroupInfo.setCreateTime(createTime); + asnGroupInfo.setGroupId(groupIds.get(index)); + asnGroupInfo.setCompileId(compileIds.get(index)); + asnGroupInfo.setRegionId(regionIds.get(index)); + asnGroupInfo.setOrgGroupId(asnOrgList.get(1).get(asnGroupInfo.getOrganization()).getGroupId()); + asnNoMaps.get(0).put(e.getKey(), asnGroupInfo);//设置完各种id后更新map数据 + asnNoMaps.get(2).put(e.getKey(), asnGroupInfo);//设置完各种id后更新map数据 + ((AsnGroupInfoDao) batchSqlSession.getMapper(AsnGroupInfoDao.class)).insertWithId(asnGroupInfo); + if(index != 0 && index%Constants.IMPORT_LIMIT==0) { + batchSqlSession.commit(); + } + index++; + } + batchSqlSession.commit(); + } + //保存旧的asn信息 + if(!oldAsnGroup.isEmpty()){ + index=0; + for(Entry e:oldAsnGroup.entrySet()) { + AsnGroupInfo asnGroupInfo=e.getValue(); + asnGroupInfo.setIsValid(0); + asnGroupInfo.setOrgGroupId(asnOrgList.get(1).get(asnGroupInfo.getOrganization()).getGroupId()); + ((AsnGroupInfoDao) batchSqlSession.getMapper(AsnGroupInfoDao.class)).insertWithoutId(asnGroupInfo); + if(index != 0 && index%Constants.IMPORT_LIMIT==0) { + batchSqlSession.commit(); + } + index++; + } + batchSqlSession.commit(); + } + + } + + }finally { + if(batchSqlSession != null){ + batchSqlSession.close(); + } + } + //6、配置取消所有编译[编译取消,编译下的所有group和region都会取消(已和服务端确认)] + if(!StringUtil.isEmpty(deleteAsnCompile)){ + long startAudit=System.currentTimeMillis(); + ToMaatBean maatBean = new ToMaatBean(); + MaatCfg maatCfg = new MaatCfg(); + List configCompileList = new ArrayList(); + List groupRelationList = new ArrayList(); + List ipRegionList = new ArrayList(); + List strRegionList = new ArrayList(); + List numRegionList = new ArrayList(); + List digestRegionList = new ArrayList(); + List areaIpRegionList = new ArrayList(); + List serviceList = DictUtils.getFunctionServiceDictList(600); + for(Entry e:deleteAsnCompile.entrySet()) { + maatCfg.setCompileId(e.getValue().getCompileId()); + maatCfg.setServiceId(serviceId); + maatCfg.setIsValid(0);//无效 + configCompileList.add(maatCfg); + } + maatBean.setConfigCompileList(configCompileList); + maatBean.setAuditTime(createTime); + maatBean.setCreatorName(UserUtils.getUser().getName()); + maatBean.setVersion(Constants.MAAT_VERSION); + maatBean.setOpAction(Constants.UPDATE_ACTION); + //调用服务接口取消配置 + String json=gsonToJson(maatBean); + logger.info("ASN IP 业务的编译配置全部失效参数:"+json); + long auditEnd=System.currentTimeMillis(); + logger.warn("Cancle all ASN compile finish,cost:"+(auditEnd-startAudit)); + ToMaatResult result = ConfigServiceUtil.put(json,1); + logger.info("ASN IP所有编译取消返回结果:"+result.getMsg()); + long resultEnd=System.currentTimeMillis(); + logger.warn("Cancle all ASN compile finish,cost:"+(resultEnd-auditEnd)); + } + long end=System.currentTimeMillis(); logger.warn("Save group finish,cost:"+(end-start)); } @@ -226,6 +465,8 @@ public class AsnIpCfgService extends CrudService, AsnIpCfg> { ConfigGroupInfo configGroupInfo=new ConfigGroupInfo(); configGroupInfo.setGroupName(org); configGroupInfo.setIsIssued(0); + configGroupInfo.setIsUsed(0); + configGroupInfo.setIsAuditAll(0); configGroupInfo.setGroupType(4); configGroupInfo.setInsertTime(new Date()); configGroupInfo.setGroupId(groupIds.get(index)); diff --git a/src/main/java/com/nis/web/service/specific/ConfigGroupInfoService.java b/src/main/java/com/nis/web/service/specific/ConfigGroupInfoService.java index d16459b97..2840aa73e 100644 --- a/src/main/java/com/nis/web/service/specific/ConfigGroupInfoService.java +++ b/src/main/java/com/nis/web/service/specific/ConfigGroupInfoService.java @@ -1,6 +1,8 @@ package com.nis.web.service.specific; +import java.util.HashMap; import java.util.List; +import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -16,6 +18,14 @@ public class ConfigGroupInfoService extends BaseService{ public List findAllList(int groupType){ return configGroupInfoDao.findAllList(groupType); } + public Map getConfigGroupInfo(List> orgList,int groupType){ + Map configGroupInfoMap=new HashMap<>(); + List configGroupInfos=this.findAllList(groupType); + for (ConfigGroupInfo configGroupInfo : configGroupInfos) { + orgList.get(1).put(configGroupInfo.getGroupName(), configGroupInfo); + } + return configGroupInfoMap; + } public ConfigGroupInfo insertConfigGroupInfo(ConfigGroupInfo entity) { configGroupInfoDao.insertConfigGroupInfo(entity); return entity;