修正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.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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user