修正ObjectList模块导入功能
This commit is contained in:
@@ -207,18 +207,8 @@ public class DomainCommGroupController extends BaseController{
|
||||
|
||||
}
|
||||
|
||||
Integer count = commonGroupManageService.getCountByGroupName(countSet, Constants.DOMAIN_OBJ_GROUP_TYPE); // 需调用服务接口获取GroupId的数量
|
||||
List<Integer> groupIds= ConfigServiceUtil.getId(2,count);
|
||||
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);
|
||||
Map<String, Integer> groupIdMap = commonGroupManageService.getCountByGroupName(countSet, Constants.DOMAIN_OBJ_GROUP_TYPE); // 调用服务接口获取GroupId
|
||||
domainCommGroupService.saveAndSend(regionDict, serviceDict, _stringCfgs, groupIdMap);
|
||||
_stringCfgs.clear();
|
||||
}
|
||||
|
||||
|
||||
@@ -281,18 +281,9 @@ public class IpCommGroupController extends BaseController {
|
||||
index++;
|
||||
|
||||
}
|
||||
Integer count = commonGroupManageService.getCountByGroupName(countSet, Constants.IP_OBJ_GROUP_TYPE); // 需调用服务接口获取GroupId的数量
|
||||
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");
|
||||
}
|
||||
}
|
||||
|
||||
ipCommGroupCfgService.saveAndSend(regionDict, serviceDict, _ipPortCfgs, groupIds);
|
||||
Map<String, Integer> groupIdMap = commonGroupManageService.getCountByGroupName(countSet, Constants.IP_OBJ_GROUP_TYPE); // 调用服务接口获取GroupId
|
||||
ipCommGroupCfgService.saveAndSend(regionDict, serviceDict, _ipPortCfgs, groupIdMap);
|
||||
_ipPortCfgs.clear();
|
||||
}
|
||||
|
||||
|
||||
@@ -207,18 +207,8 @@ public class ScriberIdCommGroupController extends BaseController{
|
||||
|
||||
}
|
||||
|
||||
Integer count = commonGroupManageService.getCountByGroupName(countSet, Constants.SUBID_OBJ_GROUP_TYPE); // 需调用服务接口获取GroupId的数量
|
||||
List<Integer> groupIds= ConfigServiceUtil.getId(2,count);
|
||||
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);
|
||||
Map<String, Integer> groupIdMap = commonGroupManageService.getCountByGroupName(countSet, Constants.SUBID_OBJ_GROUP_TYPE); // 调用服务接口获取GroupId
|
||||
scriberIdCommGroupService.saveAndSend(regionDict, serviceDict, _stringCfgs, groupIdMap);
|
||||
_stringCfgs.clear();
|
||||
}
|
||||
|
||||
|
||||
@@ -207,18 +207,8 @@ public class UrlCommGroupController extends BaseController{
|
||||
|
||||
}
|
||||
|
||||
Integer count = commonGroupManageService.getCountByGroupName(countSet, Constants.URL_OBJ_GROUP_TYPE); // 需调用服务接口获取GroupId的数量
|
||||
List<Integer> groupIds= ConfigServiceUtil.getId(2,count);
|
||||
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);
|
||||
Map<String, Integer> groupIdMap = commonGroupManageService.getCountByGroupName(countSet, Constants.URL_OBJ_GROUP_TYPE); // 调用服务接口获取GroupId
|
||||
urlCommGroupService.saveAndSend(regionDict, serviceDict, _stringCfgs, groupIdMap);
|
||||
_stringCfgs.clear();
|
||||
}
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ public interface CommonGroupManageDao extends CrudDao<CommonGroupInfo> {
|
||||
// 校验是否是当前引用Group的最后一条配置
|
||||
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);
|
||||
|
||||
|
||||
@@ -226,9 +226,9 @@
|
||||
r.group_id = #{groupId} AND r.cfg_id NOT IN(${cfgIds})
|
||||
</select>
|
||||
|
||||
<select id="getCountByGroupName" resultType="java.lang.Integer">
|
||||
<select id="getCountByGroupName" resultType="java.lang.String">
|
||||
SELECT
|
||||
COUNT(1)
|
||||
r.group_name
|
||||
FROM
|
||||
policy_group_info r
|
||||
<trim prefix="WHERE" prefixOverrides="AND |OR ">
|
||||
|
||||
@@ -1,37 +1,32 @@
|
||||
package com.nis.web.service.basics;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import com.nis.web.dao.basics.*;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import com.nis.domain.Page;
|
||||
import com.nis.domain.basics.CommonGroupInfo;
|
||||
import com.nis.domain.basics.DomainCommCfg;
|
||||
import com.nis.domain.basics.IpCommCfg;
|
||||
import com.nis.domain.basics.PolicyGroupInfo;
|
||||
import com.nis.domain.basics.ProtectionListInfo;
|
||||
import com.nis.domain.basics.ScriberIdCommCfg;
|
||||
import com.nis.domain.basics.UrlCommCfg;
|
||||
import com.nis.exceptions.MaatConvertException;
|
||||
import com.nis.util.CacheUtils;
|
||||
import com.nis.util.ConfigServiceUtil;
|
||||
import com.nis.util.Constants;
|
||||
import com.nis.util.StringUtil;
|
||||
import com.nis.web.dao.basics.CommonGroupManageDao;
|
||||
import com.nis.web.dao.basics.DomainCommGroupDao;
|
||||
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.UrlCommGroupDao;
|
||||
import com.nis.web.security.UserUtils;
|
||||
@@ -302,9 +297,31 @@ public class CommonGroupManageService extends BaseService{
|
||||
|
||||
}
|
||||
|
||||
public Integer getCountByGroupName(Set<String> set, Integer groupType) {
|
||||
Integer count = commonGroupManageDao.getCountByGroupName(set, groupType);
|
||||
return set.size()-count;
|
||||
public Map<String, Integer> getCountByGroupName(Set<String> allGroupNameSet, Integer groupType) {
|
||||
Set<String> existGroupNameSet = commonGroupManageDao.getCountByGroupName(allGroupNameSet, groupType);
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.nis.web.service.basics;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
|
||||
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.PolicyGroupInfoDao;
|
||||
import com.nis.web.dao.configuration.CommonPolicyDao;
|
||||
import com.nis.web.security.UserUtils;
|
||||
import com.nis.web.service.CrudService;
|
||||
import com.nis.web.service.SpringContextHolder;
|
||||
|
||||
@@ -253,16 +255,14 @@ public class DomainCommGroupService extends CrudService<CrudDao<DomainCommCfg>,
|
||||
}
|
||||
|
||||
@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());
|
||||
long start=System.currentTimeMillis();
|
||||
SqlSessionFactory sqlSessionFactory=SpringContextHolder.getBean(SqlSessionFactory.class);
|
||||
SqlSession batchSqlSession = null;
|
||||
// 导入域配置 -> ①分组不存在,新增分组并返回groupId ②分组存在,获取groupId -> 数据 入库 -> 更新分组状态 -> 判断是否配置下发
|
||||
try{
|
||||
int index = 0;
|
||||
String ids = "";
|
||||
List<CommonGroupInfo> insertGroupList = new ArrayList<CommonGroupInfo>();
|
||||
batchSqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
|
||||
for(BaseStringCfg<?> cfg:cfgs) {
|
||||
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);
|
||||
if(groupId == null) { // 分组不存在,新增 UdFlag为1
|
||||
groupId = groupIds.get(index);
|
||||
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);
|
||||
groupId = groupIdMap.get(domainCommCfg.getGroupName());
|
||||
}else {
|
||||
if(!ids.contains(groupId+"")) {
|
||||
ids += ","+groupId;
|
||||
}
|
||||
}
|
||||
|
||||
domainCommCfg.setGroupId(groupId);
|
||||
((DomainCommGroupDao) batchSqlSession.getMapper(DomainCommGroupDao.class)).insertCommGroupCfg(domainCommCfg);
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.nis.web.service.basics;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
|
||||
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.PolicyGroupInfoDao;
|
||||
import com.nis.web.dao.configuration.CommonPolicyDao;
|
||||
import com.nis.web.security.UserUtils;
|
||||
import com.nis.web.service.BaseService;
|
||||
import com.nis.web.service.SpringContextHolder;
|
||||
@Service
|
||||
@@ -239,16 +241,14 @@ public class IpCommGroupCfgService extends BaseService {
|
||||
}
|
||||
|
||||
@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());
|
||||
long start=System.currentTimeMillis();
|
||||
SqlSessionFactory sqlSessionFactory=SpringContextHolder.getBean(SqlSessionFactory.class);
|
||||
SqlSession batchSqlSession = null;
|
||||
// 导入域配置 -> ①分组不存在,新增分组并返回serviceGroupId ②分组存在,获取serviceGroupId -> 数据入库 -> 更新分组状态 -> 判断是否配置下发
|
||||
try{
|
||||
int index = 0;
|
||||
String ids = "";
|
||||
List<CommonGroupInfo> insertGroupList = new ArrayList<CommonGroupInfo>();
|
||||
batchSqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
|
||||
for(BaseIpCfg cfg:cfgs) {
|
||||
IpCommCfg ipCommCfg=new IpCommCfg();
|
||||
@@ -256,29 +256,32 @@ public class IpCommGroupCfgService extends BaseService {
|
||||
|
||||
Integer groupId = commonGroupManageDao.getGroupIdByGroupName(ipCommCfg.getGroupName(), Constants.IP_OBJ_GROUP_TYPE);
|
||||
if(groupId == null) { // 分组不存在,新增 UdFlag为1
|
||||
groupId = groupIds.get(index);
|
||||
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);
|
||||
groupId = groupIdMap.get(ipCommCfg.getGroupName());
|
||||
}else {
|
||||
if(!ids.contains(groupId+"")) {
|
||||
ids += ","+groupId;
|
||||
}
|
||||
}
|
||||
|
||||
ipCommCfg.setGroupId(groupId);
|
||||
((IpCommGroupCfgDao) batchSqlSession.getMapper(IpCommGroupCfgDao.class)).insertForBatch(ipCommCfg);
|
||||
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.nis.web.service.basics;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
|
||||
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.ScriberIdCommGroupDao;
|
||||
import com.nis.web.dao.configuration.CommonPolicyDao;
|
||||
import com.nis.web.security.UserUtils;
|
||||
import com.nis.web.service.CrudService;
|
||||
import com.nis.web.service.SpringContextHolder;
|
||||
|
||||
@@ -254,16 +256,14 @@ public class ScriberIdCommGroupService extends CrudService<CrudDao<ScriberIdComm
|
||||
}
|
||||
|
||||
@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());
|
||||
long start=System.currentTimeMillis();
|
||||
SqlSessionFactory sqlSessionFactory=SpringContextHolder.getBean(SqlSessionFactory.class);
|
||||
SqlSession batchSqlSession = null;
|
||||
// 导入域配置 -> ①分组不存在,新增分组并返回groupId ②分组存在,获取groupId -> 数据 入库 -> 更新分组状态 -> 判断是否配置下发
|
||||
try{
|
||||
int index = 0;
|
||||
String ids = "";
|
||||
List<CommonGroupInfo> insertGroupList = new ArrayList<CommonGroupInfo>();
|
||||
batchSqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
|
||||
for(BaseStringCfg<?> cfg:cfgs) {
|
||||
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);
|
||||
if(groupId == null) {
|
||||
groupId = groupIds.get(index);
|
||||
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);
|
||||
groupId = groupIdMap.get(commCfg.getGroupName());
|
||||
}else {
|
||||
if(!ids.contains(groupId+"")) {
|
||||
ids += ","+groupId;
|
||||
}
|
||||
}
|
||||
|
||||
commCfg.setGroupId(groupId);
|
||||
((ScriberIdCommGroupDao) batchSqlSession.getMapper(ScriberIdCommGroupDao.class)).insertCommGroupCfg(commCfg);
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.nis.web.service.basics;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
|
||||
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.UrlCommGroupDao;
|
||||
import com.nis.web.dao.configuration.CommonPolicyDao;
|
||||
import com.nis.web.security.UserUtils;
|
||||
import com.nis.web.service.CrudService;
|
||||
import com.nis.web.service.SpringContextHolder;
|
||||
|
||||
@@ -254,16 +256,14 @@ public class UrlCommGroupService extends CrudService<CrudDao<UrlCommCfg>, UrlCom
|
||||
}
|
||||
|
||||
@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());
|
||||
long start=System.currentTimeMillis();
|
||||
SqlSessionFactory sqlSessionFactory=SpringContextHolder.getBean(SqlSessionFactory.class);
|
||||
SqlSession batchSqlSession = null;
|
||||
// 导入域配置 -> ①分组不存在,新增分组并返回groupId ②分组存在,获取groupId -> 数据 入库 -> 更新分组状态 -> 判断是否配置下发
|
||||
try{
|
||||
int index = 0;
|
||||
String ids = "";
|
||||
List<CommonGroupInfo> insertGroupList = new ArrayList<CommonGroupInfo>();
|
||||
batchSqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
|
||||
for(BaseStringCfg<?> cfg:cfgs) {
|
||||
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);
|
||||
if(groupId == null) { // 分组不存在,新增 UdFlag为1
|
||||
groupId = groupIds.get(index);
|
||||
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);
|
||||
groupId = groupIdMap.get(urlCommCfg.getGroupName());
|
||||
}else {
|
||||
if(!ids.contains(groupId+"")) {
|
||||
ids += ","+groupId;
|
||||
}
|
||||
}
|
||||
|
||||
urlCommCfg.setGroupId(groupId);
|
||||
((UrlCommGroupDao) batchSqlSession.getMapper(UrlCommGroupDao.class)).insertUrlCommGroupCfg(urlCommCfg);
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user