修正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

@@ -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);
}