修正ObjectList模块导入功能

This commit is contained in:
zhangwenqing
2019-06-24 17:10:35 +08:00
parent e23b638907
commit e9a06cabaf
11 changed files with 115 additions and 125 deletions

View File

@@ -207,18 +207,8 @@ public class DomainCommGroupController extends BaseController{
} }
Integer count = commonGroupManageService.getCountByGroupName(countSet, Constants.DOMAIN_OBJ_GROUP_TYPE); // 调用服务接口获取GroupId的数量 Map<String, Integer> groupIdMap = commonGroupManageService.getCountByGroupName(countSet, Constants.DOMAIN_OBJ_GROUP_TYPE); // 调用服务接口获取GroupId
List<Integer> groupIds= ConfigServiceUtil.getId(2,count); domainCommGroupService.saveAndSend(regionDict, serviceDict, _stringCfgs, groupIdMap);
if(count > 0) {
try {
groupIds = ConfigServiceUtil.getId(2,count);
} catch (Exception e) {
logger.error("获取组ID出错");
throw new MaatConvertException("Get group id failed");
}
}
domainCommGroupService.saveAndSend(regionDict, serviceDict, _stringCfgs, groupIds);
_stringCfgs.clear(); _stringCfgs.clear();
} }

View File

@@ -281,18 +281,9 @@ public class IpCommGroupController extends BaseController {
index++; index++;
} }
Integer count = commonGroupManageService.getCountByGroupName(countSet, Constants.IP_OBJ_GROUP_TYPE); // 需调用服务接口获取GroupId的数量
List<Integer> groupIds = Lists.newArrayList(count); Map<String, Integer> groupIdMap = commonGroupManageService.getCountByGroupName(countSet, Constants.IP_OBJ_GROUP_TYPE); // 调用服务接口获取GroupId
if(count > 0) { ipCommGroupCfgService.saveAndSend(regionDict, serviceDict, _ipPortCfgs, groupIdMap);
try {
groupIds = ConfigServiceUtil.getId(2,count);
} catch (Exception e) {
logger.error("获取组ID出错");
throw new MaatConvertException("Get group id failed");
}
}
ipCommGroupCfgService.saveAndSend(regionDict, serviceDict, _ipPortCfgs, groupIds);
_ipPortCfgs.clear(); _ipPortCfgs.clear();
} }

View File

@@ -207,18 +207,8 @@ public class ScriberIdCommGroupController extends BaseController{
} }
Integer count = commonGroupManageService.getCountByGroupName(countSet, Constants.SUBID_OBJ_GROUP_TYPE); // 调用服务接口获取GroupId的数量 Map<String, Integer> groupIdMap = commonGroupManageService.getCountByGroupName(countSet, Constants.SUBID_OBJ_GROUP_TYPE); // 调用服务接口获取GroupId
List<Integer> groupIds= ConfigServiceUtil.getId(2,count); scriberIdCommGroupService.saveAndSend(regionDict, serviceDict, _stringCfgs, groupIdMap);
if(count > 0) {
try {
groupIds = ConfigServiceUtil.getId(2,count);
} catch (Exception e) {
logger.error("获取组ID出错");
throw new MaatConvertException("Get group id failed");
}
}
scriberIdCommGroupService.saveAndSend(regionDict, serviceDict, _stringCfgs, groupIds);
_stringCfgs.clear(); _stringCfgs.clear();
} }

View File

@@ -207,18 +207,8 @@ public class UrlCommGroupController extends BaseController{
} }
Integer count = commonGroupManageService.getCountByGroupName(countSet, Constants.URL_OBJ_GROUP_TYPE); // 调用服务接口获取GroupId的数量 Map<String, Integer> groupIdMap = commonGroupManageService.getCountByGroupName(countSet, Constants.URL_OBJ_GROUP_TYPE); // 调用服务接口获取GroupId
List<Integer> groupIds= ConfigServiceUtil.getId(2,count); urlCommGroupService.saveAndSend(regionDict, serviceDict, _stringCfgs, groupIdMap);
if(count > 0) {
try {
groupIds = ConfigServiceUtil.getId(2,count);
} catch (Exception e) {
logger.error("获取组ID出错");
throw new MaatConvertException("Get group id failed");
}
}
urlCommGroupService.saveAndSend(regionDict, serviceDict, _stringCfgs, groupIds);
_stringCfgs.clear(); _stringCfgs.clear();
} }

View File

@@ -28,7 +28,7 @@ public interface CommonGroupManageDao extends CrudDao<CommonGroupInfo> {
// 校验是否是当前引用Group的最后一条配置 // 校验是否是当前引用Group的最后一条配置
public Integer ajaxCheckIsLastOneCfg(@Param("groupId")Integer groupId, @Param("cfgIds")String CfgIds, @Param("tableName")String indextable); public Integer ajaxCheckIsLastOneCfg(@Param("groupId")Integer groupId, @Param("cfgIds")String CfgIds, @Param("tableName")String indextable);
Integer getCountByGroupName(@Param("groupNameSet")Set<String> set, @Param("groupType")Integer groupType); Set<String> getCountByGroupName(@Param("groupNameSet")Set<String> set, @Param("groupType")Integer groupType);
Integer getGroupIdByGroupName(@Param("groupName")String groupName, @Param("groupType")Integer groupType); Integer getGroupIdByGroupName(@Param("groupName")String groupName, @Param("groupType")Integer groupType);

View File

@@ -226,9 +226,9 @@
r.group_id = #{groupId} AND r.cfg_id NOT IN(${cfgIds}) r.group_id = #{groupId} AND r.cfg_id NOT IN(${cfgIds})
</select> </select>
<select id="getCountByGroupName" resultType="java.lang.Integer"> <select id="getCountByGroupName" resultType="java.lang.String">
SELECT SELECT
COUNT(1) r.group_name
FROM FROM
policy_group_info r policy_group_info r
<trim prefix="WHERE" prefixOverrides="AND |OR "> <trim prefix="WHERE" prefixOverrides="AND |OR ">

View File

@@ -1,37 +1,32 @@
package com.nis.web.service.basics; package com.nis.web.service.basics;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import com.nis.web.dao.basics.*;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import com.google.common.collect.Lists;
import com.nis.domain.Page; import com.nis.domain.Page;
import com.nis.domain.basics.CommonGroupInfo; import com.nis.domain.basics.CommonGroupInfo;
import com.nis.domain.basics.DomainCommCfg; import com.nis.domain.basics.DomainCommCfg;
import com.nis.domain.basics.IpCommCfg; import com.nis.domain.basics.IpCommCfg;
import com.nis.domain.basics.PolicyGroupInfo; import com.nis.domain.basics.PolicyGroupInfo;
import com.nis.domain.basics.ProtectionListInfo;
import com.nis.domain.basics.ScriberIdCommCfg; import com.nis.domain.basics.ScriberIdCommCfg;
import com.nis.domain.basics.UrlCommCfg; import com.nis.domain.basics.UrlCommCfg;
import com.nis.exceptions.MaatConvertException; import com.nis.exceptions.MaatConvertException;
import com.nis.util.CacheUtils;
import com.nis.util.ConfigServiceUtil; import com.nis.util.ConfigServiceUtil;
import com.nis.util.Constants; import com.nis.util.Constants;
import com.nis.util.StringUtil; import com.nis.util.StringUtil;
import com.nis.web.dao.basics.CommonGroupManageDao; import com.nis.web.dao.basics.CommonGroupManageDao;
import com.nis.web.dao.basics.DomainCommGroupDao; import com.nis.web.dao.basics.DomainCommGroupDao;
import com.nis.web.dao.basics.IpCommGroupCfgDao; import com.nis.web.dao.basics.IpCommGroupCfgDao;
import com.nis.web.dao.basics.PolicyGroupInfoDao;
import com.nis.web.dao.basics.ScriberIdCommGroupDao; import com.nis.web.dao.basics.ScriberIdCommGroupDao;
import com.nis.web.dao.basics.UrlCommGroupDao; import com.nis.web.dao.basics.UrlCommGroupDao;
import com.nis.web.security.UserUtils; import com.nis.web.security.UserUtils;
@@ -302,9 +297,31 @@ public class CommonGroupManageService extends BaseService{
} }
public Integer getCountByGroupName(Set<String> set, Integer groupType) { public Map<String, Integer> getCountByGroupName(Set<String> allGroupNameSet, Integer groupType) {
Integer count = commonGroupManageDao.getCountByGroupName(set, groupType); Set<String> existGroupNameSet = commonGroupManageDao.getCountByGroupName(allGroupNameSet, groupType);
return set.size()-count; Integer count = allGroupNameSet.size() - existGroupNameSet.size();
List<Integer> groupIds = Lists.newArrayList(count);
if(count > 0) {
try {
groupIds = ConfigServiceUtil.getId(2,count);
} catch (Exception e) {
logger.error("获取组ID出错");
throw new MaatConvertException("Get group id failed");
}
}
allGroupNameSet.removeAll(existGroupNameSet);
Map<String, Integer> map = new HashMap<String,Integer>();
if(groupIds.size() == allGroupNameSet.size()) {
int index = 0;
for (String groupName : allGroupNameSet) {
map.put(groupName, groupIds.get(index));
index++;
}
}
return map;
} }

View File

@@ -3,6 +3,7 @@ package com.nis.web.service.basics;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Properties; import java.util.Properties;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
@@ -34,6 +35,7 @@ import com.nis.web.dao.basics.CommonGroupManageDao;
import com.nis.web.dao.basics.DomainCommGroupDao; import com.nis.web.dao.basics.DomainCommGroupDao;
import com.nis.web.dao.basics.PolicyGroupInfoDao; import com.nis.web.dao.basics.PolicyGroupInfoDao;
import com.nis.web.dao.configuration.CommonPolicyDao; import com.nis.web.dao.configuration.CommonPolicyDao;
import com.nis.web.security.UserUtils;
import com.nis.web.service.CrudService; import com.nis.web.service.CrudService;
import com.nis.web.service.SpringContextHolder; import com.nis.web.service.SpringContextHolder;
@@ -253,16 +255,14 @@ public class DomainCommGroupService extends CrudService<CrudDao<DomainCommCfg>,
} }
@Transactional(readOnly=false,rollbackFor=RuntimeException.class) @Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public void saveAndSend(FunctionRegionDict regionDict, FunctionServiceDict serviceDict, List<BaseStringCfg<?>> cfgs, List<Integer> groupIds) { public void saveAndSend(FunctionRegionDict regionDict, FunctionServiceDict serviceDict, List<BaseStringCfg<?>> cfgs, Map<String, Integer> groupIdMap) {
logger.warn("Start to save Domain,size:"+cfgs.size()); logger.warn("Start to save Domain,size:"+cfgs.size());
long start=System.currentTimeMillis(); long start=System.currentTimeMillis();
SqlSessionFactory sqlSessionFactory=SpringContextHolder.getBean(SqlSessionFactory.class); SqlSessionFactory sqlSessionFactory=SpringContextHolder.getBean(SqlSessionFactory.class);
SqlSession batchSqlSession = null; SqlSession batchSqlSession = null;
// 导入域配置 -> ①分组不存在新增分组并返回groupId ②分组存在获取groupId -> 数据 入库 -> 更新分组状态 -> 判断是否配置下发 // 导入域配置 -> ①分组不存在新增分组并返回groupId ②分组存在获取groupId -> 数据 入库 -> 更新分组状态 -> 判断是否配置下发
try{ try{
int index = 0;
String ids = ""; String ids = "";
List<CommonGroupInfo> insertGroupList = new ArrayList<CommonGroupInfo>();
batchSqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false); batchSqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
for(BaseStringCfg<?> cfg:cfgs) { for(BaseStringCfg<?> cfg:cfgs) {
DomainCommCfg domainCommCfg=new DomainCommCfg(); DomainCommCfg domainCommCfg=new DomainCommCfg();
@@ -270,28 +270,31 @@ public class DomainCommGroupService extends CrudService<CrudDao<DomainCommCfg>,
Integer groupId = commonGroupManageDao.getGroupIdByGroupName(domainCommCfg.getGroupName(), Constants.DOMAIN_OBJ_GROUP_TYPE); Integer groupId = commonGroupManageDao.getGroupIdByGroupName(domainCommCfg.getGroupName(), Constants.DOMAIN_OBJ_GROUP_TYPE);
if(groupId == null) { // 分组不存在,新增 UdFlag为1 if(groupId == null) { // 分组不存在,新增 UdFlag为1
groupId = groupIds.get(index); groupId = groupIdMap.get(domainCommCfg.getGroupName());
index++;
CommonGroupInfo groupInfo = new CommonGroupInfo();
groupInfo.setCreatorId(domainCommCfg.getCreatorId());
groupInfo.setCreateTime(domainCommCfg.getCreateTime());
groupInfo.setGroupName(domainCommCfg.getGroupName());
groupInfo.setGroupType(Constants.DOMAIN_OBJ_GROUP_TYPE);
groupInfo.setServiceGroupId(groupId);
groupInfo.setUdFlag(1);
insertGroupList.add(groupInfo);
}else { }else {
if(!ids.contains(groupId+"")) { if(!ids.contains(groupId+"")) {
ids += ","+groupId; ids += ","+groupId;
} }
} }
domainCommCfg.setGroupId(groupId); domainCommCfg.setGroupId(groupId);
((DomainCommGroupDao) batchSqlSession.getMapper(DomainCommGroupDao.class)).insertCommGroupCfg(domainCommCfg); ((DomainCommGroupDao) batchSqlSession.getMapper(DomainCommGroupDao.class)).insertCommGroupCfg(domainCommCfg);
} }
batchSqlSession.commit(); batchSqlSession.commit();
if(insertGroupList.size() > 0) {
if(groupIdMap.size() > 0) {
Long creatorId = UserUtils.getUser().getId();
Date createTime = new Date();
List<CommonGroupInfo> insertGroupList = new ArrayList<CommonGroupInfo>();
for (String groupName : groupIdMap.keySet()) {
CommonGroupInfo groupInfo = new CommonGroupInfo();
groupInfo.setCreatorId(creatorId);
groupInfo.setCreateTime(createTime);
groupInfo.setGroupName(groupName);
groupInfo.setGroupType(Constants.DOMAIN_OBJ_GROUP_TYPE);
groupInfo.setServiceGroupId(groupIdMap.get(groupName));
groupInfo.setUdFlag(1);
insertGroupList.add(groupInfo);
}
commonGroupManageDao.insertBatch(insertGroupList); commonGroupManageDao.insertBatch(insertGroupList);
} }

View File

@@ -3,6 +3,7 @@ package com.nis.web.service.basics;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Properties; import java.util.Properties;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
@@ -34,6 +35,7 @@ import com.nis.web.dao.basics.CommonGroupManageDao;
import com.nis.web.dao.basics.IpCommGroupCfgDao; import com.nis.web.dao.basics.IpCommGroupCfgDao;
import com.nis.web.dao.basics.PolicyGroupInfoDao; import com.nis.web.dao.basics.PolicyGroupInfoDao;
import com.nis.web.dao.configuration.CommonPolicyDao; import com.nis.web.dao.configuration.CommonPolicyDao;
import com.nis.web.security.UserUtils;
import com.nis.web.service.BaseService; import com.nis.web.service.BaseService;
import com.nis.web.service.SpringContextHolder; import com.nis.web.service.SpringContextHolder;
@Service @Service
@@ -239,16 +241,14 @@ public class IpCommGroupCfgService extends BaseService {
} }
@Transactional(readOnly=false,rollbackFor=RuntimeException.class) @Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public void saveAndSend(FunctionRegionDict regionDict, FunctionServiceDict serviceDict, List<BaseIpCfg> cfgs, List<Integer> groupIds) { public void saveAndSend(FunctionRegionDict regionDict, FunctionServiceDict serviceDict, List<BaseIpCfg> cfgs, Map<String, Integer> groupIdMap) {
logger.warn("Start to save IP,size:"+cfgs.size()); logger.warn("Start to save IP,size:"+cfgs.size());
long start=System.currentTimeMillis(); long start=System.currentTimeMillis();
SqlSessionFactory sqlSessionFactory=SpringContextHolder.getBean(SqlSessionFactory.class); SqlSessionFactory sqlSessionFactory=SpringContextHolder.getBean(SqlSessionFactory.class);
SqlSession batchSqlSession = null; SqlSession batchSqlSession = null;
// 导入域配置 -> ①分组不存在新增分组并返回serviceGroupId ②分组存在获取serviceGroupId -> 数据入库 -> 更新分组状态 -> 判断是否配置下发 // 导入域配置 -> ①分组不存在新增分组并返回serviceGroupId ②分组存在获取serviceGroupId -> 数据入库 -> 更新分组状态 -> 判断是否配置下发
try{ try{
int index = 0;
String ids = ""; String ids = "";
List<CommonGroupInfo> insertGroupList = new ArrayList<CommonGroupInfo>();
batchSqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false); batchSqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
for(BaseIpCfg cfg:cfgs) { for(BaseIpCfg cfg:cfgs) {
IpCommCfg ipCommCfg=new IpCommCfg(); IpCommCfg ipCommCfg=new IpCommCfg();
@@ -256,29 +256,32 @@ public class IpCommGroupCfgService extends BaseService {
Integer groupId = commonGroupManageDao.getGroupIdByGroupName(ipCommCfg.getGroupName(), Constants.IP_OBJ_GROUP_TYPE); Integer groupId = commonGroupManageDao.getGroupIdByGroupName(ipCommCfg.getGroupName(), Constants.IP_OBJ_GROUP_TYPE);
if(groupId == null) { // 分组不存在,新增 UdFlag为1 if(groupId == null) { // 分组不存在,新增 UdFlag为1
groupId = groupIds.get(index); groupId = groupIdMap.get(ipCommCfg.getGroupName());
index++;
CommonGroupInfo groupInfo = new CommonGroupInfo();
groupInfo.setCreatorId(ipCommCfg.getCreatorId());
groupInfo.setCreateTime(ipCommCfg.getCreateTime());
groupInfo.setGroupName(ipCommCfg.getGroupName());
groupInfo.setGroupType(Constants.IP_OBJ_GROUP_TYPE);
groupInfo.setServiceGroupId(groupId);
groupInfo.setUdFlag(1);
insertGroupList.add(groupInfo);
}else { }else {
if(!ids.contains(groupId+"")) { if(!ids.contains(groupId+"")) {
ids += ","+groupId; ids += ","+groupId;
} }
} }
ipCommCfg.setGroupId(groupId); ipCommCfg.setGroupId(groupId);
((IpCommGroupCfgDao) batchSqlSession.getMapper(IpCommGroupCfgDao.class)).insertForBatch(ipCommCfg); ((IpCommGroupCfgDao) batchSqlSession.getMapper(IpCommGroupCfgDao.class)).insertForBatch(ipCommCfg);
} }
batchSqlSession.commit(); batchSqlSession.commit();
if(insertGroupList.size() > 0) {
if(groupIdMap.size() > 0) {
Long creatorId = UserUtils.getUser().getId();
Date createTime = new Date();
List<CommonGroupInfo> insertGroupList = new ArrayList<CommonGroupInfo>();
for (String groupName : groupIdMap.keySet()) {
CommonGroupInfo groupInfo = new CommonGroupInfo();
groupInfo.setCreatorId(creatorId);
groupInfo.setCreateTime(createTime);
groupInfo.setGroupName(groupName);
groupInfo.setGroupType(Constants.IP_OBJ_GROUP_TYPE);
groupInfo.setServiceGroupId(groupIdMap.get(groupName));
groupInfo.setUdFlag(1);
insertGroupList.add(groupInfo);
}
commonGroupManageDao.insertBatch(insertGroupList); commonGroupManageDao.insertBatch(insertGroupList);
} }

View File

@@ -3,6 +3,7 @@ package com.nis.web.service.basics;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Properties; import java.util.Properties;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
@@ -34,6 +35,7 @@ import com.nis.web.dao.basics.CommonGroupManageDao;
import com.nis.web.dao.basics.PolicyGroupInfoDao; import com.nis.web.dao.basics.PolicyGroupInfoDao;
import com.nis.web.dao.basics.ScriberIdCommGroupDao; import com.nis.web.dao.basics.ScriberIdCommGroupDao;
import com.nis.web.dao.configuration.CommonPolicyDao; import com.nis.web.dao.configuration.CommonPolicyDao;
import com.nis.web.security.UserUtils;
import com.nis.web.service.CrudService; import com.nis.web.service.CrudService;
import com.nis.web.service.SpringContextHolder; import com.nis.web.service.SpringContextHolder;
@@ -254,16 +256,14 @@ public class ScriberIdCommGroupService extends CrudService<CrudDao<ScriberIdComm
} }
@Transactional(readOnly=false,rollbackFor=RuntimeException.class) @Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public void saveAndSend(FunctionRegionDict regionDict, FunctionServiceDict serviceDict, List<BaseStringCfg<?>> cfgs, List<Integer> groupIds) { public void saveAndSend(FunctionRegionDict regionDict, FunctionServiceDict serviceDict, List<BaseStringCfg<?>> cfgs, Map<String, Integer> groupIdMap) {
logger.warn("Start to save ScriberId,size:"+cfgs.size()); logger.warn("Start to save ScriberId,size:"+cfgs.size());
long start=System.currentTimeMillis(); long start=System.currentTimeMillis();
SqlSessionFactory sqlSessionFactory=SpringContextHolder.getBean(SqlSessionFactory.class); SqlSessionFactory sqlSessionFactory=SpringContextHolder.getBean(SqlSessionFactory.class);
SqlSession batchSqlSession = null; SqlSession batchSqlSession = null;
// 导入域配置 -> ①分组不存在新增分组并返回groupId ②分组存在获取groupId -> 数据 入库 -> 更新分组状态 -> 判断是否配置下发 // 导入域配置 -> ①分组不存在新增分组并返回groupId ②分组存在获取groupId -> 数据 入库 -> 更新分组状态 -> 判断是否配置下发
try{ try{
int index = 0;
String ids = ""; String ids = "";
List<CommonGroupInfo> insertGroupList = new ArrayList<CommonGroupInfo>();
batchSqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false); batchSqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
for(BaseStringCfg<?> cfg:cfgs) { for(BaseStringCfg<?> cfg:cfgs) {
ScriberIdCommCfg commCfg=new ScriberIdCommCfg(); ScriberIdCommCfg commCfg=new ScriberIdCommCfg();
@@ -271,28 +271,31 @@ public class ScriberIdCommGroupService extends CrudService<CrudDao<ScriberIdComm
Integer groupId = commonGroupManageDao.getGroupIdByGroupName(commCfg.getGroupName(), Constants.SUBID_OBJ_GROUP_TYPE); Integer groupId = commonGroupManageDao.getGroupIdByGroupName(commCfg.getGroupName(), Constants.SUBID_OBJ_GROUP_TYPE);
if(groupId == null) { if(groupId == null) {
groupId = groupIds.get(index); groupId = groupIdMap.get(commCfg.getGroupName());
index++;
CommonGroupInfo groupInfo = new CommonGroupInfo();
groupInfo.setCreatorId(commCfg.getCreatorId());
groupInfo.setCreateTime(commCfg.getCreateTime());
groupInfo.setGroupName(commCfg.getGroupName());
groupInfo.setGroupType(Constants.SUBID_OBJ_GROUP_TYPE);
groupInfo.setServiceGroupId(groupId);
groupInfo.setUdFlag(1);
insertGroupList.add(groupInfo);
}else { }else {
if(!ids.contains(groupId+"")) { if(!ids.contains(groupId+"")) {
ids += ","+groupId; ids += ","+groupId;
} }
} }
commCfg.setGroupId(groupId); commCfg.setGroupId(groupId);
((ScriberIdCommGroupDao) batchSqlSession.getMapper(ScriberIdCommGroupDao.class)).insertCommGroupCfg(commCfg); ((ScriberIdCommGroupDao) batchSqlSession.getMapper(ScriberIdCommGroupDao.class)).insertCommGroupCfg(commCfg);
} }
batchSqlSession.commit(); batchSqlSession.commit();
if(insertGroupList.size() > 0) {
if(groupIdMap.size() > 0) {
Long creatorId = UserUtils.getUser().getId();
Date createTime = new Date();
List<CommonGroupInfo> insertGroupList = new ArrayList<CommonGroupInfo>();
for (String groupName : groupIdMap.keySet()) {
CommonGroupInfo groupInfo = new CommonGroupInfo();
groupInfo.setCreatorId(creatorId);
groupInfo.setCreateTime(createTime);
groupInfo.setGroupName(groupName);
groupInfo.setGroupType(Constants.SUBID_OBJ_GROUP_TYPE);
groupInfo.setServiceGroupId(groupIdMap.get(groupName));
groupInfo.setUdFlag(1);
insertGroupList.add(groupInfo);
}
commonGroupManageDao.insertBatch(insertGroupList); commonGroupManageDao.insertBatch(insertGroupList);
} }

View File

@@ -3,6 +3,7 @@ package com.nis.web.service.basics;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Properties; import java.util.Properties;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
@@ -34,6 +35,7 @@ import com.nis.web.dao.basics.CommonGroupManageDao;
import com.nis.web.dao.basics.PolicyGroupInfoDao; import com.nis.web.dao.basics.PolicyGroupInfoDao;
import com.nis.web.dao.basics.UrlCommGroupDao; import com.nis.web.dao.basics.UrlCommGroupDao;
import com.nis.web.dao.configuration.CommonPolicyDao; import com.nis.web.dao.configuration.CommonPolicyDao;
import com.nis.web.security.UserUtils;
import com.nis.web.service.CrudService; import com.nis.web.service.CrudService;
import com.nis.web.service.SpringContextHolder; import com.nis.web.service.SpringContextHolder;
@@ -254,16 +256,14 @@ public class UrlCommGroupService extends CrudService<CrudDao<UrlCommCfg>, UrlCom
} }
@Transactional(readOnly=false,rollbackFor=RuntimeException.class) @Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public void saveAndSend(FunctionRegionDict regionDict, FunctionServiceDict serviceDict, List<BaseStringCfg<?>> cfgs, List<Integer> groupIds) { public void saveAndSend(FunctionRegionDict regionDict, FunctionServiceDict serviceDict, List<BaseStringCfg<?>> cfgs, Map<String, Integer> groupIdMap) {
logger.warn("Start to save URL,size:"+cfgs.size()); logger.warn("Start to save URL,size:"+cfgs.size());
long start=System.currentTimeMillis(); long start=System.currentTimeMillis();
SqlSessionFactory sqlSessionFactory=SpringContextHolder.getBean(SqlSessionFactory.class); SqlSessionFactory sqlSessionFactory=SpringContextHolder.getBean(SqlSessionFactory.class);
SqlSession batchSqlSession = null; SqlSession batchSqlSession = null;
// 导入域配置 -> ①分组不存在新增分组并返回groupId ②分组存在获取groupId -> 数据 入库 -> 更新分组状态 -> 判断是否配置下发 // 导入域配置 -> ①分组不存在新增分组并返回groupId ②分组存在获取groupId -> 数据 入库 -> 更新分组状态 -> 判断是否配置下发
try{ try{
int index = 0;
String ids = ""; String ids = "";
List<CommonGroupInfo> insertGroupList = new ArrayList<CommonGroupInfo>();
batchSqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false); batchSqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
for(BaseStringCfg<?> cfg:cfgs) { for(BaseStringCfg<?> cfg:cfgs) {
UrlCommCfg urlCommCfg=new UrlCommCfg(); UrlCommCfg urlCommCfg=new UrlCommCfg();
@@ -271,28 +271,31 @@ public class UrlCommGroupService extends CrudService<CrudDao<UrlCommCfg>, UrlCom
Integer groupId = commonGroupManageDao.getGroupIdByGroupName(urlCommCfg.getGroupName(), Constants.URL_OBJ_GROUP_TYPE); Integer groupId = commonGroupManageDao.getGroupIdByGroupName(urlCommCfg.getGroupName(), Constants.URL_OBJ_GROUP_TYPE);
if(groupId == null) { // 分组不存在,新增 UdFlag为1 if(groupId == null) { // 分组不存在,新增 UdFlag为1
groupId = groupIds.get(index); groupId = groupIdMap.get(urlCommCfg.getGroupName());
index++;
CommonGroupInfo groupInfo = new CommonGroupInfo();
groupInfo.setCreatorId(urlCommCfg.getCreatorId());
groupInfo.setCreateTime(urlCommCfg.getCreateTime());
groupInfo.setGroupName(urlCommCfg.getGroupName());
groupInfo.setGroupType(Constants.URL_OBJ_GROUP_TYPE);
groupInfo.setServiceGroupId(groupId);
groupInfo.setUdFlag(1);
insertGroupList.add(groupInfo);
}else { }else {
if(!ids.contains(groupId+"")) { if(!ids.contains(groupId+"")) {
ids += ","+groupId; ids += ","+groupId;
} }
} }
urlCommCfg.setGroupId(groupId); urlCommCfg.setGroupId(groupId);
((UrlCommGroupDao) batchSqlSession.getMapper(UrlCommGroupDao.class)).insertUrlCommGroupCfg(urlCommCfg); ((UrlCommGroupDao) batchSqlSession.getMapper(UrlCommGroupDao.class)).insertUrlCommGroupCfg(urlCommCfg);
} }
batchSqlSession.commit(); batchSqlSession.commit();
if(insertGroupList.size() > 0) {
if(groupIdMap.size() > 0) {
Long creatorId = UserUtils.getUser().getId();
Date createTime = new Date();
List<CommonGroupInfo> insertGroupList = new ArrayList<CommonGroupInfo>();
for (String groupName : groupIdMap.keySet()) {
CommonGroupInfo groupInfo = new CommonGroupInfo();
groupInfo.setCreatorId(creatorId);
groupInfo.setCreateTime(createTime);
groupInfo.setGroupName(groupName);
groupInfo.setGroupType(Constants.URL_OBJ_GROUP_TYPE);
groupInfo.setServiceGroupId(groupIdMap.get(groupName));
groupInfo.setUdFlag(1);
insertGroupList.add(groupInfo);
}
commonGroupManageDao.insertBatch(insertGroupList); commonGroupManageDao.insertBatch(insertGroupList);
} }