IP WhiteList

IP Address
IP Payload
IP Spoofing
Protocol Identify
App Identify
Behavior Identify
BGP
DNS
SSL
界面相关导入分离
This commit is contained in:
wangxin
2019-03-28 15:12:27 +08:00
parent a1ad694260
commit 068d2e859c
32 changed files with 2090 additions and 71 deletions

View File

@@ -10,9 +10,13 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.nis.domain.FunctionRegionDict;
import com.nis.domain.Page;
import com.nis.domain.configuration.AreaIpCfg;
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.ComplexkeywordCfg;
@@ -39,9 +43,11 @@ import com.nis.util.DictUtils;
import com.nis.util.StringUtil;
import com.nis.web.dao.basics.ServiceDictInfoDao;
import com.nis.web.dao.configuration.AreaIpCfgDao;
import com.nis.web.dao.configuration.IpCfgDao;
import com.nis.web.dao.configuration.StringCfgDao;
import com.nis.web.dao.configuration.WebsiteCfgDao;
import com.nis.web.security.UserUtils;
import com.nis.web.service.BaseService;
import com.nis.web.service.CrudService;
/**
@@ -58,6 +64,8 @@ public class WebsiteCfgService extends CrudService<WebsiteCfgDao,CfgIndexInfo> {
@Autowired
protected StringCfgDao stringCfgDao;
@Autowired
protected IpCfgDao ipCfgDao;
@Autowired
private ServiceDictInfoDao serviceDictInfoDao;
public CfgIndexInfo getCfgIndexInfo(Integer compileId){
@@ -1243,4 +1251,103 @@ public class WebsiteCfgService extends CrudService<WebsiteCfgDao,CfgIndexInfo> {
logger.info("dns配置取消配置响应信息"+result.getMsg());
}
}
/**
* 配置导入,目前只支持单sheet
* @param regionDict
* @param cfgIndexInfos
* @param data
* @param send
*/
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public void saveAndSend(FunctionRegionDict regionDict,List<CfgIndexInfo> cfgIndexInfos,List<? extends BaseCfg<?>> data,boolean send) {
if (cfgIndexInfos != null && cfgIndexInfos.size() > 0) {
this.saveCfgIndexOf(cfgIndexInfos);
}
if(data!=null&&!data.isEmpty()) {
List<MaatCfg> configCompileList = new ArrayList();
if(data.get(0) instanceof BaseIpCfg) {
for (int index = 0; index < data.size(); index++) {
BaseIpCfg cfg =(BaseIpCfg)data.get(index);
ipCfgDao.insertForBatch(cfg);
if (send) {
if(regionDict.getIsMaat().intValue()==1) {
MaatCfg maatCfg=convertMaatCfg(cfg,1);
//userregion处理
if(!StringUtil.isEmpty(cfg.getDnsStrategyId())){
maatCfg.setUserRegion(Constants.DNS_STRATEGY_USER_REGION_KEY+"="+cfg.getDnsStrategyId());
}
configCompileList.add(maatCfg);
}
}
}
}else if(data.get(0) instanceof BaseStringCfg) {
for (int index = 0; index < data.size(); index++) {
BaseStringCfg cfg = (BaseStringCfg)data.get(index);
if(cfg.getCfgKeywords()!=null && !"".equals(cfg.getCfgKeywords())){
if("subscribe_id".equals(regionDict.getConfigServiceType())){
cfg.setTableName("ntc_subscribe_id_cfg");
}else {
cfg.setTableName("ssl_keyword_cfg");
}
stringCfgDao.saveStringCfgBatch(cfg);
}
if (send) {
if(regionDict.getIsMaat().intValue()==1) {
MaatCfg maatCfg=convertMaatCfg(cfg,2);
//userregion处理
if(!StringUtil.isEmpty(cfg.getDnsStrategyId())){
maatCfg.setUserRegion(Constants.DNS_STRATEGY_USER_REGION_KEY+"="+cfg.getDnsStrategyId());
}
configCompileList.add(maatCfg);
}
}
}
}else if(data.get(0) instanceof ComplexkeywordCfg) {
for (int index = 0; index < data.size(); index++) {
ComplexkeywordCfg cfg = (ComplexkeywordCfg)data.get(index);
if(cfg.getCfgKeywords()!=null && !"".equals(cfg.getCfgKeywords())){
if(regionDict.getFunctionId().intValue()==7) {
cfg.setTableName("dns_domain_cfg");
}
stringCfgDao.saveComplexkeywordCfgBatch(cfg);
}
if (send) {
if(regionDict.getIsMaat().intValue()==1) {
MaatCfg maatCfg=convertMaatCfg(cfg,3);
//userregion处理
if(!StringUtil.isEmpty(cfg.getDnsStrategyId())){
maatCfg.setUserRegion(Constants.DNS_STRATEGY_USER_REGION_KEY+"="+cfg.getDnsStrategyId());
}
configCompileList.add(maatCfg);
}
}
}
}
if (send && 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);
long start=System.currentTimeMillis();
// 调用服务接口下发配置数据
String json = BaseService.gsonToJson(maatBean);
if(configCompileList.size()>10) {
logger.info("dns/ssl配置下发配置条数" + configCompileList.size());
}else {
logger.info("dns/ssl配置下发配置参数" + json);
}
// 调用服务接口下发配置
ToMaatResult result = ConfigServiceUtil.postMaatCfg(json);
logger.info("dns/ssl配置下发响应信息" + result.getMsg());
long end=System.currentTimeMillis();
logger.info("dns/ssl配置下发配置耗时" + (end-start));
}
}
}
}