IP导入,url导入,SNI导入加入导入时直接审核功能
This commit is contained in:
@@ -228,7 +228,35 @@ public class BaseCfg<T> extends BaseEntity<T> implements Cloneable{
|
|||||||
@ExcelField(title="do_log",dictType="DO_LOG",sort=30)
|
@ExcelField(title="do_log",dictType="DO_LOG",sort=30)
|
||||||
protected Integer doLog = Constants.MAAT_CFG_DOLOG_DEFAULT;
|
protected Integer doLog = Constants.MAAT_CFG_DOLOG_DEFAULT;
|
||||||
|
|
||||||
|
protected Integer groupId;//仅用于copy属性使用
|
||||||
|
protected Integer regionId;//仅用于copy属性使用
|
||||||
|
protected Integer numberRegionGroupId;//仅用于copy属性使用
|
||||||
|
protected Integer numberRegionRegionId;//仅用于copy属性使用
|
||||||
|
|
||||||
|
public Integer getNumberRegionGroupId() {
|
||||||
|
return numberRegionGroupId;
|
||||||
|
}
|
||||||
|
public void setNumberRegionGroupId(Integer numberRegionGroupId) {
|
||||||
|
this.numberRegionGroupId = numberRegionGroupId;
|
||||||
|
}
|
||||||
|
public Integer getNumberRegionRegionId() {
|
||||||
|
return numberRegionRegionId;
|
||||||
|
}
|
||||||
|
public void setNumberRegionRegionId(Integer numberRegionRegionId) {
|
||||||
|
this.numberRegionRegionId = numberRegionRegionId;
|
||||||
|
}
|
||||||
|
public Integer getGroupId() {
|
||||||
|
return groupId;
|
||||||
|
}
|
||||||
|
public void setGroupId(Integer groupId) {
|
||||||
|
this.groupId = groupId;
|
||||||
|
}
|
||||||
|
public Integer getRegionId() {
|
||||||
|
return regionId;
|
||||||
|
}
|
||||||
|
public void setRegionId(Integer regionId) {
|
||||||
|
this.regionId = regionId;
|
||||||
|
}
|
||||||
public Integer getDoLog() {
|
public Integer getDoLog() {
|
||||||
return doLog;
|
return doLog;
|
||||||
}
|
}
|
||||||
@@ -281,7 +309,7 @@ public class BaseCfg<T> extends BaseEntity<T> implements Cloneable{
|
|||||||
if(!StringUtil.isEmpty(list)) {
|
if(!StringUtil.isEmpty(list)) {
|
||||||
for (SysMenu menu :list) {
|
for (SysMenu menu :list) {
|
||||||
if (!StringUtil.isEmpty(menu.getCode())
|
if (!StringUtil.isEmpty(menu.getCode())
|
||||||
&& !StringUtil.isEmpty(menu.getFunctionId())
|
&&menu.getFunctionId()!=null
|
||||||
&& menu.getFunctionId().equals(functionId)
|
&& menu.getFunctionId().equals(functionId)
|
||||||
//&& menu.getFunctionId().equals(functionId)
|
//&& menu.getFunctionId().equals(functionId)
|
||||||
) {
|
) {
|
||||||
|
|||||||
@@ -44,7 +44,6 @@ public class BaseStringCfg<T> extends BaseCfg<T> {
|
|||||||
protected Integer behavCode;//仅用于copy属性使用
|
protected Integer behavCode;//仅用于copy属性使用
|
||||||
protected Integer specServiceId;//仅用于copy属性使用
|
protected Integer specServiceId;//仅用于copy属性使用
|
||||||
protected String domain;//仅用于copy属性使用
|
protected String domain;//仅用于copy属性使用
|
||||||
|
|
||||||
public String getDomain() {
|
public String getDomain() {
|
||||||
return domain;
|
return domain;
|
||||||
}
|
}
|
||||||
@@ -251,4 +250,17 @@ public class BaseStringCfg<T> extends BaseCfg<T> {
|
|||||||
public void setIndex(Integer index) {
|
public void setIndex(Integer index) {
|
||||||
this.index = index;
|
this.index = index;
|
||||||
}
|
}
|
||||||
|
public Integer getGroupId() {
|
||||||
|
return groupId;
|
||||||
|
}
|
||||||
|
public void setGroupId(Integer groupId) {
|
||||||
|
this.groupId = groupId;
|
||||||
|
}
|
||||||
|
public Integer getRegionId() {
|
||||||
|
return regionId;
|
||||||
|
}
|
||||||
|
public void setRegionId(Integer regionId) {
|
||||||
|
this.regionId = regionId;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -397,7 +397,7 @@ public class ImportBigExcel extends XLSXCovertCSVReader{
|
|||||||
* @throws SAXException
|
* @throws SAXException
|
||||||
* @throws ParserConfigurationException
|
* @throws ParserConfigurationException
|
||||||
* @throws OpenXML4JException
|
* @throws OpenXML4JException
|
||||||
* @throws IOException
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
public <E> BlockingQueue<E> getDataList(Class<E> cls) throws InstantiationException, IllegalAccessException, IOException, OpenXML4JException, ParserConfigurationException, SAXException, SQLException{
|
public <E> BlockingQueue<E> getDataList(Class<E> cls) throws InstantiationException, IllegalAccessException, IOException, OpenXML4JException, ParserConfigurationException, SAXException, SQLException{
|
||||||
log.warn("start to load data...");
|
log.warn("start to load data...");
|
||||||
@@ -494,7 +494,7 @@ public class ImportBigExcel extends XLSXCovertCSVReader{
|
|||||||
log.debug("Read success: ["+i+"] "+sb.toString());
|
log.debug("Read success: ["+i+"] "+sb.toString());
|
||||||
}
|
}
|
||||||
long end=System.currentTimeMillis();
|
long end=System.currentTimeMillis();
|
||||||
log.warn(" load data finish,cost:"+(end-start));
|
log.warn(" load data finish,size:"+_dataList.size()+",cost:"+(end-start));
|
||||||
return _dataList;
|
return _dataList;
|
||||||
}
|
}
|
||||||
public File getUploadFile() {
|
public File getUploadFile() {
|
||||||
|
|||||||
390
src/main/java/com/nis/util/excel/thread/SaveStringCfgThread.java
Normal file
390
src/main/java/com/nis/util/excel/thread/SaveStringCfgThread.java
Normal file
@@ -0,0 +1,390 @@
|
|||||||
|
package com.nis.util.excel.thread;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.concurrent.BlockingQueue;
|
||||||
|
import java.util.concurrent.Callable;
|
||||||
|
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.apache.ibatis.session.ExecutorType;
|
||||||
|
import org.apache.ibatis.session.SqlSession;
|
||||||
|
import org.apache.ibatis.session.SqlSessionFactory;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
|
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
|
||||||
|
import org.springframework.transaction.TransactionDefinition;
|
||||||
|
import org.springframework.transaction.TransactionStatus;
|
||||||
|
import org.springframework.transaction.support.DefaultTransactionDefinition;
|
||||||
|
|
||||||
|
import com.beust.jcommander.internal.Lists;
|
||||||
|
import com.nis.domain.FunctionRegionDict;
|
||||||
|
import com.nis.domain.FunctionServiceDict;
|
||||||
|
import com.nis.domain.configuration.AppDomainCfg;
|
||||||
|
import com.nis.domain.configuration.AppPolicyCfg;
|
||||||
|
import com.nis.domain.configuration.BaseStringCfg;
|
||||||
|
import com.nis.domain.configuration.CfgIndexInfo;
|
||||||
|
import com.nis.domain.maat.MaatCfg;
|
||||||
|
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.maat.ToMaatBean;
|
||||||
|
import com.nis.domain.maat.ToMaatResult;
|
||||||
|
import com.nis.domain.specific.SpecificServiceCfg;
|
||||||
|
import com.nis.exceptions.MaatConvertException;
|
||||||
|
import com.nis.util.ConfigServiceUtil;
|
||||||
|
import com.nis.util.Constants;
|
||||||
|
import com.nis.util.DictUtils;
|
||||||
|
import com.nis.util.StringUtil;
|
||||||
|
import com.nis.web.dao.configuration.AppCfgDao;
|
||||||
|
import com.nis.web.dao.configuration.IpCfgDao;
|
||||||
|
import com.nis.web.dao.configuration.StringCfgDao;
|
||||||
|
import com.nis.web.security.UserUtils;
|
||||||
|
import com.nis.web.service.BaseService;
|
||||||
|
import com.nis.web.service.SpringContextHolder;
|
||||||
|
|
||||||
|
public class SaveStringCfgThread implements Callable<Throwable>{
|
||||||
|
private Logger logger=LoggerFactory.getLogger(getClass());
|
||||||
|
private BlockingQueue<BaseStringCfg<?>> stringCfgs;
|
||||||
|
private FunctionServiceDict serviceDict;
|
||||||
|
private FunctionRegionDict regionDict;
|
||||||
|
private Integer requestId;
|
||||||
|
private SpecificServiceCfg specificServiceCfg;
|
||||||
|
private String specServiceId;
|
||||||
|
private String behaviorId;
|
||||||
|
private String asnIpGroup;
|
||||||
|
private boolean audit;//是否下发
|
||||||
|
private static final SqlSessionFactory sqlSessionFactory=SpringContextHolder.getBean(SqlSessionFactory.class);
|
||||||
|
public SaveStringCfgThread(FunctionServiceDict serviceDict,FunctionRegionDict regionDict,Integer requestId,BlockingQueue<BaseStringCfg<?>> stringCfgs,boolean audit) {
|
||||||
|
this.serviceDict=serviceDict;
|
||||||
|
this.regionDict=regionDict;
|
||||||
|
this.stringCfgs=stringCfgs;
|
||||||
|
this.requestId=requestId;
|
||||||
|
this.audit=audit;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public Throwable call() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
try {
|
||||||
|
FunctionRegionDict appRegion = null;
|
||||||
|
if(serviceDict!=null) {
|
||||||
|
String regionCode = serviceDict.getRegionCode();
|
||||||
|
for (String code : regionCode.split(",")) {
|
||||||
|
if (StringUtils.isNotBlank(code)) {
|
||||||
|
FunctionRegionDict d = DictUtils.getFunctionRegionDictByRegionCode(serviceDict.getFunctionId(),
|
||||||
|
Integer.parseInt(code));
|
||||||
|
if (d != null && d.getConfigServiceType() != null
|
||||||
|
&& d.getConfigServiceType().equals("app_policy")) {
|
||||||
|
appRegion = d;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
DataSourceTransactionManager transactionManager=(DataSourceTransactionManager)SpringContextHolder.getBean("transactionManager");
|
||||||
|
List<BaseStringCfg> _stringCfgs=Lists.newArrayList(Constants.MAAT_JSON_SEND_SIZE);
|
||||||
|
List<AppPolicyCfg> appPolicyCfgs = new ArrayList<AppPolicyCfg>();
|
||||||
|
List<CfgIndexInfo> cfgIndexInfos = new ArrayList<CfgIndexInfo>();
|
||||||
|
while(!stringCfgs.isEmpty()) {
|
||||||
|
//开启一个新事物
|
||||||
|
DefaultTransactionDefinition def = new DefaultTransactionDefinition();
|
||||||
|
def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW); // 事物隔离级别,开启新事务,这样会比较安全些。
|
||||||
|
TransactionStatus status = transactionManager.getTransaction(def); // 获得事务状态
|
||||||
|
try {
|
||||||
|
stringCfgs.drainTo(_stringCfgs, Constants.MAAT_JSON_SEND_SIZE);
|
||||||
|
if(_stringCfgs.size()>0) {
|
||||||
|
List<Integer> compileIds=Lists.newArrayList();
|
||||||
|
List<Integer> groupIds=Lists.newArrayList();
|
||||||
|
List<Integer> regionIds=Lists.newArrayList();
|
||||||
|
try {
|
||||||
|
compileIds = ConfigServiceUtil.getId(1,_stringCfgs.size());
|
||||||
|
if(audit) {
|
||||||
|
groupIds = ConfigServiceUtil.getId(2,_stringCfgs.size());
|
||||||
|
regionIds = ConfigServiceUtil.getId(3,_stringCfgs.size());
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
logger.info("获取编译ID出错");
|
||||||
|
throw new MaatConvertException("<spring:message code=\"request_service_failed\"/>:"+e.getMessage());
|
||||||
|
}
|
||||||
|
int ind=0;
|
||||||
|
Date date=new Date();
|
||||||
|
for (BaseStringCfg cfg : _stringCfgs) {
|
||||||
|
cfg.setAction(serviceDict.getAction());
|
||||||
|
cfg.setCfgRegionCode(regionDict.getConfigRegionCode());
|
||||||
|
cfg.setCfgType(regionDict.getConfigRegionValue());
|
||||||
|
cfg.setCreateTime(date);
|
||||||
|
cfg.setCreatorId(UserUtils.getUser().getId());
|
||||||
|
cfg.setDoLog(1);
|
||||||
|
cfg.setFunctionId(regionDict.getFunctionId());
|
||||||
|
if(audit){
|
||||||
|
cfg.setIsAudit(Constants.AUDIT_YES);
|
||||||
|
cfg.setIsValid(Constants.VALID_YES);
|
||||||
|
cfg.setAuditorId(UserUtils.getUser().getId());
|
||||||
|
cfg.setAuditTime(date);
|
||||||
|
if(groupIds!=null&&groupIds.size()==_stringCfgs.size()) {
|
||||||
|
cfg.setGroupId(groupIds.get(ind));
|
||||||
|
}
|
||||||
|
if(regionIds!=null&®ionIds.size()==_stringCfgs.size()) {
|
||||||
|
cfg.setRegionId(regionIds.get(ind));
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
cfg.setIsAudit(Constants.AUDIT_NOT_YET);
|
||||||
|
cfg.setIsValid(Constants.VALID_NO);
|
||||||
|
}
|
||||||
|
|
||||||
|
cfg.setIsAreaEffective(0);
|
||||||
|
cfg.setAttribute("0");
|
||||||
|
cfg.setClassify("0");
|
||||||
|
cfg.setLable("0");
|
||||||
|
cfg.setRequestId(StringUtil.isEmpty(requestId) ? 0 : requestId);
|
||||||
|
cfg.setServiceId(serviceDict.getServiceId());
|
||||||
|
if(compileIds!=null&&compileIds.size()==_stringCfgs.size()) {
|
||||||
|
cfg.setCompileId(compileIds.get(ind));
|
||||||
|
}
|
||||||
|
if(specificServiceCfg!=null) {
|
||||||
|
cfg.setAppCode(specificServiceCfg.getSpecServiceCode());
|
||||||
|
cfg.setSpecServiceId(specificServiceCfg.getSpecServiceId());
|
||||||
|
if(StringUtils.isNotBlank(behaviorId))
|
||||||
|
cfg.setBehavCode(Integer.parseInt(behaviorId));
|
||||||
|
}
|
||||||
|
if (serviceDict.getServiceId().intValue() == 33
|
||||||
|
|| serviceDict.getServiceId().intValue() == 145
|
||||||
|
|| serviceDict.getServiceId().intValue() == 35
|
||||||
|
|| serviceDict.getServiceId().intValue() == 147
|
||||||
|
|| serviceDict.getServiceId().intValue() == 36
|
||||||
|
|| serviceDict.getServiceId().intValue() == 148) {
|
||||||
|
if (appRegion != null) {
|
||||||
|
AppPolicyCfg appPolicyCfg = new AppPolicyCfg();
|
||||||
|
BeanUtils.copyProperties(cfg, appPolicyCfg,new String[] {"cfgId"});
|
||||||
|
appPolicyCfg.setMatchMethod(0);
|
||||||
|
appPolicyCfg.setIsHexbin(0);
|
||||||
|
appPolicyCfg.setCfgType(appRegion.getConfigRegionValue());
|
||||||
|
appPolicyCfg.setCfgRegionCode(appRegion.getConfigRegionCode());
|
||||||
|
if (StringUtils.isNotBlank(behaviorId)) {
|
||||||
|
appPolicyCfg.setExprType(1);
|
||||||
|
} else {
|
||||||
|
appPolicyCfg.setExprType(0);
|
||||||
|
}
|
||||||
|
appPolicyCfgs.add(appPolicyCfg);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if(!regionDict.getFunctionId().equals(403)) {
|
||||||
|
CfgIndexInfo cfgIndexInfo = new CfgIndexInfo();
|
||||||
|
BeanUtils.copyProperties(cfg, cfgIndexInfo, new String[] {"cfgId"});
|
||||||
|
cfgIndexInfos.add(cfgIndexInfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
ind++;
|
||||||
|
}
|
||||||
|
this.saveAndSend(_stringCfgs, cfgIndexInfos, appPolicyCfgs);
|
||||||
|
cfgIndexInfos.clear();
|
||||||
|
appPolicyCfgs.clear();
|
||||||
|
_stringCfgs.clear();
|
||||||
|
transactionManager.commit(status);
|
||||||
|
}
|
||||||
|
|
||||||
|
}catch (Throwable e) {
|
||||||
|
transactionManager.rollback(status);
|
||||||
|
// TODO: handle exception
|
||||||
|
return e;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}catch (Throwable e) {
|
||||||
|
// TODO: handle exception
|
||||||
|
return e;
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBehaviorId() {
|
||||||
|
return behaviorId;
|
||||||
|
}
|
||||||
|
public void setBehaviorId(String behaviorId) {
|
||||||
|
this.behaviorId = behaviorId;
|
||||||
|
}
|
||||||
|
public String getAsnIpGroup() {
|
||||||
|
return asnIpGroup;
|
||||||
|
}
|
||||||
|
public void setAsnIpGroup(String asnIpGroup) {
|
||||||
|
this.asnIpGroup = asnIpGroup;
|
||||||
|
}
|
||||||
|
public SpecificServiceCfg getSpecificServiceCfg() {
|
||||||
|
return specificServiceCfg;
|
||||||
|
}
|
||||||
|
public void setSpecificServiceCfg(SpecificServiceCfg specificServiceCfg) {
|
||||||
|
this.specificServiceCfg = specificServiceCfg;
|
||||||
|
}
|
||||||
|
public FunctionServiceDict getServiceDict() {
|
||||||
|
return serviceDict;
|
||||||
|
}
|
||||||
|
public void setServiceDict(FunctionServiceDict serviceDict) {
|
||||||
|
this.serviceDict = serviceDict;
|
||||||
|
}
|
||||||
|
public Integer getRequestId() {
|
||||||
|
return requestId;
|
||||||
|
}
|
||||||
|
public void setRequestId(Integer requestId) {
|
||||||
|
this.requestId = requestId;
|
||||||
|
}
|
||||||
|
public String getSpecServiceId() {
|
||||||
|
return specServiceId;
|
||||||
|
}
|
||||||
|
public void setSpecServiceId(String specServiceId) {
|
||||||
|
this.specServiceId = specServiceId;
|
||||||
|
}
|
||||||
|
public void saveAndSend(List<BaseStringCfg> _stringCfgs,List<CfgIndexInfo> cfgIndexInfos, List<AppPolicyCfg> appPolicyCfgs) {
|
||||||
|
logger.warn("saveAndSend start");
|
||||||
|
long start=System.currentTimeMillis();
|
||||||
|
if(_stringCfgs.size()>0) {
|
||||||
|
SqlSession batchSqlSession = null;
|
||||||
|
List<MaatCfg> configCompileList = new ArrayList();
|
||||||
|
try{
|
||||||
|
batchSqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
|
||||||
|
for(int index = 0; index < _stringCfgs.size();index++){
|
||||||
|
if (regionDict.getDictId().intValue() == 167) {
|
||||||
|
BaseStringCfg<?> cfg = _stringCfgs.get(index);
|
||||||
|
cfg.setTableName("intercept_pkt_bin");
|
||||||
|
((StringCfgDao) batchSqlSession.getMapper(StringCfgDao.class)).saveStringCfgBatch(cfg);
|
||||||
|
}else
|
||||||
|
// http url
|
||||||
|
if (regionDict.getDictId().intValue() == 9||regionDict.getDictId().intValue() == 15 || regionDict.getDictId().intValue() == 596) {
|
||||||
|
BaseStringCfg<?> cfg = _stringCfgs.get(index);
|
||||||
|
cfg.setTableName("http_url_cfg");
|
||||||
|
((StringCfgDao) batchSqlSession.getMapper(StringCfgDao.class)).saveStringCfgBatch(cfg);
|
||||||
|
}else
|
||||||
|
// FTP url/content
|
||||||
|
if (regionDict.getDictId().intValue() == 36||regionDict.getDictId().intValue() == 37) {
|
||||||
|
BaseStringCfg<?> cfg = _stringCfgs.get(index);
|
||||||
|
cfg.setTableName("ftp_keyword_cfg");
|
||||||
|
((StringCfgDao) batchSqlSession.getMapper(StringCfgDao.class)).saveStringCfgBatch(cfg);
|
||||||
|
}else
|
||||||
|
// P2P eMule Keyword
|
||||||
|
if(regionDict.getDictId().intValue() == 158){
|
||||||
|
BaseStringCfg<?> cfg = _stringCfgs.get(index);
|
||||||
|
cfg.setTableName("p2p_keyword_cfg");
|
||||||
|
((StringCfgDao) batchSqlSession.getMapper(StringCfgDao.class)).saveStringCfgBatch(cfg);
|
||||||
|
}else
|
||||||
|
// P2P File Marking
|
||||||
|
if(regionDict.getDictId().intValue() == 159){
|
||||||
|
BaseStringCfg<?> cfg = _stringCfgs.get(index);
|
||||||
|
cfg.setTableName("p2p_hash_cfg");
|
||||||
|
((StringCfgDao) batchSqlSession.getMapper(StringCfgDao.class)).saveStringCfgBatch(cfg);
|
||||||
|
}else
|
||||||
|
// BGP AS
|
||||||
|
if (regionDict.getFunctionId().equals(61)) {
|
||||||
|
BaseStringCfg<?> cfg = _stringCfgs.get(index);
|
||||||
|
cfg.setTableName("ntc_bgp_as_cfg");
|
||||||
|
((StringCfgDao) batchSqlSession.getMapper(StringCfgDao.class)).saveStringCfgBatch(cfg);
|
||||||
|
}else
|
||||||
|
// SSL SNI/SAN/CN
|
||||||
|
if (regionDict.getFunctionId().intValue() == 34) {
|
||||||
|
BaseStringCfg<?> cfg = _stringCfgs.get(index);
|
||||||
|
cfg.setTableName("ssl_keyword_cfg");
|
||||||
|
((StringCfgDao) batchSqlSession.getMapper(StringCfgDao.class)).saveStringCfgBatch(cfg);
|
||||||
|
}else
|
||||||
|
// HTTP 请求/应答内容
|
||||||
|
if(regionDict.getDictId().intValue()==12||regionDict.getDictId().intValue()==13||regionDict.getDictId().intValue()==601||regionDict.getDictId().intValue()==602) {
|
||||||
|
BaseStringCfg<?> cfg = _stringCfgs.get(index);
|
||||||
|
cfg.setTableName("http_body_cfg");
|
||||||
|
((StringCfgDao) batchSqlSession.getMapper(StringCfgDao.class)).saveStringCfgBatch(cfg);
|
||||||
|
}else
|
||||||
|
// 流媒体协议
|
||||||
|
if(regionDict.getDictId().intValue()==25){
|
||||||
|
BaseStringCfg<?> cfg = _stringCfgs.get(index);
|
||||||
|
cfg.setTableName("av_cont_url_cfg");
|
||||||
|
((StringCfgDao) batchSqlSession.getMapper(StringCfgDao.class)).saveStringCfgBatch(cfg);
|
||||||
|
}else
|
||||||
|
// Voip Account
|
||||||
|
if(regionDict.getDictId().intValue()==16){
|
||||||
|
BaseStringCfg<?> cfg = _stringCfgs.get(index);
|
||||||
|
cfg.setTableName("av_voip_account_cfg");
|
||||||
|
((StringCfgDao) batchSqlSession.getMapper(StringCfgDao.class)).saveStringCfgBatch(cfg);
|
||||||
|
}else
|
||||||
|
// APP域名特征
|
||||||
|
if(regionDict.getDictId().intValue()==64){
|
||||||
|
AppDomainCfg cfg=new AppDomainCfg();
|
||||||
|
BeanUtils.copyProperties(_stringCfgs.get(index), cfg);
|
||||||
|
((AppCfgDao) batchSqlSession.getMapper(AppCfgDao.class)).insertAppDomainCfgBatch(cfg);
|
||||||
|
}
|
||||||
|
if (cfgIndexInfos != null && cfgIndexInfos.size() > 0) {
|
||||||
|
CfgIndexInfo cfgIndexInfo = cfgIndexInfos.get(index);
|
||||||
|
((IpCfgDao) batchSqlSession.getMapper(IpCfgDao.class)).saveCfgIndexForBatch(cfgIndexInfo);
|
||||||
|
}
|
||||||
|
if (appPolicyCfgs != null && appPolicyCfgs.size() > 0) {
|
||||||
|
SpringContextHolder.getBean(AppCfgDao.class).insertAppPolicyCfgForBatch(appPolicyCfgs.get(index));
|
||||||
|
}
|
||||||
|
if(audit) {
|
||||||
|
List<GroupCfg> groupRelationList = new ArrayList();
|
||||||
|
List<IpCfg> ipRegionList = new ArrayList();
|
||||||
|
List<StringCfg> strRegionList = new ArrayList();
|
||||||
|
List<NumBoundaryCfg> numRegionList = new ArrayList();
|
||||||
|
List<DigestCfg> digestRegionList = new ArrayList();
|
||||||
|
List<IpCfg> areaIpRegionList = new ArrayList();
|
||||||
|
GroupCfg group = new GroupCfg();
|
||||||
|
StringCfg cfg = new StringCfg();
|
||||||
|
BeanUtils.copyProperties(_stringCfgs.get(index), cfg);
|
||||||
|
group.setGroupId(_stringCfgs.get(index).getGroupId());
|
||||||
|
group.setCompileId(_stringCfgs.get(index).getCompileId());
|
||||||
|
group.setAuditTime(_stringCfgs.get(index).getAuditTime());
|
||||||
|
group.setIsValid(_stringCfgs.get(index).getIsValid());
|
||||||
|
groupRelationList.add(group);
|
||||||
|
cfg.setGroupId(group.getGroupId());
|
||||||
|
//处理配置关键字转译
|
||||||
|
cfg.setCfgKeywords(BaseService.keywordsEscape(cfg.getCfgKeywords()));
|
||||||
|
//增强字符串转换
|
||||||
|
cfg.setDistrict(BaseService.keywordsEscape(cfg.getDistrict()));
|
||||||
|
strRegionList.add(cfg);
|
||||||
|
MaatCfg maatCfg = new MaatCfg();
|
||||||
|
maatCfg.initDefaultValue();
|
||||||
|
BeanUtils.copyProperties(_stringCfgs.get(index), maatCfg);
|
||||||
|
maatCfg.setAction(_stringCfgs.get(index).getAction());
|
||||||
|
maatCfg.setAuditTime(_stringCfgs.get(index).getAuditTime());
|
||||||
|
maatCfg.setIpRegionList(ipRegionList);
|
||||||
|
maatCfg.setStrRegionList(strRegionList);
|
||||||
|
maatCfg.setNumRegionList(numRegionList);
|
||||||
|
maatCfg.setDigestRegionList(digestRegionList);
|
||||||
|
maatCfg.setGroupRelationList(groupRelationList);
|
||||||
|
maatCfg.setGroupNum(groupRelationList.size());
|
||||||
|
maatCfg.setAreaIpRegionList(areaIpRegionList);
|
||||||
|
maatCfg.setIsValid(_stringCfgs.get(index).getIsValid());
|
||||||
|
configCompileList.add(maatCfg);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
batchSqlSession.commit();
|
||||||
|
}finally {
|
||||||
|
if(batchSqlSession != null){
|
||||||
|
batchSqlSession.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(audit&&configCompileList.size()>0) {
|
||||||
|
|
||||||
|
ToMaatBean maatBean = new ToMaatBean();
|
||||||
|
maatBean.setConfigCompileList(configCompileList);
|
||||||
|
maatBean.setAuditTime(new Date());
|
||||||
|
maatBean.setCreatorName(UserUtils.getUser().getName());
|
||||||
|
maatBean.setVersion(Constants.MAAT_VERSION);
|
||||||
|
maatBean.setOpAction(Constants.INSERT_ACTION);
|
||||||
|
//调用服务接口下发配置数据
|
||||||
|
String json=BaseService.gsonToJson(maatBean);
|
||||||
|
logger.info("http配置下发配置参数:"+json);
|
||||||
|
//调用服务接口下发配置
|
||||||
|
ToMaatResult result = ConfigServiceUtil.postMaatCfg(json);
|
||||||
|
logger.info("http配置下发响应信息:"+result.getMsg());
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
long end=System.currentTimeMillis();
|
||||||
|
logger.warn("saveAndSend finish,cost:"+(end-start));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -91,7 +91,6 @@ import com.nis.util.excel.thread.CheckComplexStringFormatThread;
|
|||||||
import com.nis.util.excel.thread.CheckDnsResStrategyFormatThread;
|
import com.nis.util.excel.thread.CheckDnsResStrategyFormatThread;
|
||||||
import com.nis.util.excel.thread.CheckIpFormatThread;
|
import com.nis.util.excel.thread.CheckIpFormatThread;
|
||||||
import com.nis.util.excel.thread.CheckStringFormatThread;
|
import com.nis.util.excel.thread.CheckStringFormatThread;
|
||||||
import com.nis.web.dao.configuration.IpCfgDao;
|
|
||||||
import com.nis.web.security.UserUtils;
|
import com.nis.web.security.UserUtils;
|
||||||
import com.nis.web.service.ArchiveServcie;
|
import com.nis.web.service.ArchiveServcie;
|
||||||
import com.nis.web.service.AreaService;
|
import com.nis.web.service.AreaService;
|
||||||
@@ -1249,6 +1248,7 @@ public class BaseController {
|
|||||||
String specServiceId = request.getParameter("appId");
|
String specServiceId = request.getParameter("appId");
|
||||||
String behaviorId = request.getParameter("behaviorId");
|
String behaviorId = request.getParameter("behaviorId");
|
||||||
String asnIpGroup = request.getParameter("asnGroupId");
|
String asnIpGroup = request.getParameter("asnGroupId");
|
||||||
|
String isSend = request.getParameter("isSend");
|
||||||
SpecificServiceCfg specificServiceCfg = null;
|
SpecificServiceCfg specificServiceCfg = null;
|
||||||
if (serviceDict!=null&&(serviceDict.getServiceId().intValue() == 33 || serviceDict.getServiceId().intValue() == 145
|
if (serviceDict!=null&&(serviceDict.getServiceId().intValue() == 33 || serviceDict.getServiceId().intValue() == 145
|
||||||
|| serviceDict.getServiceId().intValue() == 35
|
|| serviceDict.getServiceId().intValue() == 35
|
||||||
@@ -1403,7 +1403,7 @@ public class BaseController {
|
|||||||
asnIpCfgs.add(_cfg);
|
asnIpCfgs.add(_cfg);
|
||||||
ind++;
|
ind++;
|
||||||
}
|
}
|
||||||
this.splitAndSave(regionDict, serviceDict, specificServiceCfg, asnIpCfgs, cfgIndexInfos, appPolicyCfgs);
|
this.splitAndSave(regionDict, serviceDict, specificServiceCfg, asnIpCfgs, cfgIndexInfos, appPolicyCfgs,isSend.equals("1"));
|
||||||
cfgIndexInfos.clear();
|
cfgIndexInfos.clear();
|
||||||
appPolicyCfgs.clear();
|
appPolicyCfgs.clear();
|
||||||
_ipPortCfgs.clear();
|
_ipPortCfgs.clear();
|
||||||
@@ -1415,9 +1415,21 @@ public class BaseController {
|
|||||||
ipPortCfgs.drainTo(_ipPortCfgs, Constants.MAAT_JSON_SEND_SIZE);
|
ipPortCfgs.drainTo(_ipPortCfgs, Constants.MAAT_JSON_SEND_SIZE);
|
||||||
List<Integer> compileIds=Lists.newArrayList();
|
List<Integer> compileIds=Lists.newArrayList();
|
||||||
List<Integer> regionIds=Lists.newArrayList();
|
List<Integer> regionIds=Lists.newArrayList();
|
||||||
|
List<Integer> groupIds=Lists.newArrayList();
|
||||||
|
List<Integer> numRegionGroupIds=Lists.newArrayList();
|
||||||
|
List<Integer> numRegionRegionIds=Lists.newArrayList();
|
||||||
if(!regionDict.getFunctionId().equals(405)) {//app ip compileId 从config_group_info中取
|
if(!regionDict.getFunctionId().equals(405)) {//app ip compileId 从config_group_info中取
|
||||||
try {
|
try {
|
||||||
compileIds = ConfigServiceUtil.getId(1,_ipPortCfgs.size());
|
compileIds = ConfigServiceUtil.getId(1,_ipPortCfgs.size());
|
||||||
|
if(isSend.equals("1")) {
|
||||||
|
groupIds = ConfigServiceUtil.getId(2,_ipPortCfgs.size());
|
||||||
|
regionIds = ConfigServiceUtil.getId(3,_ipPortCfgs.size());
|
||||||
|
}
|
||||||
|
//需要获取数值域的id
|
||||||
|
if(serviceDict!=null&&serviceDict.getProtocolId()!=null) {
|
||||||
|
numRegionGroupIds = ConfigServiceUtil.getId(2,_ipPortCfgs.size());
|
||||||
|
numRegionRegionIds = ConfigServiceUtil.getId(3,_ipPortCfgs.size());
|
||||||
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
logger.info("获取编译ID出错");
|
logger.info("获取编译ID出错");
|
||||||
@@ -1443,8 +1455,29 @@ public class BaseController {
|
|||||||
cfg.setCreatorId(UserUtils.getUser().getId());
|
cfg.setCreatorId(UserUtils.getUser().getId());
|
||||||
cfg.setDoLog(1);
|
cfg.setDoLog(1);
|
||||||
cfg.setFunctionId(regionDict.getFunctionId());
|
cfg.setFunctionId(regionDict.getFunctionId());
|
||||||
cfg.setIsAudit(0);
|
if(isSend.equals("1")) {
|
||||||
cfg.setIsValid(0);
|
cfg.setIsAudit(Constants.AUDIT_YES);
|
||||||
|
cfg.setIsValid(Constants.VALID_YES);
|
||||||
|
cfg.setAuditorId(UserUtils.getUser().getId());
|
||||||
|
cfg.setAuditTime(date);
|
||||||
|
if(groupIds!=null&&groupIds.size()==_ipPortCfgs.size()) {
|
||||||
|
cfg.setGroupId(groupIds.get(ind));
|
||||||
|
}
|
||||||
|
if(regionIds!=null&®ionIds.size()==_ipPortCfgs.size()) {
|
||||||
|
cfg.setRegionId(regionIds.get(ind));
|
||||||
|
}
|
||||||
|
if(serviceDict!=null&&serviceDict.getProtocolId()!=null) {
|
||||||
|
if(numRegionGroupIds!=null&&numRegionGroupIds.size()==_ipPortCfgs.size()) {
|
||||||
|
cfg.setNumberRegionGroupId(numRegionGroupIds.get(ind));
|
||||||
|
}
|
||||||
|
if(numRegionRegionIds!=null&&numRegionRegionIds.size()==_ipPortCfgs.size()) {
|
||||||
|
cfg.setNumberRegionRegionId(numRegionRegionIds.get(ind));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
cfg.setIsAudit(Constants.AUDIT_NOT_YET);
|
||||||
|
cfg.setIsValid(Constants.VALID_NO);
|
||||||
|
}
|
||||||
cfg.setIsAreaEffective(0);
|
cfg.setIsAreaEffective(0);
|
||||||
cfg.setAttribute("0");
|
cfg.setAttribute("0");
|
||||||
cfg.setClassify("0");
|
cfg.setClassify("0");
|
||||||
@@ -1499,7 +1532,7 @@ public class BaseController {
|
|||||||
}
|
}
|
||||||
ind++;
|
ind++;
|
||||||
}
|
}
|
||||||
this.splitAndSave(regionDict, serviceDict, specificServiceCfg, _ipPortCfgs, cfgIndexInfos, appPolicyCfgs);
|
this.splitAndSave(regionDict, serviceDict, specificServiceCfg, _ipPortCfgs, cfgIndexInfos, appPolicyCfgs,isSend.equals("1"));
|
||||||
cfgIndexInfos.clear();
|
cfgIndexInfos.clear();
|
||||||
appPolicyCfgs.clear();
|
appPolicyCfgs.clear();
|
||||||
_ipPortCfgs.clear();
|
_ipPortCfgs.clear();
|
||||||
@@ -1507,12 +1540,42 @@ public class BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
} else if (regionDict.getRegionType().equals(2)) {
|
} else if (regionDict.getRegionType().equals(2)) {
|
||||||
|
// List<Future<Throwable>> list=Lists.newArrayList();
|
||||||
|
// ExecutorService service=Executors.newFixedThreadPool(Constants.SAVE_AND_DEL_THREAD_SIZE);
|
||||||
|
// for(int j=0;j<Constants.SAVE_AND_DEL_THREAD_SIZE;j++) {
|
||||||
|
// SaveStringCfgThread t=new SaveStringCfgThread(serviceDict, regionDict, requestId, stringCfgs,isSend.equals("1"));
|
||||||
|
// t.setSpecificServiceCfg(specificServiceCfg);
|
||||||
|
// t.setAsnIpGroup(asnIpGroup);
|
||||||
|
// t.setBehaviorId(behaviorId);
|
||||||
|
// t.setSpecServiceId(specServiceId);
|
||||||
|
// list.add(service.submit(t));
|
||||||
|
// }
|
||||||
|
// service.shutdown();
|
||||||
|
// while(!service.isTerminated()) {
|
||||||
|
// Thread.sleep(10);
|
||||||
|
// }
|
||||||
|
// for(Future<Throwable> e:list) {
|
||||||
|
// if(e.get()!=null) {
|
||||||
|
// try {
|
||||||
|
// throw e.get();
|
||||||
|
// } catch (Throwable e1) {
|
||||||
|
// // TODO Auto-generated catch block
|
||||||
|
// e1.printStackTrace();
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
List<BaseStringCfg> _stringCfgs=Lists.newArrayList(Constants.MAAT_JSON_SEND_SIZE);
|
List<BaseStringCfg> _stringCfgs=Lists.newArrayList(Constants.MAAT_JSON_SEND_SIZE);
|
||||||
while(!stringCfgs.isEmpty()) {
|
while(!stringCfgs.isEmpty()) {
|
||||||
stringCfgs.drainTo(_stringCfgs, Constants.MAAT_JSON_SEND_SIZE);
|
stringCfgs.drainTo(_stringCfgs, Constants.MAAT_JSON_SEND_SIZE);
|
||||||
List<Integer> compileIds=Lists.newArrayList();
|
List<Integer> compileIds=Lists.newArrayList();
|
||||||
|
List<Integer> groupIds=Lists.newArrayList();
|
||||||
|
List<Integer> regionIds=Lists.newArrayList();
|
||||||
try {
|
try {
|
||||||
compileIds = ConfigServiceUtil.getId(1,_stringCfgs.size());
|
compileIds = ConfigServiceUtil.getId(1,_stringCfgs.size());
|
||||||
|
if(isSend.equals("1")) {
|
||||||
|
groupIds = ConfigServiceUtil.getId(2,_stringCfgs.size());
|
||||||
|
regionIds = ConfigServiceUtil.getId(3,_stringCfgs.size());
|
||||||
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
logger.info("获取编译ID出错");
|
logger.info("获取编译ID出错");
|
||||||
@@ -1521,16 +1584,27 @@ public class BaseController {
|
|||||||
int ind=0;
|
int ind=0;
|
||||||
for (BaseStringCfg cfg : _stringCfgs) {
|
for (BaseStringCfg cfg : _stringCfgs) {
|
||||||
cfg.setAction(serviceDict.getAction());
|
cfg.setAction(serviceDict.getAction());
|
||||||
/*cfg.setAuditorId(UserUtils.getUser().getId());
|
|
||||||
cfg.setAuditTime(date);*/
|
|
||||||
cfg.setCfgRegionCode(regionDict.getConfigRegionCode());
|
cfg.setCfgRegionCode(regionDict.getConfigRegionCode());
|
||||||
cfg.setCfgType(regionDict.getConfigRegionValue());
|
cfg.setCfgType(regionDict.getConfigRegionValue());
|
||||||
cfg.setCreateTime(date);
|
cfg.setCreateTime(date);
|
||||||
cfg.setCreatorId(UserUtils.getUser().getId());
|
cfg.setCreatorId(UserUtils.getUser().getId());
|
||||||
cfg.setDoLog(1);
|
cfg.setDoLog(1);
|
||||||
cfg.setFunctionId(regionDict.getFunctionId());
|
cfg.setFunctionId(regionDict.getFunctionId());
|
||||||
cfg.setIsAudit(0);
|
if(isSend.equals("1")) {
|
||||||
cfg.setIsValid(0);
|
cfg.setIsAudit(Constants.AUDIT_YES);
|
||||||
|
cfg.setIsValid(Constants.VALID_YES);
|
||||||
|
cfg.setAuditorId(UserUtils.getUser().getId());
|
||||||
|
cfg.setAuditTime(date);
|
||||||
|
if(groupIds!=null&&groupIds.size()==_stringCfgs.size()) {
|
||||||
|
cfg.setGroupId(groupIds.get(ind));
|
||||||
|
}
|
||||||
|
if(regionIds!=null&®ionIds.size()==_stringCfgs.size()) {
|
||||||
|
cfg.setRegionId(regionIds.get(ind));
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
cfg.setIsAudit(Constants.AUDIT_NOT_YET);
|
||||||
|
cfg.setIsValid(Constants.VALID_NO);
|
||||||
|
}
|
||||||
cfg.setIsAreaEffective(0);
|
cfg.setIsAreaEffective(0);
|
||||||
cfg.setAttribute("0");
|
cfg.setAttribute("0");
|
||||||
cfg.setClassify("0");
|
cfg.setClassify("0");
|
||||||
@@ -1579,7 +1653,7 @@ public class BaseController {
|
|||||||
}
|
}
|
||||||
ind++;
|
ind++;
|
||||||
}
|
}
|
||||||
this.splitAndSave(regionDict, serviceDict, specificServiceCfg, _stringCfgs, cfgIndexInfos, appPolicyCfgs);
|
this.splitAndSave(regionDict, serviceDict, specificServiceCfg, _stringCfgs, cfgIndexInfos, appPolicyCfgs,isSend.equals("1"));
|
||||||
cfgIndexInfos.clear();
|
cfgIndexInfos.clear();
|
||||||
appPolicyCfgs.clear();
|
appPolicyCfgs.clear();
|
||||||
_stringCfgs.clear();
|
_stringCfgs.clear();
|
||||||
@@ -1657,7 +1731,7 @@ public class BaseController {
|
|||||||
}
|
}
|
||||||
ind++;
|
ind++;
|
||||||
}
|
}
|
||||||
this.splitAndSave(regionDict, serviceDict, specificServiceCfg, _complexkeywordCfgs, cfgIndexInfos, appPolicyCfgs);
|
this.splitAndSave(regionDict, serviceDict, specificServiceCfg, _complexkeywordCfgs, cfgIndexInfos, appPolicyCfgs,isSend.equals("1"));
|
||||||
cfgIndexInfos.clear();
|
cfgIndexInfos.clear();
|
||||||
appPolicyCfgs.clear();
|
appPolicyCfgs.clear();
|
||||||
_complexkeywordCfgs.clear();
|
_complexkeywordCfgs.clear();
|
||||||
@@ -1697,7 +1771,7 @@ public class BaseController {
|
|||||||
cfg.setCompileId(compileIds.get(ind));
|
cfg.setCompileId(compileIds.get(ind));
|
||||||
ind++;
|
ind++;
|
||||||
}
|
}
|
||||||
this.splitAndSave(regionDict, serviceDict, specificServiceCfg, _dnsResStrategies, cfgIndexInfos, appPolicyCfgs);
|
this.splitAndSave(regionDict, serviceDict, specificServiceCfg, _dnsResStrategies, cfgIndexInfos, appPolicyCfgs,isSend.equals("1"));
|
||||||
_dnsResStrategies.clear();
|
_dnsResStrategies.clear();
|
||||||
cfgIndexInfos.clear();
|
cfgIndexInfos.clear();
|
||||||
appPolicyCfgs.clear();
|
appPolicyCfgs.clear();
|
||||||
@@ -1789,7 +1863,7 @@ public class BaseController {
|
|||||||
public void splitAndSave(FunctionRegionDict regionDict,FunctionServiceDict serviceDict,
|
public void splitAndSave(FunctionRegionDict regionDict,FunctionServiceDict serviceDict,
|
||||||
SpecificServiceCfg specificServiceCfg,
|
SpecificServiceCfg specificServiceCfg,
|
||||||
List<? extends BaseCfg> list,List<CfgIndexInfo> cfgIndexInfos,
|
List<? extends BaseCfg> list,List<CfgIndexInfo> cfgIndexInfos,
|
||||||
List<AppPolicyCfg> appPolicyCfgs){
|
List<AppPolicyCfg> appPolicyCfgs,boolean send){
|
||||||
if(list!=null&&list.size()>0) {
|
if(list!=null&&list.size()>0) {
|
||||||
String type=null;
|
String type=null;
|
||||||
if (list.get(0) instanceof BaseIpCfg) {
|
if (list.get(0) instanceof BaseIpCfg) {
|
||||||
@@ -1803,6 +1877,12 @@ public class BaseController {
|
|||||||
}else if(list.get(0) instanceof AsnIpCfg) {
|
}else if(list.get(0) instanceof AsnIpCfg) {
|
||||||
type="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)) {
|
if("BaseIpCfg".equals(type)) {
|
||||||
List<BaseIpCfg> listPage = (List<BaseIpCfg>) list;
|
List<BaseIpCfg> listPage = (List<BaseIpCfg>) list;
|
||||||
if (regionDict.getFunctionId().equals(301)) {
|
if (regionDict.getFunctionId().equals(301)) {
|
||||||
@@ -1812,7 +1892,7 @@ public class BaseController {
|
|||||||
}else if (specificServiceCfg!=null&®ionDict.getFunctionId().equals(405)) {
|
}else if (specificServiceCfg!=null&®ionDict.getFunctionId().equals(405)) {
|
||||||
appCfgService.saveAppIpCfg((List<BaseIpCfg>)listPage,specificServiceCfg);
|
appCfgService.saveAppIpCfg((List<BaseIpCfg>)listPage,specificServiceCfg);
|
||||||
}else {
|
}else {
|
||||||
ipCfgService.saveBatch((List<BaseIpCfg>)listPage, IpCfgDao.class);
|
ipCfgService.saveIpBatch(regionDict,serviceDict,(List<BaseIpCfg>)listPage,send);
|
||||||
}
|
}
|
||||||
}else if("AsnIpCfg".equals(type)) {
|
}else if("AsnIpCfg".equals(type)) {
|
||||||
List<AsnIpCfg> listPage = (List<AsnIpCfg>) list;
|
List<AsnIpCfg> listPage = (List<AsnIpCfg>) list;
|
||||||
@@ -1823,51 +1903,51 @@ public class BaseController {
|
|||||||
// ip_payload
|
// ip_payload
|
||||||
if (regionDict.getDictId().intValue() == 167) {
|
if (regionDict.getDictId().intValue() == 167) {
|
||||||
// interceptCfgService.saveInterceptCfg(listPage);
|
// interceptCfgService.saveInterceptCfg(listPage);
|
||||||
interceptCfgService.saveStringCfgBatch(listPage, "intercept_pkt_bin");
|
interceptCfgService.saveStringCfgBatch(regionDict,serviceDict,listPage, "intercept_pkt_bin",send);
|
||||||
}
|
}
|
||||||
// http url
|
// http url
|
||||||
if (regionDict.getDictId().intValue() == 9||regionDict.getDictId().intValue() == 15 || regionDict.getDictId().intValue() == 596) {
|
if (regionDict.getDictId().intValue() == 9||regionDict.getDictId().intValue() == 15 || regionDict.getDictId().intValue() == 596) {
|
||||||
// websiteCfgService.saveHttpUrlCfg(listPage);
|
// websiteCfgService.saveHttpUrlCfg(listPage);
|
||||||
websiteCfgService.saveStringCfgBatch(listPage, "http_url_cfg");
|
websiteCfgService.saveStringCfgBatch(regionDict,serviceDict,listPage, "http_url_cfg",send);
|
||||||
}
|
}
|
||||||
// FTP url/content
|
// FTP url/content
|
||||||
if (regionDict.getDictId().intValue() == 36||regionDict.getDictId().intValue() == 37) {
|
if (regionDict.getDictId().intValue() == 36||regionDict.getDictId().intValue() == 37) {
|
||||||
// fileTransferCfgService.saveFtpCfg(listPage);
|
// fileTransferCfgService.saveFtpCfg(listPage);
|
||||||
fileTransferCfgService.saveStringCfgBatch(listPage, "ftp_keyword_cfg");
|
fileTransferCfgService.saveStringCfgBatch(regionDict,serviceDict,listPage, "ftp_keyword_cfg",send);
|
||||||
}
|
}
|
||||||
// P2P eMule Keyword
|
// P2P eMule Keyword
|
||||||
if(regionDict.getDictId().intValue() == 158){
|
if(regionDict.getDictId().intValue() == 158){
|
||||||
fileTransferCfgService.saveStringCfgBatch(listPage, "p2p_keyword_cfg");
|
fileTransferCfgService.saveStringCfgBatch(regionDict,serviceDict,listPage, "p2p_keyword_cfg",send);
|
||||||
}
|
}
|
||||||
// P2P File Marking
|
// P2P File Marking
|
||||||
if(regionDict.getDictId().intValue() == 159){
|
if(regionDict.getDictId().intValue() == 159){
|
||||||
// fileTransferCfgService.saveP2pCfg(listPage);
|
// fileTransferCfgService.saveP2pCfg(listPage);
|
||||||
fileTransferCfgService.saveStringCfgBatch(listPage, "p2p_hash_cfg");
|
fileTransferCfgService.saveStringCfgBatch(regionDict,serviceDict,listPage, "p2p_hash_cfg",send);
|
||||||
}
|
}
|
||||||
// BGP AS
|
// BGP AS
|
||||||
if (regionDict.getFunctionId().equals(61)) {
|
if (regionDict.getFunctionId().equals(61)) {
|
||||||
// bgpCfgService.saveBgpAsCfg(listPage);
|
// bgpCfgService.saveBgpAsCfg(listPage);
|
||||||
bgpCfgService.saveStringCfgBatch(listPage, "ntc_bgp_as_cfg");
|
bgpCfgService.saveStringCfgBatch(regionDict,serviceDict,listPage, "ntc_bgp_as_cfg",send);
|
||||||
}
|
}
|
||||||
// SSL SNI/SAN/CN
|
// SSL SNI/SAN/CN
|
||||||
if (regionDict.getFunctionId().intValue() == 34) {
|
if (regionDict.getFunctionId().intValue() == 34) {
|
||||||
// websiteCfgService.saveSslCfg(listPage);
|
// websiteCfgService.saveSslCfg(listPage);
|
||||||
websiteCfgService.saveStringCfgBatch(listPage, "ssl_keyword_cfg");
|
websiteCfgService.saveStringCfgBatch(regionDict,serviceDict,listPage, "ssl_keyword_cfg",send);
|
||||||
}
|
}
|
||||||
// HTTP 请求/应答内容
|
// HTTP 请求/应答内容
|
||||||
if(regionDict.getDictId().intValue()==12||regionDict.getDictId().intValue()==13||regionDict.getDictId().intValue()==601||regionDict.getDictId().intValue()==602) {
|
if(regionDict.getDictId().intValue()==12||regionDict.getDictId().intValue()==13||regionDict.getDictId().intValue()==601||regionDict.getDictId().intValue()==602) {
|
||||||
// websiteCfgService.saveHttpBodyCfg(listPage);
|
// websiteCfgService.saveHttpBodyCfg(listPage);
|
||||||
websiteCfgService.saveStringCfgBatch(listPage, "http_body_cfg");
|
websiteCfgService.saveStringCfgBatch(regionDict,serviceDict,listPage, "http_body_cfg",send);
|
||||||
}
|
}
|
||||||
// 流媒体协议
|
// 流媒体协议
|
||||||
if(regionDict.getDictId().intValue()==25){
|
if(regionDict.getDictId().intValue()==25){
|
||||||
// avContentCfgService.saveContUrlCfg(listPage);
|
// avContentCfgService.saveContUrlCfg(listPage);
|
||||||
avContentCfgService.saveStringCfgBatch(listPage, "av_cont_url_cfg");
|
avContentCfgService.saveStringCfgBatch(regionDict,serviceDict,listPage, "av_cont_url_cfg",send);
|
||||||
}
|
}
|
||||||
// Voip Account
|
// Voip Account
|
||||||
if(regionDict.getDictId().intValue()==16){
|
if(regionDict.getDictId().intValue()==16){
|
||||||
// avContentCfgService.saveVoIpAccountCfg(listPage);
|
// avContentCfgService.saveVoIpAccountCfg(listPage);
|
||||||
avContentCfgService.saveStringCfgBatch(listPage, "av_voip_account_cfg");
|
avContentCfgService.saveStringCfgBatch(regionDict,serviceDict,listPage, "av_voip_account_cfg",send);
|
||||||
}
|
}
|
||||||
// APP域名特征
|
// APP域名特征
|
||||||
if(regionDict.getDictId().intValue()==64){
|
if(regionDict.getDictId().intValue()==64){
|
||||||
@@ -1907,12 +1987,6 @@ public class BaseController {
|
|||||||
dnsResStrategyService.saveDnsResStrategyCfgBatch(listPage);
|
dnsResStrategyService.saveDnsResStrategyCfgBatch(listPage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (cfgIndexInfos != null && cfgIndexInfos.size() > 0) {
|
|
||||||
ipCfgService.saveCfgIndexOf(cfgIndexInfos);
|
|
||||||
}
|
|
||||||
if (appPolicyCfgs != null && appPolicyCfgs.size() > 0) {
|
|
||||||
appCfgService.savePolicyList(appPolicyCfgs);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 多域配置导出
|
* 多域配置导出
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ public interface AppCfgDao {
|
|||||||
public IpPortCfg getAppPolicyIpCfg(AppPolicyCfg entity) ;
|
public IpPortCfg getAppPolicyIpCfg(AppPolicyCfg entity) ;
|
||||||
public List<IpPortCfg> getAppPolicyIpList(AppPolicyCfg entity);
|
public List<IpPortCfg> getAppPolicyIpList(AppPolicyCfg entity);
|
||||||
public int insertAppPolicyCfg(AppPolicyCfg entity);
|
public int insertAppPolicyCfg(AppPolicyCfg entity);
|
||||||
|
public int insertAppPolicyCfgForBatch(AppPolicyCfg entity);
|
||||||
public int updateAppPolicyCfg(AppPolicyCfg entity);
|
public int updateAppPolicyCfg(AppPolicyCfg entity);
|
||||||
public int insertAppPolicyIpCfg(IpPortCfg entity);
|
public int insertAppPolicyIpCfg(IpPortCfg entity);
|
||||||
public int deleteAppPolicyIpCfg(AppPolicyCfg entity);
|
public int deleteAppPolicyIpCfg(AppPolicyCfg entity);
|
||||||
@@ -49,6 +50,7 @@ public interface AppCfgDao {
|
|||||||
public List<AppIpCfg> findAppIpList(AppIpCfg entity) ;
|
public List<AppIpCfg> findAppIpList(AppIpCfg entity) ;
|
||||||
public AppIpCfg getAppIpCfg(Long cfgId) ;
|
public AppIpCfg getAppIpCfg(Long cfgId) ;
|
||||||
public int insertAppIpCfg(AppIpCfg entity);
|
public int insertAppIpCfg(AppIpCfg entity);
|
||||||
|
public int insertAppIpCfgForBatch(AppIpCfg entity);
|
||||||
public int insertAppIpCfgBatch(List<AppIpCfg> list);
|
public int insertAppIpCfgBatch(List<AppIpCfg> list);
|
||||||
public int updateAppIpCfg(AppIpCfg entity);
|
public int updateAppIpCfg(AppIpCfg entity);
|
||||||
//app http特征增删改查
|
//app http特征增删改查
|
||||||
|
|||||||
@@ -1690,6 +1690,21 @@
|
|||||||
,#{userRegion4,jdbcType=VARCHAR} ,#{userRegion5,jdbcType=VARCHAR} ,#{doLog,jdbcType=INTEGER}
|
,#{userRegion4,jdbcType=VARCHAR} ,#{userRegion5,jdbcType=VARCHAR} ,#{doLog,jdbcType=INTEGER}
|
||||||
)
|
)
|
||||||
</insert>
|
</insert>
|
||||||
|
<insert id="insertAppPolicyCfgForBatch" parameterType="com.nis.domain.configuration.AppPolicyCfg" >
|
||||||
|
insert into app_policy_cfg (
|
||||||
|
APP_CODE,BEHAV_CODE,SPEC_SERVICE_ID,CFG_DESC,ACTION,IS_VALID,IS_AUDIT,
|
||||||
|
CREATOR_ID,CREATE_TIME,EDITOR_ID,EDIT_TIME,AUDITOR_ID,AUDIT_TIME,
|
||||||
|
SERVICE_ID,REQUEST_ID,COMPILE_ID,IS_AREA_EFFECTIVE,CLASSIFY,
|
||||||
|
ATTRIBUTE,LABLE,AREA_EFFECTIVE_IDS,RATELIMIT,FUNCTION_ID,
|
||||||
|
CFG_TYPE,CFG_REGION_CODE,EXPR_TYPE,MATCH_METHOD,IS_HEXBIN,USER_REGION1
|
||||||
|
,USER_REGION2,USER_REGION3,USER_REGION4,USER_REGION5,DO_LOG
|
||||||
|
)values (
|
||||||
|
<include refid="AppCommonCfg_Value_List" />,
|
||||||
|
#{exprType,jdbcType=INTEGER},#{matchMethod,jdbcType=INTEGER},#{isHexbin,jdbcType=INTEGER}
|
||||||
|
,#{userRegion1,jdbcType=VARCHAR} ,#{userRegion2,jdbcType=VARCHAR} ,#{userRegion3,jdbcType=VARCHAR}
|
||||||
|
,#{userRegion4,jdbcType=VARCHAR} ,#{userRegion5,jdbcType=VARCHAR} ,#{doLog,jdbcType=INTEGER}
|
||||||
|
)
|
||||||
|
</insert>
|
||||||
<insert id="insertAppIpCfg" parameterType="com.nis.domain.configuration.AppIpCfg" >
|
<insert id="insertAppIpCfg" parameterType="com.nis.domain.configuration.AppIpCfg" >
|
||||||
<selectKey resultType="java.lang.Long" order="AFTER" keyProperty="cfgId">
|
<selectKey resultType="java.lang.Long" order="AFTER" keyProperty="cfgId">
|
||||||
SELECT LAST_INSERT_ID()
|
SELECT LAST_INSERT_ID()
|
||||||
@@ -1709,6 +1724,22 @@
|
|||||||
,#{userRegion3,jdbcType=VARCHAR},#{userRegion4,jdbcType=VARCHAR},#{userRegion5,jdbcType=VARCHAR}
|
,#{userRegion3,jdbcType=VARCHAR},#{userRegion4,jdbcType=VARCHAR},#{userRegion5,jdbcType=VARCHAR}
|
||||||
)
|
)
|
||||||
</insert>
|
</insert>
|
||||||
|
<insert id="insertAppIpCfgForBatch" parameterType="com.nis.domain.configuration.AppIpCfg" >
|
||||||
|
insert into app_ip_cfg (
|
||||||
|
APP_CODE,BEHAV_CODE,SPEC_SERVICE_ID, CFG_DESC,ACTION,IS_VALID,IS_AUDIT,
|
||||||
|
CREATOR_ID,CREATE_TIME,EDITOR_ID,EDIT_TIME,AUDITOR_ID,AUDIT_TIME,
|
||||||
|
SERVICE_ID,REQUEST_ID,COMPILE_ID,IS_AREA_EFFECTIVE,CLASSIFY,
|
||||||
|
ATTRIBUTE,LABLE,AREA_EFFECTIVE_IDS,RATELIMIT,FUNCTION_ID,CFG_TYPE,CFG_REGION_CODE,
|
||||||
|
IP_TYPE, IP_PATTERN, SRC_IP_ADDRESS,DEST_IP_ADDRESS, PORT_PATTERN,SRC_PORT,DEST_PORT,
|
||||||
|
DIRECTION,PROTOCOL,DO_LOG,user_region1,user_region2,user_region3,user_region4,user_region5
|
||||||
|
)values (
|
||||||
|
<include refid="AppCommonCfg_Value_List" />,
|
||||||
|
#{ipType,jdbcType=INTEGER}, #{ipPattern,jdbcType=INTEGER},#{srcIpAddress,jdbcType=VARCHAR},#{destIpAddress,jdbcType=VARCHAR},
|
||||||
|
#{portPattern,jdbcType=INTEGER},#{srcPort,jdbcType=VARCHAR},#{destPort,jdbcType=VARCHAR},#{direction,jdbcType=INTEGER},
|
||||||
|
#{protocol,jdbcType=INTEGER},#{doLog,jdbcType=INTEGER},#{userRegion1,jdbcType=VARCHAR},#{userRegion2,jdbcType=VARCHAR}
|
||||||
|
,#{userRegion3,jdbcType=VARCHAR},#{userRegion4,jdbcType=VARCHAR},#{userRegion5,jdbcType=VARCHAR}
|
||||||
|
)
|
||||||
|
</insert>
|
||||||
<insert id="insertAppIpCfgBatch" parameterType="com.nis.domain.configuration.AppIpCfg" >
|
<insert id="insertAppIpCfgBatch" parameterType="com.nis.domain.configuration.AppIpCfg" >
|
||||||
insert into app_ip_cfg (
|
insert into app_ip_cfg (
|
||||||
APP_CODE,BEHAV_CODE,SPEC_SERVICE_ID, CFG_DESC,ACTION,IS_VALID,IS_AUDIT,
|
APP_CODE,BEHAV_CODE,SPEC_SERVICE_ID, CFG_DESC,ACTION,IS_VALID,IS_AUDIT,
|
||||||
|
|||||||
@@ -862,8 +862,8 @@
|
|||||||
)values (
|
)values (
|
||||||
#{cfgDesc,jdbcType=VARCHAR},
|
#{cfgDesc,jdbcType=VARCHAR},
|
||||||
#{action,jdbcType=INTEGER},
|
#{action,jdbcType=INTEGER},
|
||||||
0,
|
#{isValid,jdbcType=INTEGER},
|
||||||
0,
|
#{isAudit,jdbcType=INTEGER},
|
||||||
#{creatorId,jdbcType=INTEGER},
|
#{creatorId,jdbcType=INTEGER},
|
||||||
#{createTime,jdbcType=TIMESTAMP},
|
#{createTime,jdbcType=TIMESTAMP},
|
||||||
#{editorId,jdbcType=INTEGER},
|
#{editorId,jdbcType=INTEGER},
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -174,6 +174,20 @@
|
|||||||
</div>
|
</div>
|
||||||
</br>
|
</br>
|
||||||
</c:if>
|
</c:if>
|
||||||
|
<c:if test="${cfg.functionId eq 5 or cfg.functionId eq 34 or cfg.functionId eq 6}">
|
||||||
|
<div class="row">
|
||||||
|
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="examine"/></label>
|
||||||
|
<div class="col-md-6">
|
||||||
|
<label class="radio-inline">
|
||||||
|
<input type="radio" name="isSend" value="0" checked><spring:message code="no"/>
|
||||||
|
</label>
|
||||||
|
<label class="radio-inline">
|
||||||
|
<input type="radio" name="isSend" value="1"><spring:message code="yes"/>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</br>
|
||||||
|
</c:if>
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-2 control-label" style="margin-top:5px;"><spring:message
|
<label class="col-md-2 control-label" style="margin-top:5px;"><spring:message
|
||||||
|
|||||||
Reference in New Issue
Block a user