批量下发功能增加,delRow.tag中暂时不打开此功能。
app topic domain和app domain业务修改domain存储cfgkeyword属性。 摘要修改level属性存储为下发的最终数值。 同步的单域配置的增加时间和状态属性从entity中获取
This commit is contained in:
@@ -27,6 +27,8 @@ import javax.servlet.http.HttpServletResponse;
|
||||
import org.apache.commons.lang3.StringEscapeUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.eclipse.jetty.util.ajax.JSON;
|
||||
import org.jets3t.service.ServiceException;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -41,20 +43,37 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||
import com.beust.jcommander.internal.Lists;
|
||||
import com.nis.domain.FunctionRegionDict;
|
||||
import com.nis.domain.FunctionServiceDict;
|
||||
import com.nis.domain.Page;
|
||||
import com.nis.domain.SysDataDictionaryItem;
|
||||
import com.nis.domain.basics.AsnIpCfg;
|
||||
import com.nis.domain.basics.ServiceDictInfo;
|
||||
import com.nis.domain.basics.SysDictInfo;
|
||||
import com.nis.domain.callback.ProxyObjKeyring;
|
||||
import com.nis.domain.configuration.AppDomainCfg;
|
||||
import com.nis.domain.configuration.AppFeatureIndex;
|
||||
import com.nis.domain.configuration.AppHttpCfg;
|
||||
import com.nis.domain.configuration.AppIpCfg;
|
||||
import com.nis.domain.configuration.AppPolicyCfg;
|
||||
import com.nis.domain.configuration.AppSslCertCfg;
|
||||
import com.nis.domain.configuration.AppTopicDomainCfg;
|
||||
import com.nis.domain.configuration.AreaBean;
|
||||
import com.nis.domain.configuration.AreaIpCfg;
|
||||
import com.nis.domain.configuration.AvFileSampleCfg;
|
||||
import com.nis.domain.configuration.AvSignSampleCfg;
|
||||
import com.nis.domain.configuration.BaseCfg;
|
||||
import com.nis.domain.configuration.BaseIpCfg;
|
||||
import com.nis.domain.configuration.BaseStringCfg;
|
||||
import com.nis.domain.configuration.CfgIndexInfo;
|
||||
import com.nis.domain.configuration.ComplexStringCfgTemplate;
|
||||
import com.nis.domain.configuration.ComplexkeywordCfg;
|
||||
import com.nis.domain.configuration.DdosIpCfg;
|
||||
import com.nis.domain.configuration.DnsIpCfg;
|
||||
import com.nis.domain.configuration.DnsResStrategy;
|
||||
import com.nis.domain.configuration.FileDigestCfg;
|
||||
import com.nis.domain.configuration.IpPortCfg;
|
||||
import com.nis.domain.configuration.PxyObjKeyring;
|
||||
import com.nis.domain.configuration.PxyObjTrustedCaCert;
|
||||
import com.nis.domain.configuration.PxyObjTrustedCaCrl;
|
||||
import com.nis.domain.configuration.RequestInfo;
|
||||
import com.nis.domain.configuration.StringCfgTemplate;
|
||||
import com.nis.domain.configuration.template.AppDomainTemplate;
|
||||
@@ -73,6 +92,14 @@ import com.nis.domain.configuration.template.P2pIpTemplate;
|
||||
import com.nis.domain.configuration.template.StringAllTemplate;
|
||||
import com.nis.domain.log.BaseLogEntity;
|
||||
import com.nis.domain.log.SearchReport;
|
||||
import com.nis.domain.maat.MaatCfg;
|
||||
import com.nis.domain.maat.ToMaatBean;
|
||||
import com.nis.domain.maat.ToMaatResult;
|
||||
import com.nis.domain.maat.MaatCfg.DigestCfg;
|
||||
import com.nis.domain.maat.MaatCfg.GroupCfg;
|
||||
import com.nis.domain.maat.MaatCfg.IpCfg;
|
||||
import com.nis.domain.maat.MaatCfg.NumBoundaryCfg;
|
||||
import com.nis.domain.maat.MaatCfg.StringCfg;
|
||||
import com.nis.domain.specific.ConfigGroupInfo;
|
||||
import com.nis.domain.specific.SpecificServiceCfg;
|
||||
import com.nis.exceptions.MaatConvertException;
|
||||
@@ -83,7 +110,9 @@ import com.nis.util.Configurations;
|
||||
import com.nis.util.Constants;
|
||||
import com.nis.util.DateUtils;
|
||||
import com.nis.util.DictUtils;
|
||||
import com.nis.util.FileUtils;
|
||||
import com.nis.util.JsonMapper;
|
||||
import com.nis.util.ServiceConfigTemplateUtil;
|
||||
import com.nis.util.StringUtil;
|
||||
import com.nis.util.excel.ExportExcel;
|
||||
import com.nis.util.excel.ImportBigExcel;
|
||||
@@ -95,6 +124,7 @@ import com.nis.web.security.UserUtils;
|
||||
import com.nis.web.service.ArchiveServcie;
|
||||
import com.nis.web.service.AreaService;
|
||||
import com.nis.web.service.BaseService;
|
||||
import com.nis.web.service.CrudService;
|
||||
import com.nis.web.service.DictService;
|
||||
import com.nis.web.service.LogService;
|
||||
import com.nis.web.service.MenuService;
|
||||
@@ -115,6 +145,7 @@ import com.nis.web.service.configuration.AvCfgService;
|
||||
import com.nis.web.service.configuration.AvContentCfgService;
|
||||
import com.nis.web.service.configuration.BgpCfgService;
|
||||
import com.nis.web.service.configuration.CachePolicyService;
|
||||
import com.nis.web.service.configuration.CommonPolicyService;
|
||||
import com.nis.web.service.configuration.ComplexStringCfgService;
|
||||
import com.nis.web.service.configuration.ConfigSynchronizationService;
|
||||
import com.nis.web.service.configuration.ControlPolicyService;
|
||||
@@ -143,6 +174,7 @@ import com.nis.web.service.specific.SpecificServiceHostCfgService;
|
||||
import com.nis.web.service.systemService.ServiceConfigInfoService;
|
||||
|
||||
import jersey.repackaged.com.google.common.collect.Maps;
|
||||
import net.sf.json.JSONObject;
|
||||
|
||||
public class BaseController {
|
||||
|
||||
@@ -254,9 +286,11 @@ public class BaseController {
|
||||
//@Autowired
|
||||
//protected ConfigGroupInfoService configGroupInfoService;
|
||||
@Autowired
|
||||
protected ConfigSynchronizationService configSynchronizationService;
|
||||
@Autowired
|
||||
protected CachePolicyService cachePolicyService;
|
||||
@Autowired
|
||||
protected ConfigSynchronizationService configSynchronizationService;
|
||||
protected CommonPolicyService commonPolicyService;
|
||||
|
||||
@Autowired
|
||||
protected UserManageService userManageService;
|
||||
@@ -1800,8 +1834,10 @@ public class BaseController {
|
||||
ei.getUploadFile().delete();
|
||||
}
|
||||
}
|
||||
if(e instanceof MaatConvertException||e instanceof ServiceException) {
|
||||
if(e instanceof MaatConvertException) {
|
||||
addMessage(redirectAttributes,"error", "request_service_failed");
|
||||
}else if(e instanceof ServiceException) {
|
||||
addMessage(redirectAttributes,"error", e.getMessage());
|
||||
}else {
|
||||
addMessage(redirectAttributes,"error", "import_failed");
|
||||
}
|
||||
@@ -1902,4 +1938,655 @@ public class BaseController {
|
||||
new ExportExcel(msgProp, titleList, noExportMap, classMap, 1).setDataList(msgProp, dataMap, map)
|
||||
.write(response, fileName).dispose();
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量审核
|
||||
* @param isAudit
|
||||
* @param isValid
|
||||
* @param ids
|
||||
* @param functionId
|
||||
* @param redirectAttributes
|
||||
* @return
|
||||
*/
|
||||
public void auditAll(Page page,Integer auditType,Object entity)throws Exception {
|
||||
page.setPageSize(Constants.MAAT_JSON_SEND_SIZE);
|
||||
page.setOrderBy("");
|
||||
//携带审核状态信息的BaseCfg
|
||||
BaseCfg auditBatchCfg=new BaseCfg();
|
||||
//携带审核条件的BaseCfg
|
||||
CfgIndexInfo searchCfg=new CfgIndexInfo();
|
||||
AppPolicyCfg searchAppCfg=new AppPolicyCfg();
|
||||
FileDigestCfg searchDigestCfg=new FileDigestCfg();
|
||||
AvFileSampleCfg searchFileSampleCfg=new AvFileSampleCfg();
|
||||
PxyObjKeyring searchObjKeyringCfg=new PxyObjKeyring();
|
||||
PxyObjTrustedCaCert searchTrustedCaCertCfg=new PxyObjTrustedCaCert();
|
||||
PxyObjTrustedCaCrl searchTrustedCaCrlCfg=new PxyObjTrustedCaCrl();
|
||||
DnsResStrategy searchDnsResStrategy=new DnsResStrategy();
|
||||
DnsIpCfg searchDnsIpCfg=new DnsIpCfg();
|
||||
IpPortCfg searchIpPortCfg=new IpPortCfg();
|
||||
AvSignSampleCfg searchSignSampleCfg=new AvSignSampleCfg();
|
||||
DdosIpCfg searchDdosIpCfg=new DdosIpCfg();
|
||||
AppIpCfg searchAppIpCfg=new AppIpCfg();
|
||||
AppHttpCfg searchAppHttpCfg=new AppHttpCfg();
|
||||
AppDomainCfg searchAppDomainCfg=new AppDomainCfg();
|
||||
AppTopicDomainCfg searchAppTopicCfg=new AppTopicDomainCfg();
|
||||
AppFeatureIndex searchAppFeatureIndex=new AppFeatureIndex();
|
||||
AppSslCertCfg searchAppSslCertCfg=new AppSslCertCfg();
|
||||
if(entity != null && (entity instanceof CfgIndexInfo)) {
|
||||
BeanUtils.copyProperties(entity, auditBatchCfg);
|
||||
BeanUtils.copyProperties(entity, searchCfg);
|
||||
}
|
||||
if(entity != null && (entity instanceof AppPolicyCfg)) {
|
||||
BeanUtils.copyProperties(entity, auditBatchCfg);
|
||||
BeanUtils.copyProperties(entity, searchAppCfg);
|
||||
}
|
||||
if(entity != null && (entity instanceof FileDigestCfg)) {
|
||||
BeanUtils.copyProperties(entity, auditBatchCfg);
|
||||
BeanUtils.copyProperties(entity, searchDigestCfg);
|
||||
}
|
||||
if(entity != null && (entity instanceof AvFileSampleCfg)) {
|
||||
BeanUtils.copyProperties(entity, auditBatchCfg);
|
||||
BeanUtils.copyProperties(entity, searchFileSampleCfg);
|
||||
}
|
||||
if(entity != null && (entity instanceof PxyObjKeyring)) {
|
||||
BeanUtils.copyProperties(entity, auditBatchCfg);
|
||||
BeanUtils.copyProperties(entity, searchObjKeyringCfg);
|
||||
}
|
||||
if(entity != null && (entity instanceof PxyObjTrustedCaCert)) {
|
||||
BeanUtils.copyProperties(entity, auditBatchCfg);
|
||||
BeanUtils.copyProperties(entity, searchTrustedCaCertCfg);
|
||||
}
|
||||
if(entity != null && (entity instanceof PxyObjTrustedCaCrl)) {
|
||||
BeanUtils.copyProperties(entity, auditBatchCfg);
|
||||
BeanUtils.copyProperties(entity, searchTrustedCaCrlCfg);
|
||||
}
|
||||
if(entity != null && (entity instanceof CfgIndexInfo)) {
|
||||
BeanUtils.copyProperties(entity, auditBatchCfg);
|
||||
BeanUtils.copyProperties(entity, searchDnsResStrategy);
|
||||
}
|
||||
if(entity != null && (entity instanceof DnsIpCfg)) {
|
||||
BeanUtils.copyProperties(entity, auditBatchCfg);
|
||||
BeanUtils.copyProperties(entity, searchDnsIpCfg);
|
||||
}
|
||||
if(entity != null && (entity instanceof CfgIndexInfo)) {
|
||||
BeanUtils.copyProperties(entity, auditBatchCfg);
|
||||
BeanUtils.copyProperties(entity, searchIpPortCfg);
|
||||
}
|
||||
|
||||
if(entity != null && (entity instanceof AvSignSampleCfg)) {
|
||||
BeanUtils.copyProperties(entity, auditBatchCfg);
|
||||
BeanUtils.copyProperties(entity, searchSignSampleCfg);
|
||||
}
|
||||
if(entity != null && (entity instanceof DdosIpCfg)) {
|
||||
BeanUtils.copyProperties(entity, auditBatchCfg);
|
||||
BeanUtils.copyProperties(entity, searchDdosIpCfg);
|
||||
}
|
||||
if(entity != null && (entity instanceof CfgIndexInfo)) {
|
||||
BeanUtils.copyProperties(entity, auditBatchCfg);
|
||||
BeanUtils.copyProperties(entity, searchAppIpCfg);
|
||||
}
|
||||
if(entity != null && (entity instanceof AppHttpCfg)) {
|
||||
BeanUtils.copyProperties(entity, auditBatchCfg);
|
||||
BeanUtils.copyProperties(entity, searchAppHttpCfg);
|
||||
}
|
||||
if(entity != null && (entity instanceof AppDomainCfg)) {
|
||||
BeanUtils.copyProperties(entity, auditBatchCfg);
|
||||
BeanUtils.copyProperties(entity, searchAppDomainCfg);
|
||||
}
|
||||
if(entity != null && (entity instanceof AppTopicDomainCfg)) {
|
||||
BeanUtils.copyProperties(entity, auditBatchCfg);
|
||||
BeanUtils.copyProperties(entity, searchAppTopicCfg);
|
||||
}
|
||||
if(entity != null && (entity instanceof AppFeatureIndex)) {
|
||||
BeanUtils.copyProperties(entity, auditBatchCfg);
|
||||
BeanUtils.copyProperties(entity, searchAppFeatureIndex);
|
||||
}
|
||||
if(entity != null && (entity instanceof AppSslCertCfg)) {
|
||||
BeanUtils.copyProperties(entity, auditBatchCfg);
|
||||
BeanUtils.copyProperties(entity, searchAppSslCertCfg);
|
||||
}
|
||||
|
||||
|
||||
|
||||
//全部审核通过,只查询当前条件下的所有未审核的配置
|
||||
if(auditType.equals(1)) {
|
||||
searchCfg.setIsValid(0);
|
||||
searchCfg.setIsAudit(0);
|
||||
searchAppCfg.setIsValid(0);
|
||||
searchAppCfg.setIsAudit(0);
|
||||
searchDigestCfg.setIsValid(0);
|
||||
searchDigestCfg.setIsAudit(0);
|
||||
searchFileSampleCfg.setIsValid(0);
|
||||
searchFileSampleCfg.setIsAudit(0);
|
||||
searchObjKeyringCfg.setIsValid(0);
|
||||
searchObjKeyringCfg.setIsAudit(0);
|
||||
searchTrustedCaCertCfg.setIsValid(0);
|
||||
searchTrustedCaCertCfg.setIsAudit(0);
|
||||
searchTrustedCaCrlCfg.setIsValid(0);
|
||||
searchTrustedCaCrlCfg.setIsAudit(0);
|
||||
searchDnsResStrategy.setIsValid(0);
|
||||
searchDnsResStrategy.setIsAudit(0);
|
||||
searchDnsIpCfg.setIsValid(0);
|
||||
searchDnsIpCfg.setIsAudit(0);
|
||||
searchIpPortCfg.setIsValid(0);
|
||||
searchIpPortCfg.setIsAudit(0);
|
||||
searchSignSampleCfg.setIsValid(0);
|
||||
searchSignSampleCfg.setIsAudit(0);
|
||||
searchDdosIpCfg.setIsValid(0);
|
||||
searchDdosIpCfg.setIsAudit(0);
|
||||
searchAppIpCfg.setIsValid(0);
|
||||
searchAppIpCfg.setIsAudit(0);
|
||||
searchAppHttpCfg.setIsValid(0);
|
||||
searchAppHttpCfg.setIsAudit(0);
|
||||
searchAppDomainCfg.setIsValid(0);
|
||||
searchAppDomainCfg.setIsAudit(0);
|
||||
searchAppTopicCfg.setIsValid(0);
|
||||
searchAppTopicCfg.setIsAudit(0);
|
||||
searchAppFeatureIndex.setIsValid(0);
|
||||
searchAppFeatureIndex.setIsAudit(0);
|
||||
searchAppSslCertCfg.setIsValid(0);
|
||||
searchAppSslCertCfg.setIsAudit(0);
|
||||
|
||||
auditBatchCfg.setIsAudit(1);
|
||||
auditBatchCfg.setIsValid(1);
|
||||
auditBatchCfg.setAuditTime(new Date());
|
||||
auditBatchCfg.setAuditorId(UserUtils.getUser().getId());
|
||||
}else {
|
||||
//全部取消通过,只查询当前条件下的所有审核通过的配置
|
||||
searchCfg.setIsValid(1);
|
||||
searchCfg.setIsAudit(1);
|
||||
searchAppCfg.setIsValid(1);
|
||||
searchAppCfg.setIsAudit(1);
|
||||
searchDigestCfg.setIsValid(1);
|
||||
searchDigestCfg.setIsAudit(1);
|
||||
searchFileSampleCfg.setIsValid(1);
|
||||
searchFileSampleCfg.setIsAudit(1);
|
||||
searchObjKeyringCfg.setIsValid(1);
|
||||
searchObjKeyringCfg.setIsAudit(1);
|
||||
searchTrustedCaCertCfg.setIsValid(1);
|
||||
searchTrustedCaCertCfg.setIsAudit(1);
|
||||
searchTrustedCaCrlCfg.setIsValid(1);
|
||||
searchTrustedCaCrlCfg.setIsAudit(1);
|
||||
searchDnsResStrategy.setIsValid(1);
|
||||
searchDnsResStrategy.setIsAudit(1);
|
||||
searchDnsIpCfg.setIsValid(1);
|
||||
searchDnsIpCfg.setIsAudit(1);
|
||||
searchIpPortCfg.setIsValid(1);
|
||||
searchIpPortCfg.setIsAudit(1);
|
||||
searchSignSampleCfg.setIsValid(1);
|
||||
searchSignSampleCfg.setIsAudit(1);
|
||||
searchDdosIpCfg.setIsValid(1);
|
||||
searchDdosIpCfg.setIsAudit(1);
|
||||
searchAppIpCfg.setIsValid(1);
|
||||
searchAppIpCfg.setIsAudit(1);
|
||||
searchAppHttpCfg.setIsValid(1);
|
||||
searchAppHttpCfg.setIsAudit(1);
|
||||
searchAppDomainCfg.setIsValid(1);
|
||||
searchAppDomainCfg.setIsAudit(1);
|
||||
searchAppTopicCfg.setIsValid(1);
|
||||
searchAppTopicCfg.setIsAudit(1);
|
||||
searchAppFeatureIndex.setIsValid(1);
|
||||
searchAppFeatureIndex.setIsAudit(1);
|
||||
searchAppSslCertCfg.setIsValid(1);
|
||||
searchAppSslCertCfg.setIsAudit(1);
|
||||
|
||||
auditBatchCfg.setIsAudit(3);
|
||||
auditBatchCfg.setIsValid(0);
|
||||
auditBatchCfg.setAuditTime(new Date());
|
||||
auditBatchCfg.setAuditorId(UserUtils.getUser().getId());
|
||||
}
|
||||
|
||||
ServiceConfigTemplateUtil serviceTemplate = new ServiceConfigTemplateUtil();
|
||||
Integer functionId=0;
|
||||
if(auditBatchCfg != null && !StringUtil.isEmpty(auditBatchCfg.getFunctionId())) {
|
||||
functionId=auditBatchCfg.getFunctionId();
|
||||
}
|
||||
List<Map<String,Object>> serviceList = serviceTemplate.getServiceList(functionId);
|
||||
|
||||
for(Map<String,Object> service:serviceList){
|
||||
String tableNameXml = service.get("tableName").toString();
|
||||
String serviceTypeXml = service.get("serviceType").toString();
|
||||
String classNameXml = service.get("className").toString();
|
||||
String serviceIdXml = service.get("id").toString();
|
||||
auditBatchCfg.setServiceId(Integer.valueOf(serviceIdXml));
|
||||
auditBatchCfg.setTableName(tableNameXml);
|
||||
searchCfg.setServiceId(Integer.valueOf(serviceIdXml));
|
||||
searchCfg.setTableName(tableNameXml);
|
||||
searchAppCfg.setServiceId(Integer.valueOf(serviceIdXml));
|
||||
searchAppCfg.setTableName(tableNameXml);
|
||||
searchDigestCfg.setServiceId(Integer.valueOf(serviceIdXml));
|
||||
searchDigestCfg.setTableName(tableNameXml);
|
||||
searchFileSampleCfg.setServiceId(Integer.valueOf(serviceIdXml));
|
||||
searchFileSampleCfg.setTableName(tableNameXml);
|
||||
searchObjKeyringCfg.setServiceId(Integer.valueOf(serviceIdXml));
|
||||
searchObjKeyringCfg.setTableName(tableNameXml);
|
||||
searchTrustedCaCertCfg.setServiceId(Integer.valueOf(serviceIdXml));
|
||||
searchTrustedCaCertCfg.setTableName(tableNameXml);
|
||||
searchTrustedCaCrlCfg.setServiceId(Integer.valueOf(serviceIdXml));
|
||||
searchTrustedCaCrlCfg.setTableName(tableNameXml);
|
||||
searchDnsResStrategy.setServiceId(Integer.valueOf(serviceIdXml));
|
||||
searchDnsResStrategy.setTableName(tableNameXml);
|
||||
searchDnsIpCfg.setServiceId(Integer.valueOf(serviceIdXml));
|
||||
searchDnsIpCfg.setTableName(tableNameXml);
|
||||
searchIpPortCfg.setServiceId(Integer.valueOf(serviceIdXml));
|
||||
searchIpPortCfg.setTableName(tableNameXml);
|
||||
searchSignSampleCfg.setServiceId(Integer.valueOf(serviceIdXml));
|
||||
searchSignSampleCfg.setTableName(tableNameXml);
|
||||
searchDdosIpCfg.setServiceId(Integer.valueOf(serviceIdXml));
|
||||
searchDdosIpCfg.setTableName(tableNameXml);
|
||||
searchAppIpCfg.setServiceId(Integer.valueOf(serviceIdXml));
|
||||
searchAppIpCfg.setTableName(tableNameXml);
|
||||
searchAppHttpCfg.setServiceId(Integer.valueOf(serviceIdXml));
|
||||
searchAppHttpCfg.setTableName(tableNameXml);
|
||||
searchAppDomainCfg.setServiceId(Integer.valueOf(serviceIdXml));
|
||||
searchAppDomainCfg.setTableName(tableNameXml);
|
||||
searchAppTopicCfg.setServiceId(Integer.valueOf(serviceIdXml));
|
||||
searchAppTopicCfg.setTableName(tableNameXml);
|
||||
searchAppFeatureIndex.setServiceId(Integer.valueOf(serviceIdXml));
|
||||
searchAppFeatureIndex.setTableName(tableNameXml);
|
||||
searchAppSslCertCfg.setServiceId(Integer.valueOf(serviceIdXml));
|
||||
searchAppSslCertCfg.setTableName(tableNameXml);
|
||||
|
||||
if("1".equals(serviceTypeXml)){//maat类配置
|
||||
List<Map<String,Object>> cfgList = (List<Map<String, Object>>) service.get("cfgList");
|
||||
List<Map<String,Object>> userRegionList = (List<Map<String, Object>>) service.get("userRegionList");
|
||||
if(!StringUtil.isEmpty(cfgList)) {
|
||||
if("cfg_index_info".equals(tableNameXml)){
|
||||
/************************多域maat cfg_index_info 处理****************************************/
|
||||
boolean hasData = true;
|
||||
while(hasData){
|
||||
List<CfgIndexInfo> list=getDataList(page,searchCfg,null,null,null);
|
||||
if(!StringUtil.isEmpty(list)){
|
||||
//配置生效处理 复用全量下发
|
||||
if(auditBatchCfg.getIsValid().equals(1)) {
|
||||
hasData=configSynchronizationService.auditNtcMaatData(cfgList,userRegionList,page,auditBatchCfg,list,hasData,true);
|
||||
}else {//配置失效处理 批量处理
|
||||
List<BaseCfg> cfgIndexList=new ArrayList<>();
|
||||
if(!StringUtil.isEmpty(list)) {
|
||||
for (CfgIndexInfo cfg : list) {
|
||||
BaseCfg baseCfg=new BaseCfg();
|
||||
BeanUtils.copyProperties(cfg, baseCfg);
|
||||
cfgIndexList.add(baseCfg);
|
||||
}
|
||||
}
|
||||
hasData=commonPolicyService.auditNtcMaatData(cfgList, page, auditBatchCfg, cfgIndexList, hasData);
|
||||
}
|
||||
if(hasData) {
|
||||
page.setPageNo(1);
|
||||
}
|
||||
}else{
|
||||
hasData = false;
|
||||
}
|
||||
}
|
||||
}else if("file_digest_cfg".equals(tableNameXml)){
|
||||
/************************多域 maat 摘要处理****************************************/
|
||||
boolean hasData = true;
|
||||
while(hasData){
|
||||
List<FileDigestCfg> list=getDataList(page,null,null,searchDigestCfg,null);
|
||||
if(!StringUtil.isEmpty(list)){
|
||||
//配置生效处理 复用全量下发
|
||||
if(auditBatchCfg.getIsValid().equals(1)) {
|
||||
hasData=configSynchronizationService.auditFileDigestData(cfgList, userRegionList, page, auditBatchCfg, list, hasData, true);
|
||||
}else {//配置失效处理 批量处理
|
||||
List<BaseCfg> baseCfgList=new ArrayList<>();
|
||||
if(!StringUtil.isEmpty(list)) {
|
||||
for (FileDigestCfg cfg : list) {
|
||||
BaseCfg baseCfg=new BaseCfg();
|
||||
BeanUtils.copyProperties(cfg, baseCfg);
|
||||
baseCfgList.add(baseCfg);
|
||||
}
|
||||
}
|
||||
hasData=commonPolicyService.auditNtcMaatData(cfgList, page, auditBatchCfg,baseCfgList, hasData);
|
||||
}
|
||||
if(hasData) {
|
||||
page.setPageNo(1);
|
||||
}
|
||||
}else{
|
||||
hasData = false;
|
||||
}
|
||||
}
|
||||
}else if("app_policy_cfg".equals(tableNameXml)){
|
||||
/************************多域 maat app策略处理****************************************/
|
||||
boolean hasData = true;
|
||||
while(hasData){
|
||||
List<AppPolicyCfg> list=getDataList(page,null,searchAppCfg,null,null);
|
||||
if(!StringUtil.isEmpty(list)){
|
||||
//配置生效处理 复用全量下发
|
||||
if(auditBatchCfg.getIsValid().equals(1)) {
|
||||
hasData=configSynchronizationService.auditAppPolicyData(cfgList,userRegionList,page,auditBatchCfg,list,hasData,true);
|
||||
}else {//配置失效处理 批量处理
|
||||
List<BaseCfg> cfgAppList=new ArrayList<>();
|
||||
if(!StringUtil.isEmpty(list)) {
|
||||
for (AppPolicyCfg cfg : list) {
|
||||
BaseCfg baseCfg=new BaseCfg();
|
||||
BeanUtils.copyProperties(cfg, baseCfg);
|
||||
cfgAppList.add(baseCfg);
|
||||
}
|
||||
}
|
||||
hasData=commonPolicyService.auditNtcMaatData(cfgList, page, auditBatchCfg,cfgAppList, hasData);
|
||||
}
|
||||
if(hasData) {
|
||||
page.setPageNo(1);
|
||||
}
|
||||
}else{
|
||||
hasData = false;
|
||||
}
|
||||
}
|
||||
}else if("app_feature_index".equals(tableNameXml)){
|
||||
/************************多域 maat app特征处理****************************************/
|
||||
boolean hasData = true;
|
||||
while(hasData){
|
||||
List<AppFeatureIndex> list=getDataList(page,null,null,null,searchAppFeatureIndex);
|
||||
if(!StringUtil.isEmpty(list)){
|
||||
//配置生效处理 复用全量下发
|
||||
if(auditBatchCfg.getIsValid().equals(1)) {
|
||||
hasData=configSynchronizationService.auditAppFeatureData(cfgList,userRegionList,page,auditBatchCfg,list,hasData,true);
|
||||
}else {//配置失效处理 批量处理
|
||||
List<BaseCfg> cfgFeatrureList=new ArrayList<>();
|
||||
if(!StringUtil.isEmpty(list)) {
|
||||
for (AppFeatureIndex cfg : list) {
|
||||
BaseCfg baseCfg=new BaseCfg();
|
||||
BeanUtils.copyProperties(cfg, baseCfg);
|
||||
cfgFeatrureList.add(baseCfg);
|
||||
}
|
||||
}
|
||||
hasData=commonPolicyService.auditNtcMaatData(cfgList, page, auditBatchCfg,cfgFeatrureList, hasData);
|
||||
}
|
||||
if(hasData) {
|
||||
page.setPageNo(1);
|
||||
}
|
||||
}else{
|
||||
hasData = false;
|
||||
}
|
||||
}
|
||||
}else{
|
||||
logger.info("未知业务");
|
||||
}
|
||||
}else {
|
||||
/************************单域maat处理****************************************/
|
||||
int cfgType = Integer.parseInt(service.get("cfgType").toString());
|
||||
if("ddos_ip_cfg".equals(tableNameXml)){
|
||||
boolean hasData = true;
|
||||
while(hasData){
|
||||
List<DdosIpCfg> list=ddosCfgService.findPage(page, searchDdosIpCfg).getList();
|
||||
if(!StringUtil.isEmpty(list)){
|
||||
if(auditBatchCfg.getIsValid().equals(1)) {
|
||||
hasData=configSynchronizationService.auditDdosMaatData(cfgList,userRegionList,
|
||||
page,auditBatchCfg,list,hasData,true);
|
||||
}else {
|
||||
List<BaseCfg> newList=new ArrayList<>();
|
||||
if(!StringUtil.isEmpty(list)) {
|
||||
for (Object obj : list) {
|
||||
BaseCfg cfg=(BaseCfg)obj;
|
||||
newList.add(cfg);
|
||||
}
|
||||
}
|
||||
hasData=commonPolicyService.auditNtcMaatData(cfgList, page, auditBatchCfg,newList, hasData);
|
||||
}
|
||||
if(hasData) {
|
||||
page.setPageNo(1);
|
||||
}
|
||||
}else{
|
||||
hasData = false;
|
||||
}
|
||||
}
|
||||
}else{
|
||||
boolean hasData = true;
|
||||
while(hasData){
|
||||
List list = Lists.newArrayList();
|
||||
/*
|
||||
1026 app_domain_cfg
|
||||
1028 app_ip_cfg
|
||||
1029 app_ssl_cert_cfg
|
||||
1152 app_topic_domain_cfg
|
||||
1024 app_http_cfg
|
||||
1026 app_domain_cfg
|
||||
*/
|
||||
if(auditBatchCfg.getServiceId().equals(1026)) {
|
||||
list=appCfgService.findAppDomainList(page, searchAppDomainCfg).getList();
|
||||
}
|
||||
if(auditBatchCfg.getServiceId().equals(1028)) {
|
||||
list=appCfgService.findAppIpList(page, searchAppIpCfg).getList();
|
||||
}
|
||||
if(auditBatchCfg.getServiceId().equals(1029)) {
|
||||
list=appCfgService.findAppSslList(page, searchAppSslCertCfg).getList();
|
||||
}
|
||||
if(auditBatchCfg.getServiceId().equals(1152)) {
|
||||
list=appCfgService.findAppTopicDomainList(page, searchAppTopicCfg).getList();
|
||||
}
|
||||
if(auditBatchCfg.getServiceId().equals(1024)) {
|
||||
list=appCfgService.findAppHttpList(page, searchAppHttpCfg).getList();
|
||||
}
|
||||
if(!StringUtil.isEmpty(list)){
|
||||
if(auditBatchCfg.getIsValid().equals(1)) {
|
||||
if(auditBatchCfg.getServiceId().equals(1028)){
|
||||
hasData=configSynchronizationService.auditAppIpData(userRegionList,
|
||||
page,auditBatchCfg,list,hasData,true);
|
||||
}else{
|
||||
hasData=configSynchronizationService.auditSingleMaatData(cfgType,userRegionList,
|
||||
page,auditBatchCfg,list,hasData,true);
|
||||
}
|
||||
}else {
|
||||
List<BaseCfg> newList=new ArrayList<>();
|
||||
if(!StringUtil.isEmpty(list)) {
|
||||
for (Object obj : list) {
|
||||
BaseCfg cfg=(BaseCfg)obj;
|
||||
newList.add(cfg);
|
||||
}
|
||||
}
|
||||
hasData=commonPolicyService.auditNtcMaatData(cfgList, page, auditBatchCfg,newList, hasData);
|
||||
}
|
||||
if(hasData) {
|
||||
page.setPageNo(1);
|
||||
}
|
||||
}else{
|
||||
hasData = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}else if("2".equals(serviceTypeXml)){
|
||||
/********************回调类处理生效和失效一个方法【由于每个表检索条件不一样,需要自己处理,无法复用全量下发】*********/
|
||||
boolean hasData = true;
|
||||
while(hasData){
|
||||
hasData=handelCallbackData(classNameXml, page, hasData, auditBatchCfg
|
||||
, searchCfg
|
||||
, searchAppCfg
|
||||
, searchDigestCfg
|
||||
, searchFileSampleCfg
|
||||
, searchObjKeyringCfg
|
||||
, searchTrustedCaCertCfg
|
||||
, searchTrustedCaCrlCfg
|
||||
, searchDnsResStrategy
|
||||
, searchDnsIpCfg
|
||||
, searchIpPortCfg
|
||||
, searchSignSampleCfg);
|
||||
if(hasData){
|
||||
page.setPageNo(page.getNext());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
public List getDataList(Page searchPage
|
||||
,CfgIndexInfo searchCfg
|
||||
,AppPolicyCfg searchAppCfg
|
||||
,FileDigestCfg searchDigestCfg
|
||||
,AppFeatureIndex searchAppFeatureIndex){
|
||||
BaseCfg baseCfg=new BaseCfg<>();
|
||||
if(!StringUtil.isEmpty(searchCfg)) {
|
||||
BeanUtils.copyProperties(searchCfg, baseCfg);
|
||||
}
|
||||
if(!StringUtil.isEmpty(searchAppCfg)) {
|
||||
BeanUtils.copyProperties(searchAppCfg, baseCfg);
|
||||
}
|
||||
if(!StringUtil.isEmpty(searchDigestCfg)) {
|
||||
BeanUtils.copyProperties(searchDigestCfg, baseCfg);
|
||||
}
|
||||
if(!StringUtil.isEmpty(searchAppFeatureIndex)) {
|
||||
BeanUtils.copyProperties(searchAppFeatureIndex, baseCfg);
|
||||
}
|
||||
Page pageResult=new Page();
|
||||
if(baseCfg.getFunctionId().equals(5)//IP
|
||||
|| baseCfg.getFunctionId().equals(3)) { //IP WHITELIST
|
||||
pageResult=ipCfgService.getIpCfgList(searchPage,searchCfg);
|
||||
}else if(baseCfg.getFunctionId().equals(212) //IP Payload
|
||||
|| baseCfg.getFunctionId().equals(7) //DNS
|
||||
|| baseCfg.getFunctionId().equals(8)//HTTP ADVANCED
|
||||
|| baseCfg.getFunctionId().equals(635) //HTTP 关键字
|
||||
|| baseCfg.getFunctionId().equals(37) //MAIL ADDRESS
|
||||
|| baseCfg.getFunctionId().equals(35) //MAIL ADVANCED
|
||||
|| baseCfg.getFunctionId().equals(34)) {//SSL
|
||||
pageResult=websiteCfgService.getWebsiteList(searchPage, searchCfg);
|
||||
}else if(baseCfg.getFunctionId().equals(6)) {//HTTP URL
|
||||
pageResult=domainService.getDomainList(searchPage, searchCfg);
|
||||
}else if(baseCfg.getFunctionId().equals(63)//Stream basic
|
||||
|| baseCfg.getFunctionId().equals(407)//Stream app
|
||||
|| baseCfg.getFunctionId().equals(408)) {//Stream behavior
|
||||
pageResult=appCfgService.findAppPolicyList(searchPage, searchAppCfg);
|
||||
}else if(baseCfg.getFunctionId().equals(61)) {//BGP
|
||||
pageResult=bgpCfgService.getBgpList(searchPage, searchCfg);
|
||||
}else if(baseCfg.getFunctionId().equals(51)) {//FTP
|
||||
pageResult=fileTransferCfgService.getFtpList(searchPage, searchCfg);
|
||||
}else if(baseCfg.getFunctionId().equals(510)) {//P2P
|
||||
pageResult=fileTransferCfgService.getFtpList(searchPage, searchCfg);
|
||||
}else if(baseCfg.getFunctionId().equals(22)) {//Stream Media
|
||||
pageResult=avContentCfgService.findPage(searchPage, searchCfg);
|
||||
}else if(baseCfg.getFunctionId().equals(24)) {//VOIP
|
||||
pageResult=avContentCfgService.findPage(searchPage, searchCfg);
|
||||
}else if(baseCfg.getFunctionId().equals(52)) {//Digest
|
||||
pageResult=fileTransferCfgService.getFileDigestList(searchPage, searchDigestCfg);
|
||||
}else if(baseCfg.getFunctionId().equals(200)//intercept ip
|
||||
||baseCfg.getFunctionId().equals(201)) {//intercept domain
|
||||
pageResult=interceptCfgService.getWebsiteList(searchPage, searchCfg);
|
||||
}else if(baseCfg.getFunctionId().equals(207) //control
|
||||
||baseCfg.getFunctionId().equals(208)
|
||||
||baseCfg.getFunctionId().equals(209)
|
||||
||baseCfg.getFunctionId().equals(210)
|
||||
||baseCfg.getFunctionId().equals(211)) {
|
||||
pageResult=httpRedirectCfgService.getHttpRedirectList(searchPage, searchCfg);
|
||||
}else if(baseCfg.getFunctionId().equals(213)) {// cache
|
||||
pageResult=cachePolicyService.getCachePolicyList(searchPage, searchCfg);
|
||||
}else if(baseCfg.getFunctionId().equals(52)) {//appFeatre
|
||||
pageResult=appMultiFeatureCfgService.findAppFeatureIndexList(searchPage,searchAppFeatureIndex);
|
||||
}
|
||||
return pageResult.getList();
|
||||
}
|
||||
|
||||
private boolean handelCallbackData(String className,Page page,boolean hasData,BaseCfg entity
|
||||
,CfgIndexInfo searchCfg
|
||||
,AppPolicyCfg searchAppCfg
|
||||
,FileDigestCfg searchDigestCfg
|
||||
,AvFileSampleCfg searchFileSampleCfg
|
||||
,PxyObjKeyring searchObjKeyringCfg
|
||||
,PxyObjTrustedCaCert searchTrustedCaCertCfg
|
||||
,PxyObjTrustedCaCrl searchTrustedCaCrlCfg
|
||||
,DnsResStrategy searchDnsResStrategy
|
||||
,DnsIpCfg searchDnsIpCfg
|
||||
,IpPortCfg searchIpPortCfg
|
||||
,AvSignSampleCfg searchSignSampleCfg) {
|
||||
ToMaatBean maatBean;
|
||||
MaatCfg maatCfg;
|
||||
List<MaatCfg> configCompileList;
|
||||
List<GroupCfg> groupRelationList;
|
||||
List<IpCfg> ipRegionList;
|
||||
List<StringCfg> strRegionList;
|
||||
List<NumBoundaryCfg> numRegionList;
|
||||
List<DigestCfg> digestRegionList;
|
||||
List<IpCfg> areaIpRegionList;
|
||||
|
||||
maatBean = new ToMaatBean();
|
||||
configCompileList = new ArrayList();
|
||||
List list = new ArrayList();
|
||||
List newList = new ArrayList();
|
||||
List ids = new ArrayList();
|
||||
List<Integer> compileIds = Lists.newArrayList();
|
||||
if(entity.getServiceId().equals(3)){//ip drop回调类配置用了主表和子表关系
|
||||
list = getDataList(page, searchCfg, null, null,null);
|
||||
if(!StringUtil.isEmpty(list)){
|
||||
for(int i=0;i<list.size();i++){
|
||||
CfgIndexInfo cfg = (CfgIndexInfo) list.get(i);
|
||||
compileIds.add(cfg.getCompileId());
|
||||
}
|
||||
List subList = commonPolicyService.getIpDropList("ip_port_cfg", compileIds);
|
||||
for(int i=0;i<subList.size();i++){
|
||||
IpPortCfg cfg = (IpPortCfg) subList.get(i);
|
||||
newList.add(BaseService.convertCallBackIp(cfg,cfg.getGroupId()));
|
||||
}
|
||||
|
||||
}
|
||||
}else{
|
||||
if(className.equals("AvFileSampleCfg")){
|
||||
list = avCfgService.getAvFileSampleList(page,searchFileSampleCfg).getList();
|
||||
for(int i=0;i<list.size();i++){
|
||||
BaseCfg cfg = (BaseCfg) list.get(i);
|
||||
ids.add(cfg.getCompileId());
|
||||
}
|
||||
newList.addAll(list);
|
||||
}else if(className.equals("AvSignSampleCfg")){
|
||||
list = avCfgService.getSignSampleList(searchSignSampleCfg);
|
||||
for(int i=0;i<list.size();i++){
|
||||
BaseCfg cfg = (BaseCfg) list.get(i);
|
||||
ids.add(cfg.getCompileId());
|
||||
}
|
||||
newList.addAll(list);
|
||||
}else if(className.equals("PxyObjKeyring")){
|
||||
list = pxyObjKeyringService.findPage(page, searchObjKeyringCfg).getList();
|
||||
for(int i=0;i<list.size();i++){
|
||||
PxyObjKeyring cfg = (PxyObjKeyring) list.get(i);
|
||||
newList.add(BaseService.convertCallBackProxyObjKeyring(cfg));
|
||||
ids.add(cfg.getCompileId());
|
||||
}
|
||||
}else if(className.equals("PxyObjTrustedCaCert")){
|
||||
list = pxyObjKeyringService.findTrustedCertPage(page,searchTrustedCaCertCfg).getList();
|
||||
for(int i=0;i<list.size();i++){
|
||||
PxyObjTrustedCaCert cfg = (PxyObjTrustedCaCert) list.get(i);
|
||||
newList.addAll(BaseService.convertCallBackProxyObjTrustedCa(cfg,null));
|
||||
//TODO 要保证cert下发成功crl必须也同时下发成功,需要单个查询
|
||||
ids.add(cfg.getCompileId());
|
||||
}
|
||||
}/*else if(className.equals("PxyObjTrustedCaCrl")){ //批量下发时不需要单独下发CRL
|
||||
list = pxyObjKeyringService;
|
||||
for(int i=0;i<list.size();i++){
|
||||
PxyObjTrustedCaCrl cfg = (PxyObjTrustedCaCrl) list.get(i);
|
||||
newList.add(BaseService.convertCallBackProxyObjTrustedCa(null,cfg));
|
||||
ids.add(cfg.getCompileId());
|
||||
}
|
||||
}*/else if(className.equals("DnsResStrategy")){
|
||||
list = dnsResStrategyService.findPage(page,searchDnsResStrategy).getList();
|
||||
for(int i=0;i<list.size();i++){
|
||||
DnsResStrategy cfg = (DnsResStrategy) list.get(i);
|
||||
newList.add(BaseService.convertCallBackDnsResStrategy(cfg));
|
||||
ids.add(cfg.getCompileId());
|
||||
}
|
||||
}else if(className.equals("DnsIpCfg")){
|
||||
list = dnsIpCfgService.findPage(page,searchDnsIpCfg).getList();
|
||||
for(int i=0;i<list.size();i++){
|
||||
DnsIpCfg cfg = (DnsIpCfg) list.get(i);
|
||||
newList.add(BaseService.convertCallBackIp(cfg,cfg.getGroupId()));
|
||||
ids.add(cfg.getCompileId());
|
||||
}
|
||||
}else if(className.equals("IpPortCfg")){
|
||||
list = commonPolicyService.getIpPortList(searchIpPortCfg);
|
||||
for(int i=0;i<list.size();i++){
|
||||
IpPortCfg cfg = (IpPortCfg) list.get(i);
|
||||
newList.add(BaseService.convertCallBackIp(cfg,cfg.getGroupId()));
|
||||
ids.add(cfg.getCompileId());
|
||||
}
|
||||
}
|
||||
}
|
||||
//批量修改和下发回调配置
|
||||
commonPolicyService.auditCallBackData(newList, compileIds, ids, entity);
|
||||
|
||||
page.setList(list);
|
||||
if(page.isLastPage()){
|
||||
hasData = false;
|
||||
}
|
||||
|
||||
return hasData;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user