diff --git a/src/main/java/com/nis/domain/basics/IpCommCfg.java b/src/main/java/com/nis/domain/basics/IpCommCfg.java index 5ef21dceb..b5eca72e2 100644 --- a/src/main/java/com/nis/domain/basics/IpCommCfg.java +++ b/src/main/java/com/nis/domain/basics/IpCommCfg.java @@ -21,7 +21,7 @@ public class IpCommCfg extends BaseCfg { super(); // TODO Auto-generated constructor stub } - private String indexTable="ip_comm_cfg"; + private static String indexTable="ip_comm_cfg"; /** * ip类型 */ diff --git a/src/main/java/com/nis/util/Constants.java b/src/main/java/com/nis/util/Constants.java index bf5e9ccab..9e3729128 100644 --- a/src/main/java/com/nis/util/Constants.java +++ b/src/main/java/com/nis/util/Constants.java @@ -8,6 +8,13 @@ import java.util.regex.Pattern; import com.google.gson.GsonBuilder; public final class Constants { + /** + * obj group list group type + */ + public static Integer IP_OBJ_GROUP_TYPE=Configurations.getIntProperty("ip_obj_group_type", 5); + public static Integer URL_OBJ_GROUP_TYPE=Configurations.getIntProperty("url_obj_group_type", 7); + public static Integer SUBID_OBJ_GROUP_TYPE=Configurations.getIntProperty("subid_obj_group_type", 8); + public static Integer DOMAIN_OBJ_GROUP_TYPE=Configurations.getIntProperty("domain_obj_group_type", 9); /** * 导入条数限制 */ @@ -837,6 +844,6 @@ public final class Constants { * HTTP(S)操控日志接口 */ public static final String POLICY_EVENT=Configurations.getStringProperty("policyevent","policyevent"); - - + + } diff --git a/src/main/java/com/nis/web/dao/basics/IpCommGroupCfgDao.xml b/src/main/java/com/nis/web/dao/basics/IpCommGroupCfgDao.xml index 466404d5b..c7eb7f698 100644 --- a/src/main/java/com/nis/web/dao/basics/IpCommGroupCfgDao.xml +++ b/src/main/java/com/nis/web/dao/basics/IpCommGroupCfgDao.xml @@ -522,4 +522,138 @@ WHERE group_id= #{groupId} and is_valid=1 + \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/basics/PolicyGroupInfoDao.java b/src/main/java/com/nis/web/dao/basics/PolicyGroupInfoDao.java index 26cb0e9ec..18841919b 100644 --- a/src/main/java/com/nis/web/dao/basics/PolicyGroupInfoDao.java +++ b/src/main/java/com/nis/web/dao/basics/PolicyGroupInfoDao.java @@ -26,4 +26,10 @@ public interface PolicyGroupInfoDao extends CrudDao { PolicyGroupInfo getGroupInfo(PolicyGroupInfo policyGroupInfo); List findPolicyByGroupInfoList(@Param("ids")String ids); + List findPolicyByGroupInfoListByGroupIds(@Param("serviceGroupIds")String ids); + List findPolicyGroupInfosByTypeForUD(@Param("groupType")Integer groupType,@Param("flag")Integer flag); + List findLimitedPolicyGroupInfosByTypeForUD(@Param("groupType")Integer groupType,@Param("flag")Integer flag,@Param("limit")Integer limit); + void updateUdFlag(@Param("groupIds")String groupIds,@Param("udFlag")int udFlag,@Param("groupType")Integer groupType); + List findPolicyByServiceGroupInfoList(@Param("ids")String ids); + } \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/basics/PolicyGroupInfoDao.xml b/src/main/java/com/nis/web/dao/basics/PolicyGroupInfoDao.xml index edaba3469..3fdd0ac5f 100644 --- a/src/main/java/com/nis/web/dao/basics/PolicyGroupInfoDao.xml +++ b/src/main/java/com/nis/web/dao/basics/PolicyGroupInfoDao.xml @@ -17,7 +17,7 @@ r.group_id,r.group_name,r.group_type,r.is_valid,r.create_time,r.edit_time, - r.creator_id,r.editor_id,r.service_group_id,r.asn_no,r.description + r.creator_id,r.editor_id,r.service_group_id,r.asn_no,r.description,r.ud_flag @@ -266,6 +266,64 @@ WHERE r.group_id IN (${ids}) - - + + + + + + + + UPDATE policy_group_info SET ud_flag =#{udFlag} + WHERE service_group_id in (${groupIds}) + + and group_type=#{groupType} + + + + \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/basics/UrlCommGroupDao.xml b/src/main/java/com/nis/web/dao/basics/UrlCommGroupDao.xml index 19eb509a5..137d9528d 100644 --- a/src/main/java/com/nis/web/dao/basics/UrlCommGroupDao.xml +++ b/src/main/java/com/nis/web/dao/basics/UrlCommGroupDao.xml @@ -393,4 +393,84 @@ WHERE user_region3= #{groupId} and is_valid=1 + 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 5a2d8a82f..4213ec3a3 100644 --- a/src/main/java/com/nis/web/service/basics/CommonGroupManageService.java +++ b/src/main/java/com/nis/web/service/basics/CommonGroupManageService.java @@ -7,6 +7,7 @@ import java.util.List; import java.util.Map; import java.util.Set; +import com.nis.domain.basics.PolicyGroupInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -110,28 +111,39 @@ public class CommonGroupManageService extends BaseService{ /** * 更新分组状态 policy_group_info ud_flag:0(无有效的域配置) 1(存在有效的域配置) - * @param serviceGroupId + * @param policyGroupInfos * @param groupType */ - public void updateGroupStatus(String serviceGroupId, Integer groupType) { + public void updateGroupStatus(List policyGroupInfos, Integer groupType) { /** * void updateUdFlag(String groupIds, Integer udFlag, Integer groupType); */ - - Integer udFlag = 0; - if(groupType == 5) { // IP - List list = ipCommGroupCfgDao.getCfgInfoByGroupIds(serviceGroupId); - if(list.size() > 0) { - udFlag = 1; // 可用 + for(PolicyGroupInfo info:policyGroupInfos){ + boolean update=false; + Integer udFlag = 0; + if(groupType == 5) { // IP + List list = ipCommGroupCfgDao.getCfgInfoByGroupIds(info.getServiceGroupId().toString()); + if(list.size() > 0&&info.getUdFlag().equals(0)) { + update=true; + udFlag = 1; // 可用 + }else if(list.size()==0&&info.getUdFlag().equals(2)){ + update=true; + } + }else if(groupType == 7) { // URL + List list = urlCommGroupDao.getCfgInfoByGroupIds(info.getServiceGroupId().toString()); + if(list.size() > 0&&info.getUdFlag().equals(0)) { + update=true; + udFlag = 1; + }else if(list.size()==0&&info.getUdFlag().equals(2)){ + update=true; + } } - }else if(groupType == 7) { // URL - List list = urlCommGroupDao.getCfgInfoByGroupIds(serviceGroupId); - if(list.size() > 0) { - udFlag = 1; + if(update){ + commonGroupManageDao.updateGroupStatus(info.getServiceGroupId().toString(), udFlag, groupType); } } - commonGroupManageDao.updateGroupStatus(serviceGroupId, udFlag, groupType); + } - + } 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 b430fcffc..4fbad4cfa 100644 --- a/src/main/java/com/nis/web/service/basics/IpCommGroupCfgService.java +++ b/src/main/java/com/nis/web/service/basics/IpCommGroupCfgService.java @@ -5,6 +5,8 @@ import java.util.Date; import java.util.List; import java.util.Map; +import com.nis.domain.basics.PolicyGroupInfo; +import com.nis.web.dao.basics.PolicyGroupInfoDao; import org.apache.commons.collections.CollectionUtils; import org.apache.ibatis.session.ExecutorType; import org.apache.ibatis.session.SqlSession; @@ -32,9 +34,11 @@ public class IpCommGroupCfgService extends BaseService { @Autowired private IpCommGroupCfgDao ipCommGroupCfgDao; - + @Autowired + private PolicyGroupInfoDao policyGroupInfoDao; + private CommonGroupManageService groupManageService = SpringContextHolder.getBean(CommonGroupManageService.class); - + /** * @param page * @param entity @@ -69,11 +73,13 @@ public class IpCommGroupCfgService extends BaseService { } @Transactional(readOnly=false,rollbackFor=RuntimeException.class) public void update(IpCommCfg entity){ + List policyGroupInfosOld=policyGroupInfoDao.findPolicyByServiceGroupInfoList(entity.getUserRegion1()); + List policyGroupInfosNew=policyGroupInfoDao.findPolicyByServiceGroupInfoList(entity.getGroupId().toString()); ipCommGroupCfgDao.update(entity); // 更新分组状态 - groupManageService.updateGroupStatus(entity.getUserRegion1(), 5); // old - groupManageService.updateGroupStatus(entity.getGroupId()+"", 5); // new - + groupManageService.updateGroupStatus(policyGroupInfosOld, 5); // old + groupManageService.updateGroupStatus(policyGroupInfosNew, 5); // new + } @@ -87,10 +93,10 @@ public class IpCommGroupCfgService extends BaseService { //新增 @Transactional(readOnly=false,rollbackFor=RuntimeException.class) public void saveIpCommGroupCfg(CfgIndexInfo entity) { - //TODO 组配置更新时 需检索是否被其它配置引用,若被引用需调用相应服务接口更新配置 - + Date createTime=new Date(); if(CollectionUtils.isNotEmpty(entity.getIpCommGroupCfgList())) { + List policyGroupInfos=policyGroupInfoDao.findPolicyByServiceGroupInfoList(entity.getGroupId().toString()); for (int i = 0; i < entity.getIpCommGroupCfgList().size(); i++) { BeanUtils.copyProperties(entity, entity.getIpCommGroupCfgList().get(i), new String[]{"cfgId","userregion3"}); Integer regionId = 0; @@ -113,19 +119,22 @@ public class IpCommGroupCfgService extends BaseService { ipCommGroupCfgDao.insertForBatch(entity.getIpCommGroupCfgList().get(i)); } // 更新分组状态 - groupManageService.updateGroupStatus(entity.getGroupId()+"", 5); - + groupManageService.updateGroupStatus(policyGroupInfos, 5); + //TODO 组配置更新时 需检索是否被其它配置引用,若被引用需调用相应服务接口更新配置 + //transObjGroupToMaat(policyGroupInfos); } - + } public void delete(String ids, String compileIds) { + List policyGroupInfos=policyGroupInfoDao.findPolicyByServiceGroupInfoList(compileIds); if(ids==null) { throw new RuntimeException("ids is null!"); } ipCommGroupCfgDao.delete(ids); // 更新分组状态 - groupManageService.updateGroupStatus(compileIds, 5); + groupManageService.updateGroupStatus(policyGroupInfos, 5); + //transObjGroupToMaat(policyGroupInfos); } @Transactional(readOnly=false,rollbackFor=RuntimeException.class) @@ -174,5 +183,4 @@ public class IpCommGroupCfgService extends BaseService { cfgs.clear(); cfgs=null; } - } \ No newline at end of file diff --git a/src/main/java/com/nis/web/service/basics/PolicyGroupInfoService.java b/src/main/java/com/nis/web/service/basics/PolicyGroupInfoService.java index 4ccf12ee6..ed50904d6 100644 --- a/src/main/java/com/nis/web/service/basics/PolicyGroupInfoService.java +++ b/src/main/java/com/nis/web/service/basics/PolicyGroupInfoService.java @@ -173,5 +173,19 @@ public class PolicyGroupInfoService extends BaseService{ public PolicyGroupInfo getGroupInfo(PolicyGroupInfo policyGroupInfo){ return policyGroupInfoDao.getGroupInfo(policyGroupInfo); } - + /** + * 公共组相关功能使用 + */ + public List findPolicyGroupInfosByTypeforUD(Integer type,Integer flag) { + List list=policyGroupInfoDao.findPolicyGroupInfosByTypeForUD(type,flag); + return list; + } + public List findPolicyGroupInfosByTypeforUD(Integer type,Integer flag,Integer limit) { + List list=policyGroupInfoDao.findLimitedPolicyGroupInfosByTypeForUD(type,flag,limit); + return list; + } + + public List findPolicyByServiceGroupInfoList(String serviceGroupIds) { + return policyGroupInfoDao.findPolicyByServiceGroupInfoList(serviceGroupIds); + } } 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 5b19b9ee8..2ebcac49f 100644 --- a/src/main/java/com/nis/web/service/basics/UrlCommGroupService.java +++ b/src/main/java/com/nis/web/service/basics/UrlCommGroupService.java @@ -3,6 +3,8 @@ package com.nis.web.service.basics; import java.util.Date; import java.util.List; +import com.nis.domain.basics.PolicyGroupInfo; +import com.nis.web.dao.basics.PolicyGroupInfoDao; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -24,7 +26,8 @@ public class UrlCommGroupService extends CrudService, UrlCom @Autowired private UrlCommGroupDao urlCommGroupDao; - + @Autowired + private PolicyGroupInfoDao policyGroupInfoDao; private CommonGroupManageService groupManageService = SpringContextHolder.getBean(CommonGroupManageService.class); public Page findPage(Page page, UrlCommCfg entity) { @@ -52,6 +55,7 @@ public class UrlCommGroupService extends CrudService, UrlCom @Transactional(readOnly=false,rollbackFor=RuntimeException.class) public void saveUrlCommGroupCfg(CfgIndexInfo entity) { Date createTime=new Date(); + List policyGroupInfos=policyGroupInfoDao.findPolicyByServiceGroupInfoList(entity.getGroupId().toString()); if(entity.getUrlCommGroupList()!=null) { for (int i = 0; i < entity.getUrlCommGroupList().size(); i++) { BeanUtils.copyProperties(entity, entity.getUrlCommGroupList().get(i), new String[]{"cfgId"}); @@ -82,7 +86,7 @@ public class UrlCommGroupService extends CrudService, UrlCom urlCommGroupDao.insertUrlCommGroupCfg(entity.getUrlCommGroupList().get(i)); } // 更新分组状态 - groupManageService.updateGroupStatus(entity.getGroupId()+"", 7); + groupManageService.updateGroupStatus(policyGroupInfos, 7); } } @@ -100,10 +104,11 @@ public class UrlCommGroupService extends CrudService, UrlCom entity.setExprType(0); } urlCommGroupDao.update(entity); - + List policyGroupInfosOld=policyGroupInfoDao.findPolicyByServiceGroupInfoList(entity.getUserRegion1()); + List policyGroupInfosNew=policyGroupInfoDao.findPolicyByServiceGroupInfoList(entity.getGroupId().toString()); // 更新分组状态 - groupManageService.updateGroupStatus(entity.getUserRegion1(), 7); // old - groupManageService.updateGroupStatus(entity.getGroupId()+"", 7); // new + groupManageService.updateGroupStatus(policyGroupInfosOld, 7); // old + groupManageService.updateGroupStatus(policyGroupInfosNew, 7); // new } @@ -111,7 +116,8 @@ public class UrlCommGroupService extends CrudService, UrlCom public void delete(String ids, String groupIds) { urlCommGroupDao.delete(ids); // 更新分组状态 - groupManageService.updateGroupStatus(groupIds, 7); + List policyGroupInfos=policyGroupInfoDao.findPolicyByServiceGroupInfoList(groupIds); + groupManageService.updateGroupStatus(policyGroupInfos, 7); } public List getByIds(String ids) { diff --git a/src/main/java/com/nis/web/service/configuration/ConfigSynchronizationService.java b/src/main/java/com/nis/web/service/configuration/ConfigSynchronizationService.java index 2f3f6abca..86c36ce02 100644 --- a/src/main/java/com/nis/web/service/configuration/ConfigSynchronizationService.java +++ b/src/main/java/com/nis/web/service/configuration/ConfigSynchronizationService.java @@ -76,8 +76,6 @@ import com.nis.web.dao.specific.ConfigGroupInfoDao; import com.nis.web.dao.specific.SpecificServiceCfgDao; import com.nis.web.security.UserUtils; import com.nis.web.service.BaseService; -import com.sun.xml.internal.rngom.util.Utf16; - /** * 配置全量同步事务类 * @author zhangwei