(1)index 跟子配置保存放到service同一个事务中
(2)修复是否下发选项隐藏导致的空指针异常
This commit is contained in:
@@ -94,6 +94,7 @@ import com.nis.util.excel.thread.CheckStringFormatThread;
|
||||
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.DictService;
|
||||
import com.nis.web.service.LogService;
|
||||
import com.nis.web.service.MenuService;
|
||||
@@ -1248,7 +1249,7 @@ public class BaseController {
|
||||
String specServiceId = request.getParameter("appId");
|
||||
String behaviorId = request.getParameter("behaviorId");
|
||||
String asnIpGroup = request.getParameter("asnGroupId");
|
||||
String isSend = request.getParameter("isSend");
|
||||
String isSend = request.getParameter("isSend")==null?"":request.getParameter("isSend");
|
||||
SpecificServiceCfg specificServiceCfg = null;
|
||||
if (serviceDict!=null&&(serviceDict.getServiceId().intValue() == 33 || serviceDict.getServiceId().intValue() == 145
|
||||
|| serviceDict.getServiceId().intValue() == 35
|
||||
@@ -1403,7 +1404,7 @@ public class BaseController {
|
||||
asnIpCfgs.add(_cfg);
|
||||
ind++;
|
||||
}
|
||||
this.splitAndSave(regionDict, serviceDict, specificServiceCfg, asnIpCfgs, cfgIndexInfos, appPolicyCfgs,isSend.equals("1"));
|
||||
ipCfgService.saveAndSend(regionDict, serviceDict, specificServiceCfg, asnIpCfgs, cfgIndexInfos, appPolicyCfgs,isSend.equals("1"));
|
||||
cfgIndexInfos.clear();
|
||||
appPolicyCfgs.clear();
|
||||
_ipPortCfgs.clear();
|
||||
@@ -1532,7 +1533,7 @@ public class BaseController {
|
||||
}
|
||||
ind++;
|
||||
}
|
||||
this.splitAndSave(regionDict, serviceDict, specificServiceCfg, _ipPortCfgs, cfgIndexInfos, appPolicyCfgs,isSend.equals("1"));
|
||||
ipCfgService.saveAndSend(regionDict, serviceDict, specificServiceCfg, _ipPortCfgs, cfgIndexInfos, appPolicyCfgs,isSend.equals("1"));
|
||||
cfgIndexInfos.clear();
|
||||
appPolicyCfgs.clear();
|
||||
_ipPortCfgs.clear();
|
||||
@@ -1653,7 +1654,7 @@ public class BaseController {
|
||||
}
|
||||
ind++;
|
||||
}
|
||||
this.splitAndSave(regionDict, serviceDict, specificServiceCfg, _stringCfgs, cfgIndexInfos, appPolicyCfgs,isSend.equals("1"));
|
||||
ipCfgService.saveAndSend(regionDict, serviceDict, specificServiceCfg, _stringCfgs, cfgIndexInfos, appPolicyCfgs,isSend.equals("1"));
|
||||
cfgIndexInfos.clear();
|
||||
appPolicyCfgs.clear();
|
||||
_stringCfgs.clear();
|
||||
@@ -1731,7 +1732,7 @@ public class BaseController {
|
||||
}
|
||||
ind++;
|
||||
}
|
||||
this.splitAndSave(regionDict, serviceDict, specificServiceCfg, _complexkeywordCfgs, cfgIndexInfos, appPolicyCfgs,isSend.equals("1"));
|
||||
ipCfgService.saveAndSend(regionDict, serviceDict, specificServiceCfg, _complexkeywordCfgs, cfgIndexInfos, appPolicyCfgs,isSend.equals("1"));
|
||||
cfgIndexInfos.clear();
|
||||
appPolicyCfgs.clear();
|
||||
_complexkeywordCfgs.clear();
|
||||
@@ -1771,7 +1772,7 @@ public class BaseController {
|
||||
cfg.setCompileId(compileIds.get(ind));
|
||||
ind++;
|
||||
}
|
||||
this.splitAndSave(regionDict, serviceDict, specificServiceCfg, _dnsResStrategies, cfgIndexInfos, appPolicyCfgs,isSend.equals("1"));
|
||||
ipCfgService.saveAndSend(regionDict, serviceDict, specificServiceCfg, _dnsResStrategies, cfgIndexInfos, appPolicyCfgs,isSend.equals("1"));
|
||||
_dnsResStrategies.clear();
|
||||
cfgIndexInfos.clear();
|
||||
appPolicyCfgs.clear();
|
||||
@@ -1850,144 +1851,6 @@ public class BaseController {
|
||||
}
|
||||
|
||||
}
|
||||
/**
|
||||
* 分割并保存
|
||||
* @param regionDict
|
||||
* @param serviceDict
|
||||
* @param specificServiceCfg
|
||||
* @param asnNoMap
|
||||
* @param list
|
||||
* @param cfgIndexInfos
|
||||
* @param appPolicyCfgs
|
||||
*/
|
||||
public void splitAndSave(FunctionRegionDict regionDict,FunctionServiceDict serviceDict,
|
||||
SpecificServiceCfg specificServiceCfg,
|
||||
List<? extends BaseCfg> list,List<CfgIndexInfo> cfgIndexInfos,
|
||||
List<AppPolicyCfg> appPolicyCfgs,boolean send){
|
||||
if(list!=null&&list.size()>0) {
|
||||
String type=null;
|
||||
if (list.get(0) instanceof BaseIpCfg) {
|
||||
type="BaseIpCfg";
|
||||
}else if(list.get(0) instanceof BaseStringCfg) {
|
||||
type="BaseStringCfg";
|
||||
}else if(list.get(0) instanceof ComplexkeywordCfg) {
|
||||
type="ComplexkeywordCfg";
|
||||
}else if(list.get(0) instanceof DnsResStrategy) {
|
||||
type="DnsResStrategy";
|
||||
}else if(list.get(0) instanceof AsnIpCfg) {
|
||||
type="AsnIpCfg";
|
||||
}
|
||||
if (cfgIndexInfos != null && cfgIndexInfos.size() > 0) {
|
||||
ipCfgService.saveCfgIndexOf(cfgIndexInfos);
|
||||
}
|
||||
if (appPolicyCfgs != null && appPolicyCfgs.size() > 0) {
|
||||
appCfgService.savePolicyList(appPolicyCfgs);
|
||||
}
|
||||
if("BaseIpCfg".equals(type)) {
|
||||
List<BaseIpCfg> listPage = (List<BaseIpCfg>) list;
|
||||
if (regionDict.getFunctionId().equals(301)) {
|
||||
ddosCfgService.saveDdosIpCfg((List<BaseIpCfg>)listPage);
|
||||
}else if (regionDict.getFunctionId().equals(401)) {
|
||||
dnsIpCfgService.saveDnsIpCfg((List<BaseIpCfg>)listPage);
|
||||
}else if (specificServiceCfg!=null&®ionDict.getFunctionId().equals(405)) {
|
||||
appCfgService.saveAppIpCfg((List<BaseIpCfg>)listPage,specificServiceCfg);
|
||||
}else {
|
||||
ipCfgService.saveIpBatch(regionDict,serviceDict,(List<BaseIpCfg>)listPage,send);
|
||||
}
|
||||
}else if("AsnIpCfg".equals(type)) {
|
||||
List<AsnIpCfg> listPage = (List<AsnIpCfg>) list;
|
||||
asnIpCfgService.saveAsnIpBatch(listPage);
|
||||
}else if("BaseStringCfg".equals(type)) {
|
||||
List<BaseStringCfg<?>> listPage = (List<BaseStringCfg<?>>) list;
|
||||
// 调用对应配置的service
|
||||
// ip_payload
|
||||
if (regionDict.getDictId().intValue() == 167) {
|
||||
// interceptCfgService.saveInterceptCfg(listPage);
|
||||
interceptCfgService.saveStringCfgBatch(regionDict,serviceDict,listPage, "intercept_pkt_bin",send);
|
||||
}
|
||||
// http url
|
||||
if (regionDict.getDictId().intValue() == 9||regionDict.getDictId().intValue() == 15 || regionDict.getDictId().intValue() == 596) {
|
||||
// websiteCfgService.saveHttpUrlCfg(listPage);
|
||||
websiteCfgService.saveStringCfgBatch(regionDict,serviceDict,listPage, "http_url_cfg",send);
|
||||
}
|
||||
// FTP url/content
|
||||
if (regionDict.getDictId().intValue() == 36||regionDict.getDictId().intValue() == 37) {
|
||||
// fileTransferCfgService.saveFtpCfg(listPage);
|
||||
fileTransferCfgService.saveStringCfgBatch(regionDict,serviceDict,listPage, "ftp_keyword_cfg",send);
|
||||
}
|
||||
// P2P eMule Keyword
|
||||
if(regionDict.getDictId().intValue() == 158){
|
||||
fileTransferCfgService.saveStringCfgBatch(regionDict,serviceDict,listPage, "p2p_keyword_cfg",send);
|
||||
}
|
||||
// P2P File Marking
|
||||
if(regionDict.getDictId().intValue() == 159){
|
||||
// fileTransferCfgService.saveP2pCfg(listPage);
|
||||
fileTransferCfgService.saveStringCfgBatch(regionDict,serviceDict,listPage, "p2p_hash_cfg",send);
|
||||
}
|
||||
// BGP AS
|
||||
if (regionDict.getFunctionId().equals(61)) {
|
||||
// bgpCfgService.saveBgpAsCfg(listPage);
|
||||
bgpCfgService.saveStringCfgBatch(regionDict,serviceDict,listPage, "ntc_bgp_as_cfg",send);
|
||||
}
|
||||
// SSL SNI/SAN/CN
|
||||
if (regionDict.getFunctionId().intValue() == 34) {
|
||||
// websiteCfgService.saveSslCfg(listPage);
|
||||
websiteCfgService.saveStringCfgBatch(regionDict,serviceDict,listPage, "ssl_keyword_cfg",send);
|
||||
}
|
||||
// HTTP 请求/应答内容
|
||||
if(regionDict.getDictId().intValue()==12||regionDict.getDictId().intValue()==13||regionDict.getDictId().intValue()==601||regionDict.getDictId().intValue()==602) {
|
||||
// websiteCfgService.saveHttpBodyCfg(listPage);
|
||||
websiteCfgService.saveStringCfgBatch(regionDict,serviceDict,listPage, "http_body_cfg",send);
|
||||
}
|
||||
// 流媒体协议
|
||||
if(regionDict.getDictId().intValue()==25){
|
||||
// avContentCfgService.saveContUrlCfg(listPage);
|
||||
avContentCfgService.saveStringCfgBatch(regionDict,serviceDict,listPage, "av_cont_url_cfg",send);
|
||||
}
|
||||
// Voip Account
|
||||
if(regionDict.getDictId().intValue()==16){
|
||||
// avContentCfgService.saveVoIpAccountCfg(listPage);
|
||||
avContentCfgService.saveStringCfgBatch(regionDict,serviceDict,listPage, "av_voip_account_cfg",send);
|
||||
}
|
||||
// APP域名特征
|
||||
if(regionDict.getDictId().intValue()==64){
|
||||
// appCfgService.saveAppDomainCfg(listPage);
|
||||
appCfgService.saveAppDomainCfgBatch(listPage);
|
||||
}
|
||||
}else if("ComplexkeywordCfg".equals(type)) {
|
||||
List<ComplexkeywordCfg> listPage = (List<ComplexkeywordCfg>) list;
|
||||
// DNS
|
||||
if (regionDict.getDictId().intValue() == 28) {
|
||||
// websiteCfgService.saveDnsCfg(listPage);
|
||||
websiteCfgService.saveComplexkeywordCfgBatch(listPage, "dns_domain_cfg");
|
||||
}
|
||||
// Mail
|
||||
if (regionDict.getDictId().intValue() == 30 || regionDict.getDictId().intValue() == 31||regionDict.getDictId().intValue() == 599) {
|
||||
// mailCfgService.saveMailCfg(listPage);
|
||||
mailCfgService.saveComplexkeywordCfgBatch(listPage, "mail_keyword_cfg");
|
||||
}
|
||||
// HTTP请求头域
|
||||
if(regionDict.getDictId().intValue()==10) {
|
||||
// websiteCfgService.saveHttpReqHeadCfg(listPage);
|
||||
websiteCfgService.saveComplexkeywordCfgBatch(listPage, "http_req_head_cfg");
|
||||
}
|
||||
// HTTP响应头域
|
||||
if(regionDict.getDictId().intValue()==11) {
|
||||
// websiteCfgService.saveHttpResHeadCfg(listPage);
|
||||
websiteCfgService.saveComplexkeywordCfgBatch(listPage, "http_res_head_cfg");
|
||||
}
|
||||
// APP http特征
|
||||
if(regionDict.getDictId().intValue()==63) {
|
||||
// appCfgService.saveAppHttpCfg(listPage);
|
||||
appCfgService.saveAppHttpCfgBatch(listPage);
|
||||
}
|
||||
}else if("DnsResStrategy".equals(type)) {
|
||||
List<DnsResStrategy> listPage = (List<DnsResStrategy>) list;
|
||||
// dnsResStrategyService.saveDnsResStrategies(listPage);
|
||||
dnsResStrategyService.saveDnsResStrategyCfgBatch(listPage);
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 多域配置导出
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user