summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzhangwenqing <[email protected]>2019-06-26 17:40:47 +0800
committerzhangwenqing <[email protected]>2019-06-26 17:40:47 +0800
commit3ddd8090665613f8f0d6bf09299bf64660e6d9b5 (patch)
tree8bebb5236d496b1831995e6fe41ed24781413ce0
parentc0f424579ba8020adf693daf6f138630218672d0 (diff)
修正ObjectList管理域配置批量删除时 错误取消策略配置bug
-rw-r--r--src/main/java/com/nis/web/service/basics/CommonGroupManageService.java24
-rw-r--r--src/main/java/com/nis/web/service/basics/DomainCommGroupService.java166
-rw-r--r--src/main/java/com/nis/web/service/basics/IpCommGroupCfgService.java134
-rw-r--r--src/main/java/com/nis/web/service/basics/ScriberIdCommGroupService.java170
-rw-r--r--src/main/java/com/nis/web/service/basics/UrlCommGroupService.java164
5 files changed, 376 insertions, 282 deletions
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 939276d1f..16fb853f4 100644
--- a/src/main/java/com/nis/web/service/basics/CommonGroupManageService.java
+++ b/src/main/java/com/nis/web/service/basics/CommonGroupManageService.java
@@ -323,6 +323,30 @@ public class CommonGroupManageService extends BaseService{
}
return map;
}
+
+ public boolean checkCancelCfg(String groupId, Integer groupType) {
+ boolean flag = false;
+ String keyString = "";
+ if(groupType == Constants.IP_OBJ_GROUP_TYPE) { // IP
+ keyString = "ipGroup";
+ }else if(groupType == Constants.URL_OBJ_GROUP_TYPE) { // URL
+ keyString = "urlGroup";
+ }else if(groupType == Constants.DOMAIN_OBJ_GROUP_TYPE) { // Domain
+ keyString = "domainGroup";
+ }else if(groupType == Constants.SUBID_OBJ_GROUP_TYPE) { // ScriberId
+ keyString = "subscribeIdGroup";
+ }
+
+ Map<String,String> searchMap = new HashMap<String,String>();
+ searchMap.put(keyString, ","+groupId+",");
+
+ Integer compileId = commonGroupManageDao.getCompileIdByGroupId(gsonToJson(searchMap));
+ if(compileId != null) {
+ flag = true;
+ }
+ return flag;
+
+ }
}
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 ca5f3928b..44ba4a005 100644
--- a/src/main/java/com/nis/web/service/basics/DomainCommGroupService.java
+++ b/src/main/java/com/nis/web/service/basics/DomainCommGroupService.java
@@ -29,6 +29,7 @@ import com.nis.domain.configuration.CfgIndexInfo;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.ConfigServiceUtil;
import com.nis.util.Constants;
+import com.nis.util.StringUtil;
import com.nis.util.StringUtils;
import com.nis.web.controller.configuration.ObjectGroupController;
import com.nis.web.dao.CrudDao;
@@ -154,90 +155,93 @@ public class DomainCommGroupService extends CrudService<CrudDao<DomainCommCfg>,
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public void delete(String ids, String groupIds, DomainCommCfg cfg, HttpServletRequest request, HttpServletResponse response) throws Exception {
if(ids == null) {
- groupIds = "";
- String cfgIds = "";
- String serviceGroupIds = "";
+ long start = System.currentTimeMillis();
- // 删除操作后获取 ①需配置更新的分组(存在域配置)②需配置取消的分组(无域配置) -> 配置分别操作更新或取消
- List<DomainCommCfg> set = domainCommGroupDao.getGroupIds(cfg);
- if(set.size() == 0) { // 无可删除配置
- return;
- }else {
- for (DomainCommCfg domainCommCfg : set) {
- Integer groupId = domainCommCfg.getGroupId();
- cfgIds += ","+domainCommCfg.getCfgId();
- if(!serviceGroupIds.contains(groupId+"")) {
- serviceGroupIds += ","+groupId;
- }
- }
- cfgIds = cfgIds.substring(1);
- serviceGroupIds = serviceGroupIds.substring(1);
- }
- domainCommGroupDao.delete(cfgIds);
-
- String[] strings = serviceGroupIds.split(",");
- serviceGroupIds = "";
- for (String groupId : strings) {
- Integer size = domainCommGroupDao.getCfgInfoByGroupIds(groupId);
- if(size == 0) { // 需配置取消
- serviceGroupIds += ","+groupId;
- }else { // 需配置更新
- groupIds += ","+groupId;
- }
- }
-
- // 配置取消
- if(StringUtils.isNotBlank(serviceGroupIds)) {
- serviceGroupIds = serviceGroupIds.substring(1);
- ObjectGroupController groupController = SpringContextHolder.getBean(ObjectGroupController.class);
- Page<CfgIndexInfo> auditPage = new Page<CfgIndexInfo>(request,response,"r");
- Properties props = groupController.getMsgProp();
-
- // 配置未生效
- /*String updateStatusGroupIds = "";
- for (String groupId : serviceGroupIds.split(",")) {
- List<CfgIndexInfo> list = commonPolicyDao.getObjGroupListByGroupIds(groupId, 888, Constants.VALID_NO);
- if(list.size() > 0) {
- updateStatusGroupIds += ","+groupId;
- }
+ Page<DomainCommCfg> page = new Page<DomainCommCfg>(request, response, "r");
+ page.setOrderBy("");
+ page.setPageSize(Constants.MAAT_JSON_SEND_SIZE);
+ page.setPageNo(1);
+ page.setLastPage(false);
+
+ boolean hasData = true;
+ while(hasData){
+ page.setPageNo(1);
+ page.setLastPage(false);
+ cfg.setIsValid(null);
+
+ List<DomainCommCfg> list = this.findPage(page, cfg).getList();
+ if(!StringUtil.isEmpty(list)) {
+ groupIds = "";
+ String cfgIds = "";
+ String serviceGroupIds = "";
+
+ for (DomainCommCfg domainCommCfg : list) {
+ Integer groupId = domainCommCfg.getGroupId();
+ cfgIds += ","+domainCommCfg.getCfgId();
+ if(!serviceGroupIds.contains(groupId+"")) {
+ serviceGroupIds += ","+groupId;
+ }
+ }
+ cfgIds = cfgIds.substring(1);
+ serviceGroupIds = serviceGroupIds.substring(1);
+ domainCommGroupDao.delete(cfgIds);
+
+ // 删除操作后获取 ①需配置更新的分组(存在域配置)②需配置取消的分组(无域配置) -> 配置分别操作更新或取消
+ String[] strings = serviceGroupIds.split(",");
+ serviceGroupIds = "";
+ for (String groupId : strings) {
+ Integer size = domainCommGroupDao.getCfgInfoByGroupIds(groupId);
+ if(size == 0) { // 需配置取消
+ boolean flag = groupManageService.checkCancelCfg(groupId, Constants.DOMAIN_OBJ_GROUP_TYPE);
+ if(flag) { // 需配置更新
+ serviceGroupIds += ","+groupId;
+ }else {
+ groupIds += ","+groupId;
+ }
+ }else { // 需配置更新
+ groupIds += ","+groupId;
+ }
+ }
+
+ // 配置取消
+ if(StringUtils.isNotBlank(serviceGroupIds)) {
+ serviceGroupIds = serviceGroupIds.substring(1);
+ ObjectGroupController groupController = SpringContextHolder.getBean(ObjectGroupController.class);
+ Page<CfgIndexInfo> auditPage = new Page<CfgIndexInfo>(request,response,"r");
+ Properties props = groupController.getMsgProp();
+
+ // 组下无域配置common_group_ids -> "",ud_flag -> 0
+ CfgIndexInfo entity = new CfgIndexInfo();
+ entity.setUserRegion5(serviceGroupIds);
+ entity.setFunctionId(888);
+ entity.setCommonGroupIds("");
+ commonPolicyDao.updateCfgIndexCommonGroupIdsBatch(entity);
+ List<PolicyGroupInfo> policyGroupInfos=policyGroupInfoDao.findPolicyByServiceGroupInfoList(serviceGroupIds);
+ groupManageService.updateGroupStatus(policyGroupInfos, Constants.DOMAIN_OBJ_GROUP_TYPE);
+
+ entity.setServiceId(0);
+ entity.setIsValid(Constants.VALID_NO);
+ entity.setIsAudit(Constants.AUDIT_NOT_YES);
+ entity.setBatchAuditValue("1");
+ entity.setBatchValidValue("1,0");
+ groupController.auditAll(auditPage, Constants.AUDIT_NOT_YES, entity, props);
+ }
+ // 配置更新
+ if(StringUtils.isNotBlank(groupIds)) {
+ groupIds = groupIds.substring(1);
+ List<PolicyGroupInfo> policyGroupInfos = policyGroupInfoDao.findPolicyByServiceGroupInfoList(groupIds);
+ groupManageService.updateGroupStatus(policyGroupInfos, Constants.DOMAIN_OBJ_GROUP_TYPE);
+ transObjGroupToMaat(policyGroupInfos);
+ }
+
+ }else {
+ hasData = false;
}
- if(StringUtils.isNotBlank(updateStatusGroupIds)) {
- updateStatusGroupIds = updateStatusGroupIds.substring(1);
- CfgIndexInfo entity = new CfgIndexInfo();
- entity.setUserRegion5(updateStatusGroupIds);
- entity.setFunctionId(888);
- entity.setCommonGroupIds("");
- entity.setIsValid(Constants.VALID_NO);
- commonPolicyDao.updateCfgIndexCommonGroupIdsBatch(entity);
-
- List<PolicyGroupInfo> policyGroupInfos=policyGroupInfoDao.findPolicyByServiceGroupInfoList(updateStatusGroupIds);
- groupManageService.updateGroupStatus(policyGroupInfos, Constants.DOMAIN_OBJ_GROUP_TYPE);
- }*/
-
- // 配置已生效
- // 组下无域配置common_group_ids -> "",ud_flag -> 0
- CfgIndexInfo entity = new CfgIndexInfo();
- entity.setUserRegion5(serviceGroupIds);
- entity.setFunctionId(888);
- entity.setCommonGroupIds("");
- commonPolicyDao.updateCfgIndexCommonGroupIdsBatch(entity);
- List<PolicyGroupInfo> policyGroupInfos=policyGroupInfoDao.findPolicyByServiceGroupInfoList(serviceGroupIds);
- groupManageService.updateGroupStatus(policyGroupInfos, Constants.DOMAIN_OBJ_GROUP_TYPE);
-
- entity.setServiceId(0);
- entity.setIsValid(Constants.VALID_NO);
- entity.setIsAudit(Constants.AUDIT_NOT_YES);
- entity.setBatchAuditValue("1");
- entity.setBatchValidValue("1,0");
- groupController.auditAll(auditPage, Constants.AUDIT_NOT_YES, entity, props);
- }
- // 配置更新
- if(StringUtils.isNotBlank(groupIds)) {
- groupIds = groupIds.substring(1);
- List<PolicyGroupInfo> policyGroupInfos = policyGroupInfoDao.findPolicyByServiceGroupInfoList(groupIds);
- transObjGroupToMaat(policyGroupInfos);
- }
+ }
+ long end = System.currentTimeMillis();
+ logger.warn("域名组域配置,批量删除耗时:"+(end-start));
+
}else {
List<PolicyGroupInfo> policyGroupInfos=policyGroupInfoDao.findPolicyByServiceGroupInfoList(groupIds);
domainCommGroupDao.delete(ids);
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 e82f797f8..0b15dc82f 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.domain.configuration.CfgIndexInfo;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.ConfigServiceUtil;
import com.nis.util.Constants;
+import com.nis.util.StringUtil;
import com.nis.util.StringUtils;
import com.nis.web.controller.configuration.ObjectGroupController;
import com.nis.web.dao.basics.CommonGroupManageDao;
@@ -147,38 +148,90 @@ public class IpCommGroupCfgService extends BaseService {
public void delete(String ids, String groupIds, IpCommCfg cfg, HttpServletRequest request, HttpServletResponse response) throws Exception {
if(ids == null) {
- groupIds = "";
- String cfgIds = "";
- String serviceGroupIds = "";
+ long start = System.currentTimeMillis();
- // 删除操作后获取 ①需配置更新的分组(存在域配置)②需配置取消的分组(无域配置)-> 配置分别操作更新或取消
- List<IpCommCfg> set = ipCommGroupCfgDao.getGroupIds(cfg);
- if(set.size() == 0) { // 无可删除配置
- return;
- }else {
- for (IpCommCfg ipCommCfg : set) {
- Integer groupId = ipCommCfg.getGroupId();
- cfgIds += ","+ipCommCfg.getCfgId();
- if(!serviceGroupIds.contains(groupId+"")) {
- serviceGroupIds += ","+groupId;
- }
- }
- cfgIds = cfgIds.substring(1);
- serviceGroupIds = serviceGroupIds.substring(1);
- }
- ipCommGroupCfgDao.delete(cfgIds);
-
- String[] strings = serviceGroupIds.split(",");
- serviceGroupIds = "";
- for (String groupId : strings) {
- Integer size = ipCommGroupCfgDao.getCfgInfoByGroupIds(groupId);
- if(size == 0) { // 需配置取消
- serviceGroupIds += ","+groupId;
- }else { // 需配置更新
- groupIds += ","+groupId;
- }
+ Page<IpCommCfg> page = new Page<IpCommCfg>(request, response, "r");
+ page.setOrderBy("");
+ page.setPageSize(Constants.MAAT_JSON_SEND_SIZE);
+ page.setPageNo(1);
+ page.setLastPage(false);
+
+ boolean hasData = true;
+ while(hasData){
+ page.setPageNo(1);
+ page.setLastPage(false);
+ cfg.setIsValid(null);
+
+ List<IpCommCfg> list = this.findPage(page, cfg).getList();
+ if(!StringUtil.isEmpty(list)) {
+ groupIds = "";
+ String cfgIds = "";
+ String serviceGroupIds = "";
+
+ for (IpCommCfg ipCommCfg : list) {
+ Integer groupId = ipCommCfg.getGroupId();
+ cfgIds += ","+ipCommCfg.getCfgId();
+ if(!serviceGroupIds.contains(groupId+"")) {
+ serviceGroupIds += ","+groupId;
+ }
+ }
+ cfgIds = cfgIds.substring(1);
+ serviceGroupIds = serviceGroupIds.substring(1);
+ ipCommGroupCfgDao.delete(cfgIds);
+
+ // 删除操作后获取 ①需配置更新的分组(存在域配置)②需配置取消的分组(无域配置)-> 配置分别操作更新或取消
+ String[] strings = serviceGroupIds.split(",");
+ serviceGroupIds = "";
+ for (String groupId : strings) {
+ Integer size = ipCommGroupCfgDao.getCfgInfoByGroupIds(groupId);
+ if(size == 0) { // 需配置取消
+ boolean flag = groupManageService.checkCancelCfg(groupId, Constants.IP_OBJ_GROUP_TYPE);
+ if(flag) { // 需配置更新
+ serviceGroupIds += ","+groupId;
+ }else {
+ groupIds += ","+groupId;
+ }
+ }else { // 需配置更新
+ groupIds += ","+groupId;
+ }
+ }
+
+ // 配置取消
+ if(StringUtils.isNotBlank(serviceGroupIds)) {
+ serviceGroupIds = serviceGroupIds.substring(1);
+ ObjectGroupController groupController = SpringContextHolder.getBean(ObjectGroupController.class);
+ Page<CfgIndexInfo> auditPage = new Page<CfgIndexInfo>(request,response,"r");
+ Properties props = groupController.getMsgProp();
+
+ // 组下无域配置common_group_ids -> "",ud_flag -> 0
+ CfgIndexInfo entity = new CfgIndexInfo();
+ entity.setUserRegion5(serviceGroupIds);
+ entity.setFunctionId(888);
+ entity.setCommonGroupIds("");
+ commonPolicyDao.updateCfgIndexCommonGroupIdsBatch(entity);
+ List<PolicyGroupInfo> policyGroupInfos=policyGroupInfoDao.findPolicyByServiceGroupInfoList(serviceGroupIds);
+ groupManageService.updateGroupStatus(policyGroupInfos, Constants.IP_OBJ_GROUP_TYPE);
+
+ entity.setServiceId(0);
+ entity.setIsValid(Constants.VALID_NO);
+ entity.setIsAudit(Constants.AUDIT_NOT_YES);
+ entity.setBatchAuditValue("1");
+ entity.setBatchValidValue("1,0");
+ groupController.auditAll(auditPage, Constants.AUDIT_NOT_YES, entity, props);
+ }
+ // 配置更新
+ if(StringUtils.isNotBlank(groupIds)) {
+ groupIds = groupIds.substring(1);
+ List<PolicyGroupInfo> policyGroupInfos = policyGroupInfoDao.findPolicyByServiceGroupInfoList(groupIds);
+ groupManageService.updateGroupStatus(policyGroupInfos, Constants.IP_OBJ_GROUP_TYPE);
+ transObjGroupToMaat(policyGroupInfos);
+ }
+ }else {
+ hasData = false;
+ }
}
-
+
+ /*
// 配置取消
if(StringUtils.isNotBlank(serviceGroupIds)) {
serviceGroupIds = serviceGroupIds.substring(1);
@@ -187,7 +240,7 @@ public class IpCommGroupCfgService extends BaseService {
Properties props = groupController.getMsgProp();
// 配置未生效
- /*String updateStatusGroupIds = "";
+ String updateStatusGroupIds = "";
for (String groupId : serviceGroupIds.split(",")) {
List<CfgIndexInfo> list = commonPolicyDao.getObjGroupListByGroupIds(groupId, 888, Constants.VALID_NO);
if(list.size() > 0) {
@@ -205,7 +258,7 @@ public class IpCommGroupCfgService extends BaseService {
List<PolicyGroupInfo> policyGroupInfos=policyGroupInfoDao.findPolicyByServiceGroupInfoList(updateStatusGroupIds);
groupManageService.updateGroupStatus(policyGroupInfos, Constants.IP_OBJ_GROUP_TYPE);
- }*/
+ }
// 配置已生效×
// 组下无域配置common_group_ids -> "",ud_flag -> 0
@@ -224,12 +277,10 @@ public class IpCommGroupCfgService extends BaseService {
entity.setBatchValidValue("1,0");
groupController.auditAll(auditPage, Constants.AUDIT_NOT_YES, entity, props);
}
- // 配置更新
- if(StringUtils.isNotBlank(groupIds)) {
- groupIds = groupIds.substring(1);
- List<PolicyGroupInfo> policyGroupInfos = policyGroupInfoDao.findPolicyByServiceGroupInfoList(groupIds);
- transObjGroupToMaat(policyGroupInfos);
- }
+ */
+
+ long end = System.currentTimeMillis();
+ logger.warn("IP组域配置批量删除耗时:"+(end-start));
}else {
List<PolicyGroupInfo> policyGroupInfos = policyGroupInfoDao.findPolicyByServiceGroupInfoList(groupIds);
@@ -241,7 +292,7 @@ public class IpCommGroupCfgService extends BaseService {
}
}
- @Transactional(readOnly=false,rollbackFor=RuntimeException.class)
+ @Transactional(readOnly=false,rollbackFor=RuntimeException.class)
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();
@@ -344,5 +395,10 @@ public class IpCommGroupCfgService extends BaseService {
return resultList;
}
+
+ private void checkCancelCfg() {
+ // TODO Auto-generated method stub
+
+ }
} \ No newline at end of file
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 5de22d802..843938c1d 100644
--- a/src/main/java/com/nis/web/service/basics/ScriberIdCommGroupService.java
+++ b/src/main/java/com/nis/web/service/basics/ScriberIdCommGroupService.java
@@ -29,6 +29,7 @@ import com.nis.domain.configuration.CfgIndexInfo;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.ConfigServiceUtil;
import com.nis.util.Constants;
+import com.nis.util.StringUtil;
import com.nis.util.StringUtils;
import com.nis.web.controller.configuration.ObjectGroupController;
import com.nis.web.dao.CrudDao;
@@ -154,90 +155,95 @@ public class ScriberIdCommGroupService extends CrudService<CrudDao<ScriberIdComm
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public void delete(String ids, String groupIds, ScriberIdCommCfg cfg, HttpServletRequest request, HttpServletResponse response) throws Exception {
if(ids == null) {
- groupIds = "";
- String cfgIds = "";
- String serviceGroupIds = "";
+ long start = System.currentTimeMillis();
- // 删除操作后获取 ①需配置更新的分组(存在域配置)②需配置取消的分组(无域配置) -> 配置分别操作更新或取消
- List<ScriberIdCommCfg> set = scriberIdCommGroupDao.getGroupIds(cfg);
- if(set.size() == 0) { // 无可删除配置
- return;
- }else {
- for (ScriberIdCommCfg scriberIdCommCfg : set) {
- Integer groupId = scriberIdCommCfg.getGroupId();
- cfgIds += ","+scriberIdCommCfg.getCfgId();
- if(!serviceGroupIds.contains(groupId+"")) {
- serviceGroupIds += ","+groupId;
- }
- }
- cfgIds = cfgIds.substring(1);
- serviceGroupIds = serviceGroupIds.substring(1);
- }
- scriberIdCommGroupDao.delete(cfgIds);
-
- String[] strings = serviceGroupIds.split(",");
- serviceGroupIds = "";
- for (String groupId : strings) {
- Integer size = scriberIdCommGroupDao.getCfgInfoByGroupIds(groupId);
- if(size == 0) { // 需配置取消
- serviceGroupIds += ","+groupId;
- }else { // 需配置更新
- groupIds += ","+groupId;
- }
- }
-
- // 配置取消
- if(StringUtils.isNotBlank(serviceGroupIds)) {
- serviceGroupIds = serviceGroupIds.substring(1);
- ObjectGroupController groupController = SpringContextHolder.getBean(ObjectGroupController.class);
- Page<CfgIndexInfo> auditPage = new Page<CfgIndexInfo>(request,response,"r");
- Properties props = groupController.getMsgProp();
-
- // 配置未生效
- /*String updateStatusGroupIds = "";
- for (String groupId : serviceGroupIds.split(",")) {
- List<CfgIndexInfo> list = commonPolicyDao.getObjGroupListByGroupIds(groupId, 888, Constants.VALID_NO);
- if(list.size() > 0) {
- updateStatusGroupIds += ","+groupId;
- }
+ Page<ScriberIdCommCfg> page = new Page<ScriberIdCommCfg>(request, response, "r");
+ page.setOrderBy("");
+ page.setPageSize(Constants.MAAT_JSON_SEND_SIZE);
+ page.setPageNo(1);
+ page.setLastPage(false);
+
+ boolean hasData = true;
+ while(hasData){
+ page.setPageNo(1);
+ page.setLastPage(false);
+ cfg.setIsValid(null);
+
+ List<ScriberIdCommCfg> list = this.findPage(page, cfg).getList();
+ if(!StringUtil.isEmpty(list)) {
+ groupIds = "";
+ String cfgIds = "";
+ String serviceGroupIds = "";
+
+ for (ScriberIdCommCfg scriberIdCommCfg : list) {
+ Integer groupId = scriberIdCommCfg.getGroupId();
+ cfgIds += ","+scriberIdCommCfg.getCfgId();
+ if(!serviceGroupIds.contains(groupId+"")) {
+ serviceGroupIds += ","+groupId;
+ }
+ }
+ cfgIds = cfgIds.substring(1);
+ serviceGroupIds = serviceGroupIds.substring(1);
+ scriberIdCommGroupDao.delete(cfgIds);
+
+ // 删除操作后获取 ①需配置更新的分组(存在域配置)②需配置取消的分组(无域配置) -> 配置分别操作更新或取消
+ String[] strings = serviceGroupIds.split(",");
+ serviceGroupIds = "";
+ for (String groupId : strings) {
+ Integer size = scriberIdCommGroupDao.getCfgInfoByGroupIds(groupId);
+ if(size == 0) { // 需配置取消
+ boolean flag = groupManageService.checkCancelCfg(groupId, Constants.SUBID_OBJ_GROUP_TYPE);
+ if(flag) { // 需配置更新
+ serviceGroupIds += ","+groupId;
+ }else {
+ groupIds += ","+groupId;
+ }
+ }else { // 需配置更新
+ groupIds += ","+groupId;
+ }
+ }
+
+ // 配置取消
+ if(StringUtils.isNotBlank(serviceGroupIds)) {
+ serviceGroupIds = serviceGroupIds.substring(1);
+ ObjectGroupController groupController = SpringContextHolder.getBean(ObjectGroupController.class);
+ Page<CfgIndexInfo> auditPage = new Page<CfgIndexInfo>(request,response,"r");
+ Properties props = groupController.getMsgProp();
+
+ // 组下无域配置common_group_ids -> "",ud_flag -> 0
+ CfgIndexInfo entity = new CfgIndexInfo();
+ entity.setUserRegion5(serviceGroupIds);
+ entity.setFunctionId(888);
+ entity.setCommonGroupIds("");
+ commonPolicyDao.updateCfgIndexCommonGroupIdsBatch(entity);
+ List<PolicyGroupInfo> policyGroupInfos=policyGroupInfoDao.findPolicyByServiceGroupInfoList(serviceGroupIds);
+ groupManageService.updateGroupStatus(policyGroupInfos, Constants.SUBID_OBJ_GROUP_TYPE);
+
+ entity.setServiceId(0);
+ entity.setIsValid(Constants.VALID_NO);
+ entity.setIsAudit(Constants.AUDIT_NOT_YES);
+ entity.setBatchAuditValue("1");
+ entity.setBatchValidValue("1,0");
+ groupController.auditAll(auditPage, Constants.AUDIT_NOT_YES, entity, props);
+ }
+ // 配置更新
+ if(StringUtils.isNotBlank(groupIds)) {
+ groupIds = groupIds.substring(1);
+ List<PolicyGroupInfo> policyGroupInfos = policyGroupInfoDao.findPolicyByServiceGroupInfoList(groupIds);
+ groupManageService.updateGroupStatus(policyGroupInfos, Constants.SUBID_OBJ_GROUP_TYPE);
+ transObjGroupToMaat(policyGroupInfos);
+ }
+
+ }else {
+ hasData = false;
+
}
- if(StringUtils.isNotBlank(updateStatusGroupIds)) {
- updateStatusGroupIds = updateStatusGroupIds.substring(1);
- CfgIndexInfo entity = new CfgIndexInfo();
- entity.setUserRegion5(updateStatusGroupIds);
- entity.setFunctionId(888);
- entity.setCommonGroupIds("");
- entity.setIsValid(Constants.VALID_NO);
- commonPolicyDao.updateCfgIndexCommonGroupIdsBatch(entity);
-
- List<PolicyGroupInfo> policyGroupInfos=policyGroupInfoDao.findPolicyByServiceGroupInfoList(updateStatusGroupIds);
- groupManageService.updateGroupStatus(policyGroupInfos, Constants.SUBID_OBJ_GROUP_TYPE);
- }*/
-
- // 配置已生效×
- // 组下无域配置common_group_ids -> "",ud_flag -> 0
- CfgIndexInfo entity = new CfgIndexInfo();
- entity.setUserRegion5(serviceGroupIds);
- entity.setFunctionId(888);
- entity.setCommonGroupIds("");
- commonPolicyDao.updateCfgIndexCommonGroupIdsBatch(entity);
- List<PolicyGroupInfo> policyGroupInfos=policyGroupInfoDao.findPolicyByServiceGroupInfoList(serviceGroupIds);
- groupManageService.updateGroupStatus(policyGroupInfos, Constants.SUBID_OBJ_GROUP_TYPE);
-
- entity.setServiceId(0);
- entity.setIsValid(Constants.VALID_NO);
- entity.setIsAudit(Constants.AUDIT_NOT_YES);
- entity.setBatchAuditValue("1");
- entity.setBatchValidValue("1,0");
- groupController.auditAll(auditPage, Constants.AUDIT_NOT_YES, entity, props);
- }
- // 配置更新
- if(StringUtils.isNotBlank(groupIds)) {
- groupIds = groupIds.substring(1);
- List<PolicyGroupInfo> policyGroupInfos = policyGroupInfoDao.findPolicyByServiceGroupInfoList(groupIds);
- transObjGroupToMaat(policyGroupInfos);
- }
-
+
+ }
+
+ long end = System.currentTimeMillis();
+ logger.warn("账号组域配置,批量删除耗时:"+(end-start));
+
}else {
List<PolicyGroupInfo> policyGroupInfos=policyGroupInfoDao.findPolicyByServiceGroupInfoList(groupIds);
scriberIdCommGroupDao.delete(ids);
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 ee87c3430..d3cddea19 100644
--- a/src/main/java/com/nis/web/service/basics/UrlCommGroupService.java
+++ b/src/main/java/com/nis/web/service/basics/UrlCommGroupService.java
@@ -29,6 +29,7 @@ import com.nis.domain.configuration.CfgIndexInfo;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.ConfigServiceUtil;
import com.nis.util.Constants;
+import com.nis.util.StringUtil;
import com.nis.util.StringUtils;
import com.nis.web.controller.configuration.ObjectGroupController;
import com.nis.web.dao.CrudDao;
@@ -154,89 +155,92 @@ public class UrlCommGroupService extends CrudService<CrudDao<UrlCommCfg>, UrlCom
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public void delete(String ids, String groupIds, UrlCommCfg cfg, HttpServletRequest request, HttpServletResponse response) throws Exception {
if(ids == null) {
- groupIds = "";
- String cfgIds = "";
- String serviceGroupIds = "";
-
- // 删除操作后获取 ①需配置更新的分组(存在域配置)②需配置取消的分组(无域配置) -> 配置分别操作更新或取消
- List<UrlCommCfg> set = urlCommGroupDao.getGroupIds(cfg);
- if(set.size() == 0) { // 无可删除配置
- return;
- }else {
- for (UrlCommCfg urlCommCfg : set) {
- Integer groupId = urlCommCfg.getGroupId();
- cfgIds += ","+urlCommCfg.getCfgId();
- if(!serviceGroupIds.contains(groupId+"")) {
- serviceGroupIds += ","+groupId;
- }
- }
- cfgIds = cfgIds.substring(1);
- serviceGroupIds = serviceGroupIds.substring(1);
- }
- urlCommGroupDao.delete(cfgIds);
+ long start = System.currentTimeMillis();
- String[] strings = serviceGroupIds.split(",");
- serviceGroupIds = "";
- for (String groupId : strings) {
- Integer size = urlCommGroupDao.getCfgInfoByGroupIds(groupId);
- if(size == 0) { // 需配置取消
- serviceGroupIds += ","+groupId;
- }else { // 需配置更新
- groupIds += ","+groupId;
- }
- }
+ Page<UrlCommCfg> page = new Page<UrlCommCfg>(request, response, "r");
+ page.setOrderBy("");
+ page.setPageSize(Constants.MAAT_JSON_SEND_SIZE);
+ page.setPageNo(1);
+ page.setLastPage(false);
- // 配置取消
- if(StringUtils.isNotBlank(serviceGroupIds)) {
- serviceGroupIds = serviceGroupIds.substring(1);
- ObjectGroupController groupController = SpringContextHolder.getBean(ObjectGroupController.class);
- Page<CfgIndexInfo> auditPage = new Page<CfgIndexInfo>(request,response,"r");
- Properties props = groupController.getMsgProp();
-
- // 配置未生效
- /*String updateStatusGroupIds = "";
- for (String groupId : serviceGroupIds.split(",")) {
- List<CfgIndexInfo> list = commonPolicyDao.getObjGroupListByGroupIds(groupId, 888, Constants.VALID_NO);
- if(list.size() > 0) {
- updateStatusGroupIds += ","+groupId;
- }
+ boolean hasData = true;
+ while(hasData){
+ page.setPageNo(1);
+ page.setLastPage(false);
+ cfg.setIsValid(null);
+
+ List<UrlCommCfg> list = this.findPage(page, cfg).getList();
+ if(!StringUtil.isEmpty(list)) {
+ groupIds = "";
+ String cfgIds = "";
+ String serviceGroupIds = "";
+
+ for (UrlCommCfg urlCommCfg : list) {
+ Integer groupId = urlCommCfg.getGroupId();
+ cfgIds += ","+urlCommCfg.getCfgId();
+ if(!serviceGroupIds.contains(groupId+"")) {
+ serviceGroupIds += ","+groupId;
+ }
+ }
+ cfgIds = cfgIds.substring(1);
+ serviceGroupIds = serviceGroupIds.substring(1);
+ urlCommGroupDao.delete(cfgIds);
+
+ // 删除操作后获取 ①需配置更新的分组(存在域配置)②需配置取消的分组(无域配置) -> 配置分别操作更新或取消
+ String[] strings = serviceGroupIds.split(",");
+ serviceGroupIds = "";
+ for (String groupId : strings) {
+ Integer size = urlCommGroupDao.getCfgInfoByGroupIds(groupId);
+ if(size == 0) { // 需配置取消
+ boolean flag = groupManageService.checkCancelCfg(groupId, Constants.URL_OBJ_GROUP_TYPE);
+ if(flag) { // 需配置更新
+ serviceGroupIds += ","+groupId;
+ }else {
+ groupIds += ","+groupId;
+ }
+ }else { // 需配置更新
+ groupIds += ","+groupId;
+ }
+ }
+
+ // 配置取消
+ if(StringUtils.isNotBlank(serviceGroupIds)) {
+ serviceGroupIds = serviceGroupIds.substring(1);
+ ObjectGroupController groupController = SpringContextHolder.getBean(ObjectGroupController.class);
+ Page<CfgIndexInfo> auditPage = new Page<CfgIndexInfo>(request,response,"r");
+ Properties props = groupController.getMsgProp();
+
+ // 组下无域配置common_group_ids -> "",ud_flag -> 0
+ CfgIndexInfo entity = new CfgIndexInfo();
+ entity.setUserRegion5(serviceGroupIds);
+ entity.setFunctionId(888);
+ entity.setCommonGroupIds("");
+ commonPolicyDao.updateCfgIndexCommonGroupIdsBatch(entity);
+ List<PolicyGroupInfo> policyGroupInfos=policyGroupInfoDao.findPolicyByServiceGroupInfoList(serviceGroupIds);
+ groupManageService.updateGroupStatus(policyGroupInfos, Constants.URL_OBJ_GROUP_TYPE);
+
+ entity.setServiceId(0);
+ entity.setIsValid(Constants.VALID_NO);
+ entity.setIsAudit(Constants.AUDIT_NOT_YES);
+ entity.setBatchAuditValue("1");
+ entity.setBatchValidValue("1,0");
+ groupController.auditAll(auditPage, Constants.AUDIT_NOT_YES, entity, props);
+ }
+ // 配置更新
+ if(StringUtils.isNotBlank(groupIds)) {
+ groupIds = groupIds.substring(1);
+ List<PolicyGroupInfo> policyGroupInfos = policyGroupInfoDao.findPolicyByServiceGroupInfoList(groupIds);
+ groupManageService.updateGroupStatus(policyGroupInfos, Constants.URL_OBJ_GROUP_TYPE);
+ transObjGroupToMaat(policyGroupInfos);
+ }
+
+ }else {
+ hasData = false;
}
- if(StringUtils.isNotBlank(updateStatusGroupIds)) {
- updateStatusGroupIds = updateStatusGroupIds.substring(1);
- CfgIndexInfo entity = new CfgIndexInfo();
- entity.setUserRegion5(updateStatusGroupIds);
- entity.setFunctionId(888);
- entity.setCommonGroupIds("");
- entity.setIsValid(Constants.VALID_NO);
- commonPolicyDao.updateCfgIndexCommonGroupIdsBatch(entity);
-
- List<PolicyGroupInfo> policyGroupInfos=policyGroupInfoDao.findPolicyByServiceGroupInfoList(updateStatusGroupIds);
- groupManageService.updateGroupStatus(policyGroupInfos, Constants.URL_OBJ_GROUP_TYPE);
- }*/
-
- // 配置已生效×
- // 组下无域配置common_group_ids -> "",ud_flag -> 0
- CfgIndexInfo entity = new CfgIndexInfo();
- entity.setUserRegion5(serviceGroupIds);
- entity.setFunctionId(888);
- entity.setCommonGroupIds("");
- commonPolicyDao.updateCfgIndexCommonGroupIdsBatch(entity);
- List<PolicyGroupInfo> policyGroupInfos=policyGroupInfoDao.findPolicyByServiceGroupInfoList(serviceGroupIds);
- groupManageService.updateGroupStatus(policyGroupInfos, Constants.URL_OBJ_GROUP_TYPE);
-
- entity.setServiceId(0);
- entity.setIsValid(Constants.VALID_NO);
- entity.setIsAudit(Constants.AUDIT_NOT_YES);
- entity.setBatchAuditValue("1");
- entity.setBatchValidValue("1,0");
- groupController.auditAll(auditPage, Constants.AUDIT_NOT_YES, entity, props);
- }
- // 配置更新
- if(StringUtils.isNotBlank(groupIds)) {
- groupIds = groupIds.substring(1);
- List<PolicyGroupInfo> policyGroupInfos = policyGroupInfoDao.findPolicyByServiceGroupInfoList(groupIds);
- transObjGroupToMaat(policyGroupInfos);
- }
+ }
+
+ long end = System.currentTimeMillis();
+ logger.warn("URL组域配置,批量删除耗时:"+(end-start));
}else {
List<PolicyGroupInfo> policyGroupInfos=policyGroupInfoDao.findPolicyByServiceGroupInfoList(groupIds);