ASN IP全量+数据入库提交
This commit is contained in:
@@ -33,4 +33,7 @@ public interface AsnGroupInfoDao extends CrudDao<AsnGroupInfo> {
|
||||
void updateIsUsedAndIsValid(@Param("groupIds")List groupIds,@Param("isUsed")Integer isUsed,@Param("isValid")Integer isValid);
|
||||
List<AsnGroupInfo> findAsnGroupInfoByGroupIds(@Param("groupIds")List groupIds,@Param("isUsed")Integer isUsed);
|
||||
List<String> findAsnGroupIdByGroupIds(@Param("groupIds")String groupIds);
|
||||
void deleteAll();
|
||||
void insertWithId(AsnGroupInfo asnGroupInfo);
|
||||
void insertWithoutId(AsnGroupInfo asnGroupInfo);
|
||||
}
|
||||
@@ -125,7 +125,74 @@
|
||||
#{orgGroupId,jdbcType=INTEGER}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<insert id="insertWithoutId" parameterType="com.nis.domain.basics.AsnGroupInfo" >
|
||||
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>
|
||||
<insert id="insertWithId" parameterType="com.nis.domain.basics.AsnGroupInfo" >
|
||||
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}
|
||||
)
|
||||
</insert>
|
||||
<update id="update" parameterType="com.nis.domain.basics.AsnGroupInfo" >
|
||||
update asn_group_info
|
||||
<set >
|
||||
@@ -387,4 +454,7 @@
|
||||
and r.group_id in (${groupIds})
|
||||
</where>
|
||||
</select>
|
||||
<delete id="deleteAll" >
|
||||
delete from asn_group_info
|
||||
</delete>
|
||||
</mapper>
|
||||
@@ -35,4 +35,5 @@ public interface AsnIpCfgDao extends CrudDao<AsnIpCfg>{
|
||||
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<AsnGroupInfo> asnGroups,@Param("asnIds")String asnIds);
|
||||
public void deleteAll();
|
||||
}
|
||||
|
||||
@@ -668,5 +668,7 @@
|
||||
</if>
|
||||
</where>
|
||||
</update>
|
||||
|
||||
<delete id="deleteAll" >
|
||||
delete from asn_ip_cfg
|
||||
</delete>
|
||||
</mapper>
|
||||
@@ -26,4 +26,7 @@ public interface ConfigGroupInfoDao extends CrudDao<ConfigGroupInfo>{
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -45,6 +45,14 @@
|
||||
<!-- 新增配置分组信息 -->
|
||||
<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,is_audit_all,is_used)
|
||||
values(#{id},#{groupId},#{groupName},#{isIssued},#{insertTime},#{groupType},#{compileId},#{asnId},#{isAuditAll},#{isUsed})
|
||||
</insert>
|
||||
<insert id="insertWithoutId" 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,is_audit_all,is_used)
|
||||
values(#{id},#{groupId},#{groupName},#{isIssued},#{insertTime},#{groupType},#{compileId},#{asnId},#{isAuditAll},#{isUsed})
|
||||
</insert>
|
||||
<insert id="insertWithId" parameterType="com.nis.domain.specific.ConfigGroupInfo">
|
||||
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})
|
||||
</insert>
|
||||
<insert id="insertBatch">
|
||||
@@ -147,4 +155,7 @@
|
||||
</if>
|
||||
</where>
|
||||
</update>
|
||||
<delete id="deleteAllAsnGroup" >
|
||||
delete from config_group_info where group_type=4
|
||||
</delete>
|
||||
</mapper>
|
||||
@@ -2178,7 +2178,7 @@ public abstract class BaseService {
|
||||
List<NumBoundaryCfg> numRegionList = new ArrayList();
|
||||
List<DigestCfg> digestRegionList = new ArrayList();
|
||||
List<IpCfg> 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();
|
||||
|
||||
@@ -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<Long,AsnGroupInfo> getGroupList() {
|
||||
Map<Long,AsnGroupInfo> map=Maps.newConcurrentMap();
|
||||
for(AsnGroupInfo info:asnGroupInfoDao.findAsnGroupInfos()) {
|
||||
map.put(info.getAsnId(), info);
|
||||
public List<AsnGroupInfo> findAsnGroupInfos() {
|
||||
List<AsnGroupInfo> asnGroupInfos=new ArrayList<>();
|
||||
asnGroupInfos=asnGroupInfoDao.findAsnGroupInfos();
|
||||
return asnGroupInfos;
|
||||
}
|
||||
/**
|
||||
* 初始化asn旧数据信息
|
||||
* @param asnGroupInfos
|
||||
* @param asnNosMap
|
||||
* @return
|
||||
*/
|
||||
public void getGroupList(List<AsnGroupInfo> asnGroupInfoList,List<Map<Long, AsnGroupInfo>> 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<AsnGroupInfo> findAsnGroupList(AsnGroupInfo asnGroupInfo){
|
||||
List<AsnGroupInfo> list=asnGroupInfoDao.findAsnGroupInfoByAsnGroup(asnGroupInfo);
|
||||
|
||||
@@ -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<CrudDao<AsnIpCfg>, 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<Long,AsnGroupInfo> asnNoMap){
|
||||
logger.warn("Start to save group");
|
||||
public void processAsnIp(FunctionServiceDict service,FunctionRegionDict regionDict,List<BaseIpCfg> ipCfgList,List<Map<Long, AsnGroupInfo>> 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<AsnIpCfg> asnIpCfgs=Lists.newArrayList(Constants.MAAT_JSON_SEND_SIZE);
|
||||
Date date=new Date();
|
||||
SqlSessionFactory sqlSessionFactory=SpringContextHolder.getBean(SqlSessionFactory.class);
|
||||
SqlSession batchSqlSession = null;
|
||||
Set<String> groupSet=new HashSet<>();
|
||||
int index=0;
|
||||
Map<Long,AsnGroupInfo> auditInfo=new HashMap<>();
|
||||
//存储未下发的asno及asnIP
|
||||
Map<Integer,List<AsnIpCfg>> noAuditGroupIds=new HashMap<>();
|
||||
//存储已下发的asnno
|
||||
Map<Integer,List<AsnIpCfg>> auditGroupIds=new HashMap<>();
|
||||
//本次未下发的组信息
|
||||
List<AsnGroupInfo> noAuditGroupList=new ArrayList<AsnGroupInfo>();
|
||||
Long asno=0l;
|
||||
try{
|
||||
List<Integer> regionIds=ConfigServiceUtil.getId(3, ipCfgList.size());
|
||||
batchSqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
|
||||
if(!asnNoMap.isEmpty()) {
|
||||
List<Integer> compileIds=ConfigServiceUtil.getId(1, asnNoMap.size());
|
||||
List<Integer> groupIds=ConfigServiceUtil.getId(2, asnNoMap.size());
|
||||
List<Integer> regionIds=ConfigServiceUtil.getId(3, asnNoMap.size());
|
||||
for(Entry<Long, AsnGroupInfo> 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<MaatCfg> configCompileList = new ArrayList();
|
||||
List<GroupCfg> groupRelationList = new ArrayList();
|
||||
List<IpCfg> ipRegionList = new ArrayList();
|
||||
List<StringCfg> strRegionList = new ArrayList();
|
||||
List<NumBoundaryCfg> numRegionList = new ArrayList();
|
||||
List<DigestCfg> digestRegionList = new ArrayList();
|
||||
List<IpCfg> areaIpRegionList = new ArrayList();
|
||||
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(600);
|
||||
Integer serviceId=0;
|
||||
serviceId=serviceList.get(0).getServiceId();
|
||||
for(Entry<Long, AsnGroupInfo> 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<Map<Long, AsnGroupInfo>> asnNoMaps,List<Map<String, ConfigGroupInfo>> asnOrgList,String isSend,String isImportAll){
|
||||
logger.warn("Start to save group");
|
||||
long start=System.currentTimeMillis();
|
||||
Map<Long, AsnGroupInfo> 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<String,ConfigGroupInfo> newOrgMap=asnOrgList.get(0);//【0】 新的config group info
|
||||
Map<String,ConfigGroupInfo> oldOrgMap=asnOrgList.get(1);//【1】 旧的config group info
|
||||
|
||||
//入库旧的asn组织信息
|
||||
if(!StringUtil.isEmpty(oldOrgMap)){
|
||||
index=0;
|
||||
for(Entry<String, ConfigGroupInfo> 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<Integer> groupIds=ConfigServiceUtil.getId(2, newOrgMap.size());
|
||||
for(Entry<String, ConfigGroupInfo> 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<Long, AsnGroupInfo> newAsnGroup =asnNoMaps.get(0); //【0】 新的asn group info
|
||||
Map<Long, AsnGroupInfo> oldAsnGroup =asnNoMaps.get(1); //【1】 旧的asn group info
|
||||
Map<Long, AsnGroupInfo> allAsnGroup =asnNoMaps.get(2); //【2】 所有的asn group info
|
||||
Map<Long, AsnGroupInfo> auditedAsnNoMap=asnNoMaps.get(3); //【3】已下发的所有asn信息【失效所有的asn 编译】
|
||||
deleteAsnCompile=auditedAsnNoMap;
|
||||
//保存新增的asn 信息
|
||||
if(!newAsnGroup.isEmpty()){
|
||||
index=0;
|
||||
List<Integer> compileIds=ConfigServiceUtil.getId(1, newAsnGroup.size());
|
||||
List<Integer> groupIds=ConfigServiceUtil.getId(2, newAsnGroup.size());
|
||||
List<Integer> regionIds=ConfigServiceUtil.getId(3, newAsnGroup.size());
|
||||
for(Entry<Long, AsnGroupInfo> 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<Long, AsnGroupInfo> 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<MaatCfg> configCompileList = new ArrayList();
|
||||
List<GroupCfg> groupRelationList = new ArrayList();
|
||||
List<IpCfg> ipRegionList = new ArrayList();
|
||||
List<StringCfg> strRegionList = new ArrayList();
|
||||
List<NumBoundaryCfg> numRegionList = new ArrayList();
|
||||
List<DigestCfg> digestRegionList = new ArrayList();
|
||||
List<IpCfg> areaIpRegionList = new ArrayList();
|
||||
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(600);
|
||||
for(Entry<Long, AsnGroupInfo> 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<CrudDao<AsnIpCfg>, 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));
|
||||
|
||||
@@ -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<ConfigGroupInfo> findAllList(int groupType){
|
||||
return configGroupInfoDao.findAllList(groupType);
|
||||
}
|
||||
public Map<String,ConfigGroupInfo> getConfigGroupInfo(List<Map<String,ConfigGroupInfo>> orgList,int groupType){
|
||||
Map<String,ConfigGroupInfo> configGroupInfoMap=new HashMap<>();
|
||||
List<ConfigGroupInfo> 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;
|
||||
|
||||
Reference in New Issue
Block a user