1、增加SubscribeId分组配置功能 2、增加公共分组相关国际化代码及相关sql文件修改

This commit is contained in:
zhangwenqing
2019-06-10 18:31:52 +08:00
parent 66b3673bce
commit bf03ca1cc0
59 changed files with 4394 additions and 257 deletions

View File

@@ -1,5 +1,9 @@
package com.nis.web.service.basics;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
@@ -7,20 +11,27 @@ 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;
import com.nis.domain.Page;
import com.nis.domain.basics.CommonGroupInfo;
import com.nis.domain.basics.DomainCommCfg;
import com.nis.domain.basics.IpCommCfg;
import com.nis.domain.basics.PolicyGroupInfo;
import com.nis.domain.basics.ProtectionListInfo;
import com.nis.domain.basics.ScriberIdCommCfg;
import com.nis.domain.basics.UrlCommCfg;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.CacheUtils;
import com.nis.util.ConfigServiceUtil;
import com.nis.util.Constants;
import com.nis.util.StringUtil;
import com.nis.web.dao.basics.CommonGroupManageDao;
import com.nis.web.dao.basics.DomainCommGroupDao;
import com.nis.web.dao.basics.IpCommGroupCfgDao;
import com.nis.web.dao.basics.ScriberIdCommGroupDao;
import com.nis.web.dao.basics.UrlCommGroupDao;
import com.nis.web.security.UserUtils;
import com.nis.web.service.BaseService;
@@ -33,9 +44,12 @@ public class CommonGroupManageService extends BaseService{
@Autowired
private IpCommGroupCfgDao ipCommGroupCfgDao; // 校验分组时使用
@Autowired
private UrlCommGroupDao urlCommGroupDao;
@Autowired
private DomainCommGroupDao domainCommGroupDao;
@Autowired
private ScriberIdCommGroupDao scriberIdCommGroupDao;
public Page<CommonGroupInfo> findCommonGroupInfoList(Page<CommonGroupInfo> page, CommonGroupInfo entity) {
entity.getSqlMap().put("dsf", configScopeFilter(entity.getCurrentUser(),"r"));
@@ -68,7 +82,7 @@ public class CommonGroupManageService extends BaseService{
}
entity.setServiceGroupId(serviceGroupId);
commonGroupManageDao.insert(entity);
this.updatePolicyGroupDict(entity.getGroupType()+"");
}else{ // 修改
Date editTime=new Date();
entity.setEditorId(UserUtils.getUser().getId());
@@ -80,7 +94,7 @@ public class CommonGroupManageService extends BaseService{
}
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public void deldete(String ids, int isValid){
public void deldete(String ids, int isValid, String groupTypes){
CommonGroupInfo entity=new CommonGroupInfo();
Date editTime=new Date();
entity.setEditorId(UserUtils.getUser().getId());
@@ -121,29 +135,72 @@ public class CommonGroupManageService extends BaseService{
for(PolicyGroupInfo info:policyGroupInfos){
boolean update=false;
Integer udFlag = 0;
Integer size = 0;
if(groupType == 5) { // IP
List<IpCommCfg> 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;
}
size = ipCommGroupCfgDao.getCfgInfoByGroupIds(info.getServiceGroupId().toString());
}else if(groupType == 7) { // URL
List<UrlCommCfg> 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;
}
size = urlCommGroupDao.getCfgInfoByGroupIds(info.getServiceGroupId().toString());
}else if(groupType == 8) { // Domain
size = domainCommGroupDao.getCfgInfoByGroupIds(info.getServiceGroupId().toString());
}else if(groupType == 9) { // ScriberId
size = scriberIdCommGroupDao.getCfgInfoByGroupIds(info.getServiceGroupId().toString());
}
if(size > 0 && info.getUdFlag().equals(0)) {
update=true;
udFlag = 1;
}else if(size == 0 && !info.getUdFlag().equals(2)){
update=true;
}
if(update){
commonGroupManageDao.updateGroupStatus(info.getServiceGroupId().toString(), udFlag, groupType);
}
}
}
public CommonGroupInfo getGroupInfo(CommonGroupInfo searchCfg) {
return commonGroupManageDao.getGroupInfo(searchCfg);
}
/**
* 更新字典缓存
* @return
*/
private void updatePolicyGroupDict(String groupTypes) {
String dictKey = Constants.CACHE_IPGROUP_DICT;
if(groupTypes.contains(",")) {
String[] split = groupTypes.split(",");
List<String> asList = Arrays.asList(split);
HashSet<String> strings = new HashSet<>(asList);
for (String str : strings) {
Integer groupType = Integer.valueOf(str);
if(groupType.equals(7)) {
dictKey = Constants.CACHE_URLGROUP_DICT;
}else if(groupType.equals(8)) {
dictKey = Constants.CACHE_DOMAINGROUP_DICT;
}else if(groupType.equals(9)) {
dictKey = Constants.CACHE_SCRIBERGROUP_DICT;
}
List<CommonGroupInfo> groupInfo = findCommonGroupInfosByType(groupType);
CacheUtils.put(dictKey, groupInfo);
}
}else {
Integer groupType = Integer.valueOf(groupTypes);
if(groupType.equals(7)) {
dictKey = Constants.CACHE_URLGROUP_DICT;
}else if(groupType.equals(8)) {
dictKey = Constants.CACHE_DOMAINGROUP_DICT;
}else if(groupType.equals(9)) {
dictKey = Constants.CACHE_SCRIBERGROUP_DICT;
}
List<CommonGroupInfo> groupInfo = findCommonGroupInfosByType(groupType);
CacheUtils.put(dictKey, groupInfo);
}
}
}