修正ObjectList模块导入功能
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user