(1)加入HTTP协议的Object-Group Policy
(2)修复增域删域的逻辑错误 (3)调整拦截自定义域
This commit is contained in:
@@ -6,6 +6,7 @@ import java.util.*;
|
||||
|
||||
import com.google.gson.*;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import com.nis.domain.FunctionServiceDict;
|
||||
import com.nis.domain.configuration.*;
|
||||
import com.nis.web.service.BaseService;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
@@ -585,13 +586,13 @@ public class ConfigConvertUtil {
|
||||
* 配置分组列表
|
||||
* @return
|
||||
*/
|
||||
public static <T> Map<String, List> objGroupCfgConvert(List dstList, List<T> srcList, Integer cfgType, BaseCfg baseCfg,
|
||||
public static <T> Map<String, List> objGroupCfgConvert(Map<Integer,FunctionServiceDict> dictMap,List dstList, List<T> srcList, Integer cfgType, BaseCfg baseCfg,
|
||||
List groupRelationList, Map<String,Object> maatTableMap, Set<Integer> groupIdSet) {
|
||||
Map<String, List> map = new HashMap();
|
||||
if (cfgType == 1) {
|
||||
List numRegionList = new ArrayList();
|
||||
|
||||
Integer numGroupId = 0;
|
||||
Set<Integer> numGroupVals = new HashSet<>();
|
||||
List<Integer> regionIdList = new ArrayList<>();//ConfigServiceUtil.getId(3, srcList.size());
|
||||
for (int i = 0; i < srcList.size(); i++) {
|
||||
T srcCfg = srcList.get(i);
|
||||
@@ -632,18 +633,20 @@ public class ConfigConvertUtil {
|
||||
|
||||
// 如果protocolId非空非零,需要构造数值型域配置,多条相同协议的IP只需要一条数值域配置(目前没有不同协议IP&情况)
|
||||
//分组复用每个IP组还需要不同的数值域组么?????
|
||||
if (baseIpCfg.getProtocolId() != null && baseIpCfg.getProtocolId() != 0) {
|
||||
if (numGroupId == 0) {
|
||||
if (baseCfg!=null&&baseCfg.getServiceId()!=null&&baseCfg.getServiceId()!=0&&dictMap.containsKey(baseCfg.getServiceId())) {
|
||||
FunctionServiceDict dict=dictMap.get(baseCfg.getServiceId());
|
||||
Integer protocolId=dict.getProtocolId();
|
||||
if (!numGroupVals.contains(protocolId)) {
|
||||
GroupCfg group1 = new GroupCfg();
|
||||
group1.setGroupId(ConfigServiceUtil.getId(2, 1).get(0));
|
||||
group1.setCompileId(baseIpCfg.getCompileId());
|
||||
group1.setCompileId(baseCfg.getCompileId());
|
||||
group1.setAuditTime(baseCfg.getAuditTime());
|
||||
group1.setIsValid(baseCfg.getIsValid());
|
||||
groupRelationList.add(group1);
|
||||
NumBoundaryCfg numCfg = new NumBoundaryCfg();
|
||||
numCfg.initDefaultValue();
|
||||
numCfg.setLowBoundary(baseIpCfg.getProtocolId());
|
||||
numCfg.setUpBoundary(baseIpCfg.getProtocolId());
|
||||
numCfg.setLowBoundary(protocolId);
|
||||
numCfg.setUpBoundary(protocolId);
|
||||
numCfg.setRegionId(ConfigServiceUtil.getId(3, 1).get(0));
|
||||
numCfg.setAuditTime(baseCfg.getAuditTime());
|
||||
numCfg.setGroupId(group1.getGroupId());
|
||||
@@ -653,7 +656,7 @@ public class ConfigConvertUtil {
|
||||
}
|
||||
numRegionList.add(numCfg);
|
||||
map.put("numRegionList", numRegionList);
|
||||
numGroupId++;
|
||||
numGroupVals.add(protocolId);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -835,24 +838,25 @@ public class ConfigConvertUtil {
|
||||
//exclusions
|
||||
map.put("ev_cert", 0);
|
||||
map.put("cert_transparency", 0);
|
||||
map.put("pinning", 0);
|
||||
map.put("client_cert_req", 0);
|
||||
map.put("pinning", 1);
|
||||
map.put("client_cert_req", 1);
|
||||
map.put("protocol_errors", 1);
|
||||
userRegionMap.put("exclusions", map);
|
||||
//cert_verify
|
||||
Map<String,Object> map1=new HashMap<>();
|
||||
map=new HashMap<>();
|
||||
map.put("cn",0);
|
||||
map.put("issuer",0);
|
||||
map.put("self-signed",0);
|
||||
map.put("expiration",0);
|
||||
map.put("cn",1);
|
||||
map.put("issuer",1);
|
||||
map.put("self-signed",1);
|
||||
map.put("expiration",1);
|
||||
map1.put("approach", map);
|
||||
userRegionMap.put("cert_verify", map1);
|
||||
//ssl_ver
|
||||
map=new HashMap<>();
|
||||
map.put("mirror_client", 0);
|
||||
map.put("mirror_client", 1);
|
||||
map.put("allow_http2", 1);
|
||||
map.put("min", "ssl3");
|
||||
map.put("max", "tls13");
|
||||
// map.put("min", "ssl3");
|
||||
// map.put("max", "tls13");
|
||||
userRegionMap.put("ssl_ver", map);
|
||||
//decrypt_mirror
|
||||
map=new HashMap<>();
|
||||
@@ -865,13 +869,13 @@ public class ConfigConvertUtil {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
public static Map<String,Object> convertCommonGroupMaatTable(CfgIndexInfo cfgIndexInfo,List<Map<String, Object>> cfgList){
|
||||
public static Map<String,Object> convertCommonGroupMaatTable(CfgIndexInfo cfgIndexInfo, List<Map<String, Object>> cfgList){
|
||||
Map<String,Object> maatTableMap=new HashMap<>();
|
||||
Map<String,Object> commonGroupIds= MapUtils.isEmpty(cfgIndexInfo.getUserRegion())?(Map<String,Object>)gsonFromJson(cfgIndexInfo.getCommonGroupIds(),Map.class):cfgIndexInfo.getUserRegion();
|
||||
for (Map<String, Object> map : cfgList) {
|
||||
String cfgType = map.get("cfgType").toString();
|
||||
if (cfgType.equals("1")) {
|
||||
if(commonGroupIds.containsKey("ipGroup")){
|
||||
if(commonGroupIds.containsKey("ipGroup")&&map.containsKey("maatTable")){
|
||||
Map<String,String> ipMaatMap=new HashMap<>();
|
||||
for(String group:commonGroupIds.get("ipGroup").toString().split(",")){
|
||||
if(StringUtils.isNotBlank(group)){
|
||||
@@ -885,26 +889,28 @@ public class ConfigConvertUtil {
|
||||
maatTableMap.put("protocolMaatTable",map.get("protocolMaatTable").toString());
|
||||
}
|
||||
} else if (cfgType.equals("2")) {
|
||||
String _maatTable = map.get("maatTable").toString();
|
||||
String _maatTable = map.containsKey("maatTable")?map.get("maatTable").toString():null;
|
||||
Map<String,String> stringMaatMap=new HashMap<>();
|
||||
if(commonGroupIds.containsKey("urlGroup")&&_maatTable.toUpperCase().contains("URL")){
|
||||
for(String group:commonGroupIds.get("urlGroup").toString().split(",")){
|
||||
if(StringUtils.isNotBlank(group)){
|
||||
stringMaatMap.put(group,_maatTable);
|
||||
if(StringUtils.isNotBlank(_maatTable)){
|
||||
if(commonGroupIds.containsKey("urlGroup")&&_maatTable.toUpperCase().contains("URL")){
|
||||
for(String group:commonGroupIds.get("urlGroup").toString().split(",")){
|
||||
if(StringUtils.isNotBlank(group)){
|
||||
stringMaatMap.put(group,_maatTable);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if(commonGroupIds.containsKey("domainGroup")&&_maatTable.toUpperCase().contains("DOMAIN")){
|
||||
for(String group:commonGroupIds.get("domainGroup").toString().split(",")){
|
||||
if(StringUtils.isNotBlank(group)){
|
||||
stringMaatMap.put(group,_maatTable);
|
||||
if(commonGroupIds.containsKey("domainGroup")&&_maatTable.toUpperCase().contains("DOMAIN")){
|
||||
for(String group:commonGroupIds.get("domainGroup").toString().split(",")){
|
||||
if(StringUtils.isNotBlank(group)){
|
||||
stringMaatMap.put(group,_maatTable);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if(commonGroupIds.containsKey("subscribeIdGroup")&&_maatTable.toUpperCase().contains("SUBSCRIBE_ID")){
|
||||
for(String group:commonGroupIds.get("subscribeIdGroup").toString().split(",")){
|
||||
if(StringUtils.isNotBlank(group)){
|
||||
stringMaatMap.put(group,_maatTable);
|
||||
if(commonGroupIds.containsKey("subscribeIdGroup")&&_maatTable.toUpperCase().contains("SUBSCRIBE_ID")){
|
||||
for(String group:commonGroupIds.get("subscribeIdGroup").toString().split(",")){
|
||||
if(StringUtils.isNotBlank(group)){
|
||||
stringMaatMap.put(group,_maatTable);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -917,4 +923,40 @@ public class ConfigConvertUtil {
|
||||
}
|
||||
return maatTableMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取obj-list-group业务的function_service_dict
|
||||
* @param functionId
|
||||
* @return
|
||||
*/
|
||||
public static Map<Integer,FunctionServiceDict> objGetServiceDict(Integer functionId){
|
||||
Map<Integer,FunctionServiceDict> dictMap=new HashMap<>();
|
||||
ServiceConfigTemplateUtil util=new ServiceConfigTemplateUtil();
|
||||
List<Map<String,Object>> list=util.getServiceListByFunctionId(functionId);
|
||||
for(Map<String,Object> map:list){
|
||||
if(map.containsKey("serviceIds")){
|
||||
String serviceIds=map.get("serviceIds").toString();
|
||||
for(String serviceId:serviceIds.split(",")){
|
||||
List<Map<String,Object>> _mapList=util.getServiceListByServiceId(Integer.parseInt(serviceId));
|
||||
for(Map<String,Object> _map:_mapList){
|
||||
if(_map.containsKey("functionId")){
|
||||
List<FunctionServiceDict> dictList=DictUtils.getFunctionServiceDictList(Integer.parseInt(_map.get("functionId").toString()));
|
||||
for(FunctionServiceDict dict:dictList){
|
||||
dictMap.put(dict.getServiceId(),dict);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}else{
|
||||
if(map.containsKey("functionId")){
|
||||
List<FunctionServiceDict> dictList=DictUtils.getFunctionServiceDictList(Integer.parseInt(map.get("functionId").toString()));
|
||||
for(FunctionServiceDict dict:dictList){
|
||||
dictMap.put(dict.getServiceId(),dict);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
return dictMap;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import java.util.*;
|
||||
|
||||
import com.google.gson.*;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import com.nis.domain.FunctionServiceDict;
|
||||
import com.nis.domain.basics.*;
|
||||
import com.nis.domain.configuration.*;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
@@ -77,6 +78,7 @@ public class SchedulerTaskUtil {
|
||||
String tableName = service.get("tableName").toString();
|
||||
String serviceType = service.get("serviceType").toString();
|
||||
String className = service.get("className").toString();
|
||||
String functionId= service.get("functionId").toString();
|
||||
BaseCfg entity = new BaseCfg();
|
||||
entity.setServiceId(serviceId);
|
||||
entity.setTableName(tableName);
|
||||
@@ -125,6 +127,7 @@ public class SchedulerTaskUtil {
|
||||
List<Map<String,Object>> userRegionList = (List<Map<String, Object>>) service.get("userRegionList");
|
||||
entity.setCompileId(compileId);
|
||||
compileIds.add(compileId);
|
||||
Map<Integer, FunctionServiceDict> serviceDictMap=ConfigConvertUtil.objGetServiceDict(Integer.parseInt(functionId));
|
||||
//查询配置
|
||||
if("cfg_index_info".equals(tableName)){
|
||||
List<CfgIndexInfo> list = configSynchronizationDao.getCfgIndexList(entity);
|
||||
@@ -208,7 +211,7 @@ public class SchedulerTaskUtil {
|
||||
if(CollectionUtils.isNotEmpty(cfg.getIpCommGroupCfgList())){
|
||||
IpPortCfg _cfg = new IpPortCfg();
|
||||
BeanUtils.copyProperties(cfg, _cfg, new String[]{"cfgId","menuNameCode"});
|
||||
Map<String,List> map = ConfigConvertUtil.objGroupCfgConvert(ipRegionList,cfg.getIpCommGroupCfgList(),1,_cfg,groupRelationList,maatTableMap,groupIdSet);
|
||||
Map<String,List> map = ConfigConvertUtil.objGroupCfgConvert(serviceDictMap,ipRegionList,cfg.getIpCommGroupCfgList(),1,_cfg,groupRelationList,maatTableMap,groupIdSet);
|
||||
groupRelationList=map.get("groupList");
|
||||
ipRegionList=map.get("dstList");
|
||||
if(map.get("numRegionList")!=null){
|
||||
@@ -220,7 +223,7 @@ public class SchedulerTaskUtil {
|
||||
if(CollectionUtils.isNotEmpty(cfg.getUrlCommGroupList())){
|
||||
CommonStringCfg _cfg = new CommonStringCfg();
|
||||
BeanUtils.copyProperties(cfg, _cfg, new String[]{"cfgId","menuNameCode"});
|
||||
Map<String,List> map =ConfigConvertUtil.objGroupCfgConvert(strRegionList,cfg.getUrlCommGroupList(),2,_cfg,groupRelationList,maatTableMap,groupIdSet);
|
||||
Map<String,List> map =ConfigConvertUtil.objGroupCfgConvert(serviceDictMap,strRegionList,cfg.getUrlCommGroupList(),2,_cfg,groupRelationList,maatTableMap,groupIdSet);
|
||||
groupRelationList=map.get("groupList");
|
||||
strRegionList=map.get("dstList");
|
||||
}
|
||||
@@ -229,7 +232,7 @@ public class SchedulerTaskUtil {
|
||||
CommonStringCfg _cfg = new CommonStringCfg();
|
||||
BeanUtils.copyProperties(cfg, _cfg, new String[]{"cfgId","menuNameCode"});
|
||||
|
||||
Map<String,List> map =ConfigConvertUtil.objGroupCfgConvert(strRegionList,cfg.getScriberIdCommGroupList(),2,_cfg,groupRelationList,maatTableMap,groupIdSet);
|
||||
Map<String,List> map =ConfigConvertUtil.objGroupCfgConvert(serviceDictMap,strRegionList,cfg.getScriberIdCommGroupList(),2,_cfg,groupRelationList,maatTableMap,groupIdSet);
|
||||
groupRelationList=map.get("groupList");
|
||||
strRegionList=map.get("dstList");
|
||||
|
||||
@@ -239,7 +242,7 @@ public class SchedulerTaskUtil {
|
||||
CommonStringCfg _cfg = new CommonStringCfg();
|
||||
BeanUtils.copyProperties(cfg, _cfg, new String[]{"cfgId","menuNameCode"});
|
||||
|
||||
Map<String,List> map =ConfigConvertUtil.objGroupCfgConvert(strRegionList,cfg.getDomainCommGroupList(),2,_cfg,groupRelationList,maatTableMap,groupIdSet);
|
||||
Map<String,List> map =ConfigConvertUtil.objGroupCfgConvert(serviceDictMap,strRegionList,cfg.getDomainCommGroupList(),2,_cfg,groupRelationList,maatTableMap,groupIdSet);
|
||||
groupRelationList=map.get("groupList");
|
||||
strRegionList=map.get("dstList");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user