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

@@ -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;
}
}