1.IP分组域配置修改增加修改人/时间
2.修复携带查询条件无法导出数据bug 3.优化分组域配置导入
This commit is contained in:
@@ -19,6 +19,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
import com.nis.domain.FunctionRegionDict;
|
||||
import com.nis.domain.FunctionServiceDict;
|
||||
import com.nis.domain.Page;
|
||||
import com.nis.domain.basics.CommonGroupInfo;
|
||||
import com.nis.domain.basics.PolicyGroupInfo;
|
||||
import com.nis.domain.basics.ScriberIdCommCfg;
|
||||
import com.nis.domain.configuration.BaseStringCfg;
|
||||
@@ -29,6 +30,7 @@ import com.nis.util.Constants;
|
||||
import com.nis.util.StringUtils;
|
||||
import com.nis.web.controller.configuration.ObjectGroupController;
|
||||
import com.nis.web.dao.CrudDao;
|
||||
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;
|
||||
@@ -44,6 +46,8 @@ public class ScriberIdCommGroupService extends CrudService<CrudDao<ScriberIdComm
|
||||
private PolicyGroupInfoDao policyGroupInfoDao;
|
||||
@Autowired
|
||||
private CommonPolicyDao commonPolicyDao;
|
||||
@Autowired
|
||||
private CommonGroupManageDao commonGroupManageDao;
|
||||
|
||||
private CommonGroupManageService groupManageService = SpringContextHolder.getBean(CommonGroupManageService.class);
|
||||
|
||||
@@ -244,34 +248,56 @@ public class ScriberIdCommGroupService extends CrudService<CrudDao<ScriberIdComm
|
||||
}
|
||||
|
||||
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
|
||||
public void saveAndSend(FunctionRegionDict regionDict, FunctionServiceDict serviceDict, List<BaseStringCfg<?>> cfgs) {
|
||||
public void saveAndSend(FunctionRegionDict regionDict, FunctionServiceDict serviceDict, List<BaseStringCfg<?>> cfgs, List<Integer> groupIds) {
|
||||
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();
|
||||
BeanUtils.copyProperties(cfg, commCfg);
|
||||
|
||||
Integer serviceGroupId = groupManageService.getServiceGroupId(commCfg.getGroupName(), Constants.SUBID_OBJ_GROUP_TYPE);
|
||||
if(!ids.contains(serviceGroupId+"")) {
|
||||
ids += ","+serviceGroupId;
|
||||
}
|
||||
commCfg.setGroupId(serviceGroupId);
|
||||
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);
|
||||
}else {
|
||||
if(!ids.contains(groupId+"")) {
|
||||
ids += ","+groupId;
|
||||
}
|
||||
}
|
||||
|
||||
commCfg.setGroupId(groupId);
|
||||
((ScriberIdCommGroupDao) batchSqlSession.getMapper(ScriberIdCommGroupDao.class)).insertCommGroupCfg(commCfg);
|
||||
}
|
||||
batchSqlSession.commit();
|
||||
if(insertGroupList.size() > 0) {
|
||||
commonGroupManageDao.insertBatch(insertGroupList);
|
||||
}
|
||||
|
||||
// 更新分组状态
|
||||
String serviceGroupIds = ids.substring(1);
|
||||
List<PolicyGroupInfo> policyGroupInfos = policyGroupInfoDao.findPolicyByServiceGroupInfoList(serviceGroupIds);
|
||||
groupManageService.updateGroupStatus(policyGroupInfos, Constants.SUBID_OBJ_GROUP_TYPE);
|
||||
transObjGroupToMaat(policyGroupInfos);
|
||||
if(StringUtils.isNotBlank(ids)) {
|
||||
// 更新分组状态
|
||||
String serviceGroupIds = ids.substring(1);
|
||||
List<PolicyGroupInfo> policyGroupInfos = policyGroupInfoDao.findPolicyByServiceGroupInfoList(serviceGroupIds);
|
||||
groupManageService.updateGroupStatus(policyGroupInfos, Constants.SUBID_OBJ_GROUP_TYPE);
|
||||
// 判断是否配置下发
|
||||
transObjGroupToMaat(policyGroupInfos);
|
||||
}
|
||||
|
||||
}finally {
|
||||
if(batchSqlSession != null){
|
||||
|
||||
Reference in New Issue
Block a user