From b4c06301b0e0ddce6d193a829af756176c9b42be Mon Sep 17 00:00:00 2001 From: zhangwenqing Date: Thu, 20 Jun 2019 18:06:38 +0800 Subject: [PATCH] =?UTF-8?q?1.IP=E5=88=86=E7=BB=84=E5=9F=9F=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E4=BF=AE=E6=94=B9=E5=A2=9E=E5=8A=A0=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E4=BA=BA/=E6=97=B6=E9=97=B4=202.=E4=BF=AE=E5=A4=8D=E6=90=BA?= =?UTF-8?q?=E5=B8=A6=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E6=95=B0=E6=8D=AEbug=203.=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E5=88=86=E7=BB=84=E5=9F=9F=E9=85=8D=E7=BD=AE=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../excel/thread/CheckStringFormatThread.java | 2 +- .../basics/DomainCommGroupController.java | 21 ++++++-- .../basics/IpCommGroupController.java | 22 ++++++-- .../basics/ScriberIdCommGroupController.java | 21 ++++++-- .../basics/UrlCommGroupController.java | 21 ++++++-- .../web/dao/basics/CommonGroupManageDao.java | 7 +++ .../web/dao/basics/CommonGroupManageDao.xml | 41 ++++++++++++-- .../basics/CommonGroupManageService.java | 9 +++- .../basics/DomainCommGroupService.java | 48 +++++++++++++---- .../service/basics/IpCommGroupCfgService.java | 53 ++++++++++++++----- .../basics/ScriberIdCommGroupService.java | 48 +++++++++++++---- .../service/basics/UrlCommGroupService.java | 48 +++++++++++++---- src/main/webapp/WEB-INF/tags/sys/delRow.tag | 8 +-- .../views/basics/domainCommGroupList.jsp | 4 +- .../views/basics/ipCommonGroupCfgList.jsp | 4 +- .../views/basics/scriberidCommGroupList.jsp | 4 +- .../WEB-INF/views/basics/urlCommGroupList.jsp | 4 +- 17 files changed, 289 insertions(+), 76 deletions(-) diff --git a/src/main/java/com/nis/util/excel/thread/CheckStringFormatThread.java b/src/main/java/com/nis/util/excel/thread/CheckStringFormatThread.java index 50b11d9c1..2db99faa9 100644 --- a/src/main/java/com/nis/util/excel/thread/CheckStringFormatThread.java +++ b/src/main/java/com/nis/util/excel/thread/CheckStringFormatThread.java @@ -298,7 +298,7 @@ public class CheckStringFormatThread implements Callable{ } String keyword = baseStringCfg.getCfgKeywords(); - if (!regionDict.getFunctionId().equals(403) && !regionDict.getFunctionId().equals(200)) {// 201域名拦截 + if (!regionDict.getFunctionId().equals(403) && !regionDict.getFunctionId().equals(200) && !regionDict.getFunctionId().equals(607)) {// 201域名拦截 if (StringUtils.isBlank(keyword)) { errInfo.append( String.format(prop.getProperty("can_not_null"), prop.getProperty("key_word") + " ") + ";"); diff --git a/src/main/java/com/nis/web/controller/basics/DomainCommGroupController.java b/src/main/java/com/nis/web/controller/basics/DomainCommGroupController.java index de83273b7..602b03f8b 100644 --- a/src/main/java/com/nis/web/controller/basics/DomainCommGroupController.java +++ b/src/main/java/com/nis/web/controller/basics/DomainCommGroupController.java @@ -3,8 +3,10 @@ package com.nis.web.controller.basics; import java.util.ArrayList; 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 java.util.concurrent.BlockingQueue; import javax.servlet.http.HttpServletRequest; @@ -174,12 +176,12 @@ public class DomainCommGroupController extends BaseController{ try { regionIds = ConfigServiceUtil.getId(3,_stringCfgs.size()); } catch (Exception e) { - e.printStackTrace(); - logger.info("获取域ID出错"); + logger.error("获取域ID出错"); throw new MaatConvertException(":"+e.getMessage()); } int index = 0; + Set countSet = new HashSet(); for (BaseStringCfg cfg : _stringCfgs) { cfg.setAction(serviceDict==null?null:serviceDict.getAction()); cfg.setCfgRegionCode(regionDict.getConfigRegionCode()); @@ -200,10 +202,23 @@ public class DomainCommGroupController extends BaseController{ cfg.setTableName("domain_comm_cfg"); cfg.setRegionId(regionIds.get(index)); cfg.setGroupName(cfg.getGroupName().toUpperCase()); + countSet.add(cfg.getGroupName()); index++; } - domainCommGroupService.saveAndSend(regionDict, serviceDict, _stringCfgs); + + Integer count = commonGroupManageService.getCountByGroupName(countSet, Constants.DOMAIN_OBJ_GROUP_TYPE); // 需调用服务接口获取GroupId的数量 + List 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); _stringCfgs.clear(); } diff --git a/src/main/java/com/nis/web/controller/basics/IpCommGroupController.java b/src/main/java/com/nis/web/controller/basics/IpCommGroupController.java index 448807f39..cdccae9af 100644 --- a/src/main/java/com/nis/web/controller/basics/IpCommGroupController.java +++ b/src/main/java/com/nis/web/controller/basics/IpCommGroupController.java @@ -3,8 +3,10 @@ package com.nis.web.controller.basics; import java.util.ArrayList; 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 java.util.concurrent.BlockingQueue; import javax.servlet.http.HttpServletRequest; @@ -239,7 +241,7 @@ public class IpCommGroupController extends BaseController { } //------------------------------------check format end---------------------------- Date date = new Date(); - String isSend = request.getParameter("isSend")==null?"":request.getParameter("isSend"); + //String isSend = request.getParameter("isSend")==null?"":request.getParameter("isSend"); if (regionDict.getRegionType().equals(1)) {// IP List _ipPortCfgs=Lists.newArrayList(Constants.MAAT_JSON_SEND_SIZE); @@ -249,12 +251,12 @@ public class IpCommGroupController extends BaseController { try { regionIds = ConfigServiceUtil.getId(3,_ipPortCfgs.size()); } catch (Exception e) { - e.printStackTrace(); - logger.info("获取域ID出错"); + logger.error("获取域ID出错"); throw new MaatConvertException(":"+e.getMessage()); } int index = 0; + Set countSet = new HashSet(); for (BaseIpCfg cfg : _ipPortCfgs) { cfg.setAction(serviceDict==null?null:serviceDict.getAction()); cfg.setCfgRegionCode(regionDict.getConfigRegionCode()); @@ -275,10 +277,22 @@ public class IpCommGroupController extends BaseController { cfg.setTableName("ip_comm_cfg"); cfg.setRegionId(regionIds.get(index)); cfg.setGroupName(cfg.getGroupName().toUpperCase()); + countSet.add(cfg.getGroupName()); index++; } - ipCommGroupCfgService.saveAndSend(regionDict, serviceDict, _ipPortCfgs); + Integer count = commonGroupManageService.getCountByGroupName(countSet, Constants.IP_OBJ_GROUP_TYPE); // 需调用服务接口获取GroupId的数量 + List 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); _ipPortCfgs.clear(); } diff --git a/src/main/java/com/nis/web/controller/basics/ScriberIdCommGroupController.java b/src/main/java/com/nis/web/controller/basics/ScriberIdCommGroupController.java index a8805a040..51656c15b 100644 --- a/src/main/java/com/nis/web/controller/basics/ScriberIdCommGroupController.java +++ b/src/main/java/com/nis/web/controller/basics/ScriberIdCommGroupController.java @@ -3,8 +3,10 @@ package com.nis.web.controller.basics; import java.util.ArrayList; 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 java.util.concurrent.BlockingQueue; import javax.servlet.http.HttpServletRequest; @@ -174,12 +176,12 @@ public class ScriberIdCommGroupController extends BaseController{ try { regionIds = ConfigServiceUtil.getId(3,_stringCfgs.size()); } catch (Exception e) { - e.printStackTrace(); - logger.info("获取域ID出错"); + logger.error("获取域ID出错"); throw new MaatConvertException(":"+e.getMessage()); } int index = 0; + Set countSet = new HashSet(); for (BaseStringCfg cfg : _stringCfgs) { cfg.setAction(serviceDict==null?null:serviceDict.getAction()); cfg.setCfgRegionCode(regionDict.getConfigRegionCode()); @@ -200,10 +202,23 @@ public class ScriberIdCommGroupController extends BaseController{ cfg.setTableName("scriberid_comm_cfg"); cfg.setRegionId(regionIds.get(index)); cfg.setGroupName(cfg.getGroupName().toUpperCase()); + countSet.add(cfg.getGroupName()); index++; } - scriberIdCommGroupService.saveAndSend(regionDict, serviceDict, _stringCfgs); + + Integer count = commonGroupManageService.getCountByGroupName(countSet, Constants.SUBID_OBJ_GROUP_TYPE); // 需调用服务接口获取GroupId的数量 + List 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); _stringCfgs.clear(); } diff --git a/src/main/java/com/nis/web/controller/basics/UrlCommGroupController.java b/src/main/java/com/nis/web/controller/basics/UrlCommGroupController.java index ebe0a06b9..cab6db715 100644 --- a/src/main/java/com/nis/web/controller/basics/UrlCommGroupController.java +++ b/src/main/java/com/nis/web/controller/basics/UrlCommGroupController.java @@ -3,8 +3,10 @@ package com.nis.web.controller.basics; import java.util.ArrayList; 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 java.util.concurrent.BlockingQueue; import javax.servlet.http.HttpServletRequest; @@ -174,12 +176,12 @@ public class UrlCommGroupController extends BaseController{ try { regionIds = ConfigServiceUtil.getId(3,_stringCfgs.size()); } catch (Exception e) { - e.printStackTrace(); - logger.info("获取域ID出错"); + logger.error("获取域ID出错"); throw new MaatConvertException(":"+e.getMessage()); } int index = 0; + Set countSet = new HashSet(); for (BaseStringCfg cfg : _stringCfgs) { cfg.setAction(serviceDict==null?null:serviceDict.getAction()); cfg.setCfgRegionCode(regionDict.getConfigRegionCode()); @@ -200,10 +202,23 @@ public class UrlCommGroupController extends BaseController{ cfg.setTableName("url_comm_cfg"); cfg.setRegionId(regionIds.get(index)); cfg.setGroupName(cfg.getGroupName().toUpperCase()); + countSet.add(cfg.getGroupName()); index++; } - urlCommGroupService.saveAndSend(regionDict, serviceDict, _stringCfgs); + + Integer count = commonGroupManageService.getCountByGroupName(countSet, Constants.URL_OBJ_GROUP_TYPE); // 需调用服务接口获取GroupId的数量 + List 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); _stringCfgs.clear(); } diff --git a/src/main/java/com/nis/web/dao/basics/CommonGroupManageDao.java b/src/main/java/com/nis/web/dao/basics/CommonGroupManageDao.java index a6fe890e5..872158666 100644 --- a/src/main/java/com/nis/web/dao/basics/CommonGroupManageDao.java +++ b/src/main/java/com/nis/web/dao/basics/CommonGroupManageDao.java @@ -1,6 +1,7 @@ package com.nis.web.dao.basics; import java.util.List; +import java.util.Set; import org.apache.ibatis.annotations.Param; @@ -26,4 +27,10 @@ public interface CommonGroupManageDao extends CrudDao { // 校验是否是当前引用Group的最后一条配置 public Integer ajaxCheckIsLastOneCfg(@Param("groupId")Integer groupId, @Param("cfgIds")String CfgIds, @Param("tableName")String indextable); + + Integer getCountByGroupName(@Param("groupNameSet")Set set, @Param("groupType")Integer groupType); + + Integer getGroupIdByGroupName(@Param("groupName")String groupName, @Param("groupType")Integer groupType); + + int insertBatch(List list); } \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/basics/CommonGroupManageDao.xml b/src/main/java/com/nis/web/dao/basics/CommonGroupManageDao.xml index 29c37a7ab..7ff971058 100644 --- a/src/main/java/com/nis/web/dao/basics/CommonGroupManageDao.xml +++ b/src/main/java/com/nis/web/dao/basics/CommonGroupManageDao.xml @@ -100,7 +100,8 @@ GROUP_NAME, GROUP_TYPE, SERVICE_GROUP_ID, - DESCRIPTION + DESCRIPTION, + UD_FLAG )values ( @@ -110,7 +111,8 @@ #{info.groupName,jdbcType=VARCHAR}, #{info.groupType,jdbcType=INTEGER}, #{info.serviceGroupId,jdbcType=INTEGER}, - #{info.description,jdbcType=VARCHAR} + #{info.description,jdbcType=VARCHAR}, + #{info.udFlag,jdbcType=INTEGER} ) @@ -212,7 +214,7 @@ FROM cfg_index_info WHERE - common_group_ids LIKE concat(concat('%',#{groupId,jdbcType=VARCHAR}),'%') AND is_valid != -1 + common_group_ids LIKE concat(concat('%',#{groupId,jdbcType=VARCHAR}),'%') AND is_valid != -1 AND is_audit = 1 + + + + + \ No newline at end of file diff --git a/src/main/java/com/nis/web/service/basics/CommonGroupManageService.java b/src/main/java/com/nis/web/service/basics/CommonGroupManageService.java index cf3b7640c..027f9278e 100644 --- a/src/main/java/com/nis/web/service/basics/CommonGroupManageService.java +++ b/src/main/java/com/nis/web/service/basics/CommonGroupManageService.java @@ -269,7 +269,7 @@ public class CommonGroupManageService extends BaseService{ CommonGroupInfo entity = new CommonGroupInfo(); int serviceGroupId = 0; entity.setGroupType(groupType); - entity.setGroupName(groupName); + entity.setGroupName(groupName.toUpperCase()); CommonGroupInfo groupInfo = commonGroupManageDao.getGroupInfo(entity); if(groupInfo == null) { @@ -293,4 +293,11 @@ public class CommonGroupManageService extends BaseService{ return serviceGroupId; } + + public Integer getCountByGroupName(Set set, Integer groupType) { + Integer count = commonGroupManageDao.getCountByGroupName(set, groupType); + return set.size()-count; + } + + } diff --git a/src/main/java/com/nis/web/service/basics/DomainCommGroupService.java b/src/main/java/com/nis/web/service/basics/DomainCommGroupService.java index 50fb5f1c3..ed5a4a6db 100644 --- a/src/main/java/com/nis/web/service/basics/DomainCommGroupService.java +++ b/src/main/java/com/nis/web/service/basics/DomainCommGroupService.java @@ -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.DomainCommCfg; import com.nis.domain.basics.PolicyGroupInfo; 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.DomainCommGroupDao; import com.nis.web.dao.basics.PolicyGroupInfoDao; import com.nis.web.dao.configuration.CommonPolicyDao; @@ -44,6 +46,8 @@ public class DomainCommGroupService extends CrudService, private PolicyGroupInfoDao policyGroupInfoDao; @Autowired private CommonPolicyDao commonPolicyDao; + @Autowired + private CommonGroupManageDao commonGroupManageDao; private CommonGroupManageService groupManageService = SpringContextHolder.getBean(CommonGroupManageService.class); @@ -243,34 +247,56 @@ public class DomainCommGroupService extends CrudService, } @Transactional(readOnly=false,rollbackFor=RuntimeException.class) - public void saveAndSend(FunctionRegionDict regionDict, FunctionServiceDict serviceDict, List> cfgs) { + public void saveAndSend(FunctionRegionDict regionDict, FunctionServiceDict serviceDict, List> cfgs, List groupIds) { 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 insertGroupList = new ArrayList(); batchSqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false); for(BaseStringCfg cfg:cfgs) { DomainCommCfg domainCommCfg=new DomainCommCfg(); BeanUtils.copyProperties(cfg, domainCommCfg); - Integer serviceGroupId = groupManageService.getServiceGroupId(domainCommCfg.getGroupName(), Constants.DOMAIN_OBJ_GROUP_TYPE); - if(!ids.contains(serviceGroupId+"")) { - ids += ","+serviceGroupId; - } - domainCommCfg.setGroupId(serviceGroupId); + 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); + }else { + if(!ids.contains(groupId+"")) { + ids += ","+groupId; + } + } + domainCommCfg.setGroupId(groupId); ((DomainCommGroupDao) batchSqlSession.getMapper(DomainCommGroupDao.class)).insertCommGroupCfg(domainCommCfg); } batchSqlSession.commit(); + if(insertGroupList.size() > 0) { + commonGroupManageDao.insertBatch(insertGroupList); + } - // 更新分组状态 - String serviceGroupIds = ids.substring(1); - List policyGroupInfos = policyGroupInfoDao.findPolicyByServiceGroupInfoList(serviceGroupIds); - groupManageService.updateGroupStatus(policyGroupInfos, Constants.DOMAIN_OBJ_GROUP_TYPE); - transObjGroupToMaat(policyGroupInfos); + if(StringUtils.isNotBlank(ids)) { + // 更新分组状态 + String serviceGroupIds = ids.substring(1); + List policyGroupInfos = policyGroupInfoDao.findPolicyByServiceGroupInfoList(serviceGroupIds); + groupManageService.updateGroupStatus(policyGroupInfos, Constants.DOMAIN_OBJ_GROUP_TYPE); + // 判断是否配置下发 + transObjGroupToMaat(policyGroupInfos); + } }finally { if(batchSqlSession != null){ diff --git a/src/main/java/com/nis/web/service/basics/IpCommGroupCfgService.java b/src/main/java/com/nis/web/service/basics/IpCommGroupCfgService.java index 38389f3a8..b93b87862 100644 --- a/src/main/java/com/nis/web/service/basics/IpCommGroupCfgService.java +++ b/src/main/java/com/nis/web/service/basics/IpCommGroupCfgService.java @@ -30,6 +30,7 @@ import com.nis.util.ConfigServiceUtil; import com.nis.util.Constants; import com.nis.util.StringUtils; import com.nis.web.controller.configuration.ObjectGroupController; +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; @@ -44,6 +45,8 @@ public class IpCommGroupCfgService extends BaseService { private PolicyGroupInfoDao policyGroupInfoDao; @Autowired private CommonPolicyDao commonPolicyDao; + @Autowired + private CommonGroupManageDao commonGroupManageDao; private CommonGroupManageService groupManageService = SpringContextHolder.getBean(CommonGroupManageService.class); @@ -71,9 +74,12 @@ public class IpCommGroupCfgService extends BaseService { @Transactional(readOnly=false,rollbackFor=RuntimeException.class) public void update(IpCommCfg entity){ + Date editTime=new Date(); // 获取分组ID Integer serviceGroupId = groupManageService.getServiceGroupId(entity.getGroupName(), Constants.IP_OBJ_GROUP_TYPE); - entity.setGroupId(serviceGroupId); + entity.setGroupId(serviceGroupId); + entity.setEditTime(editTime); + entity.setEditorId(entity.getCurrentUser().getId()); ipCommGroupCfgDao.update(entity); // 更新分组状态 @@ -227,36 +233,57 @@ public class IpCommGroupCfgService extends BaseService { } @Transactional(readOnly=false,rollbackFor=RuntimeException.class) - public void saveAndSend(FunctionRegionDict regionDict, FunctionServiceDict serviceDict, List cfgs) { + public void saveAndSend(FunctionRegionDict regionDict, FunctionServiceDict serviceDict, List cfgs, List groupIds) { 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 insertGroupList = new ArrayList(); batchSqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false); for(BaseIpCfg cfg:cfgs) { IpCommCfg ipCommCfg=new IpCommCfg(); BeanUtils.copyProperties(cfg, ipCommCfg); - Integer serviceGroupId = groupManageService.getServiceGroupId(ipCommCfg.getGroupName(), Constants.IP_OBJ_GROUP_TYPE); - if(!ids.contains(serviceGroupId+"")) { - ids += ","+serviceGroupId; - } - ipCommCfg.setGroupId(serviceGroupId); + 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); + }else { + if(!ids.contains(groupId+"")) { + ids += ","+groupId; + } + } + ipCommCfg.setGroupId(groupId); ((IpCommGroupCfgDao) batchSqlSession.getMapper(IpCommGroupCfgDao.class)).insertForBatch(ipCommCfg); } batchSqlSession.commit(); + if(insertGroupList.size() > 0) { + commonGroupManageDao.insertBatch(insertGroupList); + } - // 更新分组状态 - String serviceGroupIds = ids.substring(1); - List policyGroupInfos = policyGroupInfoDao.findPolicyByServiceGroupInfoList(serviceGroupIds); - groupManageService.updateGroupStatus(policyGroupInfos, Constants.IP_OBJ_GROUP_TYPE); - // 判断是否配置下发 - transObjGroupToMaat(policyGroupInfos); + if(StringUtils.isNotBlank(ids)) { + // 更新分组状态 + String serviceGroupIds = ids.substring(1); + List policyGroupInfos = policyGroupInfoDao.findPolicyByServiceGroupInfoList(serviceGroupIds); + groupManageService.updateGroupStatus(policyGroupInfos, Constants.IP_OBJ_GROUP_TYPE); + // 判断是否配置下发 + transObjGroupToMaat(policyGroupInfos); + } }finally { if(batchSqlSession != null){ diff --git a/src/main/java/com/nis/web/service/basics/ScriberIdCommGroupService.java b/src/main/java/com/nis/web/service/basics/ScriberIdCommGroupService.java index dbd4e8c77..ebb0ca6c2 100644 --- a/src/main/java/com/nis/web/service/basics/ScriberIdCommGroupService.java +++ b/src/main/java/com/nis/web/service/basics/ScriberIdCommGroupService.java @@ -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> cfgs) { + public void saveAndSend(FunctionRegionDict regionDict, FunctionServiceDict serviceDict, List> cfgs, List 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 insertGroupList = new ArrayList(); 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 policyGroupInfos = policyGroupInfoDao.findPolicyByServiceGroupInfoList(serviceGroupIds); - groupManageService.updateGroupStatus(policyGroupInfos, Constants.SUBID_OBJ_GROUP_TYPE); - transObjGroupToMaat(policyGroupInfos); + if(StringUtils.isNotBlank(ids)) { + // 更新分组状态 + String serviceGroupIds = ids.substring(1); + List policyGroupInfos = policyGroupInfoDao.findPolicyByServiceGroupInfoList(serviceGroupIds); + groupManageService.updateGroupStatus(policyGroupInfos, Constants.SUBID_OBJ_GROUP_TYPE); + // 判断是否配置下发 + transObjGroupToMaat(policyGroupInfos); + } }finally { if(batchSqlSession != null){ diff --git a/src/main/java/com/nis/web/service/basics/UrlCommGroupService.java b/src/main/java/com/nis/web/service/basics/UrlCommGroupService.java index 82cbcedc7..a8e0a98c8 100644 --- a/src/main/java/com/nis/web/service/basics/UrlCommGroupService.java +++ b/src/main/java/com/nis/web/service/basics/UrlCommGroupService.java @@ -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.UrlCommCfg; 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.UrlCommGroupDao; import com.nis.web.dao.configuration.CommonPolicyDao; @@ -44,6 +46,8 @@ public class UrlCommGroupService extends CrudService, UrlCom private PolicyGroupInfoDao policyGroupInfoDao; @Autowired private CommonPolicyDao commonPolicyDao; + @Autowired + private CommonGroupManageDao commonGroupManageDao; private CommonGroupManageService groupManageService = SpringContextHolder.getBean(CommonGroupManageService.class); @@ -244,34 +248,56 @@ public class UrlCommGroupService extends CrudService, UrlCom } @Transactional(readOnly=false,rollbackFor=RuntimeException.class) - public void saveAndSend(FunctionRegionDict regionDict, FunctionServiceDict serviceDict, List> cfgs) { + public void saveAndSend(FunctionRegionDict regionDict, FunctionServiceDict serviceDict, List> cfgs, List groupIds) { 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 insertGroupList = new ArrayList(); batchSqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false); for(BaseStringCfg cfg:cfgs) { UrlCommCfg urlCommCfg=new UrlCommCfg(); BeanUtils.copyProperties(cfg, urlCommCfg); - Integer serviceGroupId = groupManageService.getServiceGroupId(urlCommCfg.getGroupName(), Constants.URL_OBJ_GROUP_TYPE); - if(!ids.contains(serviceGroupId+"")) { - ids += ","+serviceGroupId; - } - urlCommCfg.setGroupId(serviceGroupId); + 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); + }else { + if(!ids.contains(groupId+"")) { + ids += ","+groupId; + } + } + urlCommCfg.setGroupId(groupId); ((UrlCommGroupDao) batchSqlSession.getMapper(UrlCommGroupDao.class)).insertUrlCommGroupCfg(urlCommCfg); } batchSqlSession.commit(); + if(insertGroupList.size() > 0) { + commonGroupManageDao.insertBatch(insertGroupList); + } - // 更新分组状态 - String serviceGroupIds = ids.substring(1); - List policyGroupInfos = policyGroupInfoDao.findPolicyByServiceGroupInfoList(serviceGroupIds); - groupManageService.updateGroupStatus(policyGroupInfos, Constants.URL_OBJ_GROUP_TYPE); - transObjGroupToMaat(policyGroupInfos); + if(StringUtils.isNotBlank(ids)) { + // 更新分组状态 + String serviceGroupIds = ids.substring(1); + List policyGroupInfos = policyGroupInfoDao.findPolicyByServiceGroupInfoList(serviceGroupIds); + groupManageService.updateGroupStatus(policyGroupInfos, Constants.URL_OBJ_GROUP_TYPE); + // 判断是否配置下发 + transObjGroupToMaat(policyGroupInfos); + } }finally { if(batchSqlSession != null){ diff --git a/src/main/webapp/WEB-INF/tags/sys/delRow.tag b/src/main/webapp/WEB-INF/tags/sys/delRow.tag index c949a14d6..ecf37fe55 100644 --- a/src/main/webapp/WEB-INF/tags/sys/delRow.tag +++ b/src/main/webapp/WEB-INF/tags/sys/delRow.tag @@ -761,17 +761,17 @@ function exportData(url,maxRow,searchUrl,exType){ if(totalCount > maxRow){ top.$.jBox.confirm(""+maxRow+"!","",function(v,h,f){ if(v=="ok"){ - if($("#intype").val() != null && $("#intype").val() != ""){ + /* if($("#intype").val() != null && $("#intype").val() != ""){ $("#intype").attr("name",$("#seltype").val()); - } + } */ exportXmlRequest(url); } },{buttonsFocus:1}); top.$('.jbox-body .jbox-icon').css('top','55px'); }else{ - if($("#intype").val() != null && $("#intype").val() != ""){ + /* if($("#intype").val() != null && $("#intype").val() != ""){ $("#intype").attr("name",$("#seltype").val()); - } + } */ exportXmlRequest(url); } }else{ diff --git a/src/main/webapp/WEB-INF/views/basics/domainCommGroupList.jsp b/src/main/webapp/WEB-INF/views/basics/domainCommGroupList.jsp index 35d6126ce..951b71d0c 100644 --- a/src/main/webapp/WEB-INF/views/basics/domainCommGroupList.jsp +++ b/src/main/webapp/WEB-INF/views/basics/domainCommGroupList.jsp @@ -210,8 +210,8 @@ diff --git a/src/main/webapp/WEB-INF/views/basics/ipCommonGroupCfgList.jsp b/src/main/webapp/WEB-INF/views/basics/ipCommonGroupCfgList.jsp index b3fd56905..5f4e9779d 100644 --- a/src/main/webapp/WEB-INF/views/basics/ipCommonGroupCfgList.jsp +++ b/src/main/webapp/WEB-INF/views/basics/ipCommonGroupCfgList.jsp @@ -228,8 +228,8 @@ diff --git a/src/main/webapp/WEB-INF/views/basics/scriberidCommGroupList.jsp b/src/main/webapp/WEB-INF/views/basics/scriberidCommGroupList.jsp index 461096925..434b2d6a7 100644 --- a/src/main/webapp/WEB-INF/views/basics/scriberidCommGroupList.jsp +++ b/src/main/webapp/WEB-INF/views/basics/scriberidCommGroupList.jsp @@ -210,8 +210,8 @@ diff --git a/src/main/webapp/WEB-INF/views/basics/urlCommGroupList.jsp b/src/main/webapp/WEB-INF/views/basics/urlCommGroupList.jsp index 961994a25..7899caa3a 100644 --- a/src/main/webapp/WEB-INF/views/basics/urlCommGroupList.jsp +++ b/src/main/webapp/WEB-INF/views/basics/urlCommGroupList.jsp @@ -205,8 +205,8 @@