ProxyPolicyObject菜单:配置批量取消审核过滤被引用策略

This commit is contained in:
wangwei
2019-06-26 10:57:14 +08:00
parent 11a5d1a65f
commit 9d47a56130
6 changed files with 116 additions and 6 deletions

View File

@@ -329,6 +329,8 @@ public class BaseController {
protected CommonGroupManageService commonGroupManageService;
@Autowired
protected ObjectGroupService objectGroupService;
@Autowired
protected StatusOfUsedService statusOfUsedService;
/**
* 管理基础路径
*/
@@ -4047,6 +4049,7 @@ public class BaseController {
}
}else if(className.equals("ProxyFileTrafficMirrorCfg")){
list = proxyFileTrafficMirrorService.findPage(page, searFileTrafficMirrorCfg).getList();
statusOfUsedService.removePolicyOfUsed(list,645);
for(int i=0;i<list.size();i++){
ProxyFileTrafficMirrorCfg cfg = (ProxyFileTrafficMirrorCfg) list.get(i);
ids.add(cfg.getCompileId());
@@ -4085,6 +4088,7 @@ public class BaseController {
}
}else if(className.equals("ProxyFileResponsePageCfg")){
list = proxyFileResponsePageService.findPage(page, searFileResponsePageCfg).getList();
statusOfUsedService.removePolicyOfUsed(list,646);
for(int i=0;i<list.size();i++){
ProxyFileResponsePageCfg cfg = (ProxyFileResponsePageCfg) list.get(i);
ids.add(cfg.getCompileId());
@@ -4104,6 +4108,7 @@ public class BaseController {
}
}else if(className.equals("ProxyFileHijackCfg")){
list = proxyFileHijackService.findPage(page, searFileHijackCfg).getList();
statusOfUsedService.removePolicyOfUsed(list,643);
for(int i=0;i<list.size();i++){
ProxyFileHijackCfg cfg = (ProxyFileHijackCfg) list.get(i);
ids.add(cfg.getCompileId());
@@ -4123,6 +4128,7 @@ public class BaseController {
}
}else if(className.equals("ProxyFileInsertScriptCfg")){
list = proxyFileInsertScriptService.findPage(page, searFileInsertScriptCfg).getList();
statusOfUsedService.removePolicyOfUsed(list,644);
for(int i=0;i<list.size();i++){
ProxyFileInsertScriptCfg cfg = (ProxyFileInsertScriptCfg) list.get(i);
ids.add(cfg.getCompileId());
@@ -4142,6 +4148,7 @@ public class BaseController {
}
}else if(className.equals("PxyObjKeyring")){
list = pxyObjKeyringService.findPage(page, searchObjKeyringCfg).getList();
statusOfUsedService.removePolicyOfUsed(list,520);
for(int i=0;i<list.size();i++){
PxyObjKeyring cfg = (PxyObjKeyring) list.get(i);
ids.add(cfg.getCompileId());

View File

@@ -1,12 +1,19 @@
package com.nis.web.service.configuration;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.nis.domain.configuration.BaseCfg;
import com.nis.domain.configuration.CfgIndexInfo;
import com.nis.util.StringUtil;
import com.nis.web.dao.configuration.WebsiteCfgDao;
import com.nis.web.service.BaseService;
import com.nis.web.service.CrudService;
@Service
@@ -18,4 +25,83 @@ public class StatusOfUsedService extends CrudService<WebsiteCfgDao, CfgIndexInfo
public List<CfgIndexInfo> getStatusOfUsed(CfgIndexInfo entity){
return websiteCfgDao.getStatusOfUsed(entity);
}
public List<BaseCfg> removePolicyOfUsed(List<BaseCfg> list,Integer ServiceId){
if(StringUtil.isEmpty(list)){
return list;
}
Integer functionId = 0;
String key = "";
//拦截证书策略
if(ServiceId==520){
functionId = 200;
ServiceId = 512;
key = "keyring";
}//流量转发目的地址
else if(ServiceId==645){
functionId = 200;
ServiceId = 512;
key = "mirror_profile";
}
//劫持文件、注入脚本文件
else if(ServiceId==643 || ServiceId==644){
functionId = 215;
ServiceId = 656;
}//访问阻断页面
else if(ServiceId==646){
functionId = 207;
ServiceId = 576;
}
if(ServiceId == 576 || ServiceId==656){
for(Iterator<BaseCfg> ite = list.iterator(); ite.hasNext();){
BaseCfg base = ite.next();
CfgIndexInfo cfg = new CfgIndexInfo();
if(ServiceId==656){
cfg.setUserRegion4(String.valueOf(base.getCompileId()));
}else if(ServiceId==576){
cfg.setUserRegion3(String.valueOf(base.getCompileId()));
}
cfg.setIsValid(-1);
cfg.setFunctionId(functionId);
cfg.setServiceId(ServiceId);
List<CfgIndexInfo> listCfg = websiteCfgDao.getStatusOfUsed(cfg);
if (!StringUtil.isEmpty(listCfg)) {
ite.remove();
}
}
return list;
}else if(ServiceId==512){
CfgIndexInfo cfg = new CfgIndexInfo();
cfg.setIsValid(-1);
cfg.setFunctionId(functionId);
cfg.setServiceId(ServiceId);
List<CfgIndexInfo> listCfg = websiteCfgDao.getStatusOfUsed(cfg);
Map<String,Map<String,Object>> tempMap = new HashMap<>();
List compileIdUsed = new ArrayList<Integer>();
//遍历获取引用策略compileId
for(Iterator<CfgIndexInfo> ite = listCfg.iterator(); ite.hasNext();){
BaseCfg base = ite.next();
tempMap = BaseService.gsonFromJson(base.getUserRegion1(), Map.class);
String value = "";
if("keyring".equals(key)){
value = String.valueOf(tempMap.get(key));
}else if("mirror_profile".equals(key)){
value = String.valueOf(tempMap.get("decrypt_mirror").get("mirror_profile"));
}
if(!compileIdUsed.contains(value) && !"1".equals(value) && !"0".equals(value)){
compileIdUsed.add(value);
}
}
//遍历去除引用策略
for(Iterator<BaseCfg> ite = list.iterator(); ite.hasNext();){
BaseCfg listEmpt = ite.next();
if(compileIdUsed.contains(String.valueOf(listEmpt.getCompileId()))){
ite.remove();
}
}
return list;
}
return list;
}
}