(1)ans ip导入开发

(2)asn 导入模板修改asnNo为userRegion1
(3)加入导入是否全量开关,如果全量,会删除对应asn号下的所有IP,如果已下发,还得分组复用删除域
(4)优化效率,asn ip region获取region id改为批量
This commit is contained in:
wangxin
2018-10-26 18:57:20 +08:00
parent b5c4e542cd
commit 95c4c49f97
12 changed files with 250 additions and 99 deletions

View File

@@ -66,6 +66,7 @@ import com.nis.domain.configuration.template.IpRateLimitTemplate;
import com.nis.domain.configuration.template.StringAllTemplate;
import com.nis.domain.log.BaseLogEntity;
import com.nis.domain.log.SearchReport;
import com.nis.domain.specific.ConfigGroupInfo;
import com.nis.domain.specific.SpecificServiceCfg;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.Configurations;
@@ -1388,6 +1389,35 @@ public class BaseController {
+ ";");
}
}
if (regionDict.getFunctionId().equals(600)) {//asn
//asn id
String userRegion1 = baseIpCfg.getUserRegion1();
if(StringUtils.isBlank(userRegion1)) {
errInfo.append(
String.format(prop.getProperty("can_not_null"), prop.getProperty("asn_no"))
+ ";");
}else {
try {
Integer.parseInt(userRegion1);
/*ConfigGroupInfo configGroupInfo=asnIpCfgService.getConfigGroupInfoByAsnNo(asnNo);
if(configGroupInfo==null) {//不存在则新增
PolicyGroupInfo info=new PolicyGroupInfo();
info.setAsnNo(asnNo);
info.setDescription("Auto generated");
info.setGroupName(baseIpCfg.getCfgDesc()+(i+1));
info.setGroupType(4);
policyGroupInfoService.saveOrUpdate(info);
configGroupInfo=asnIpCfgService.getConfigGroupInfoByAsnNo(asnNo);
}
baseIpCfg.setAsnIpGroup(configGroupInfo.getGroupId());*/
}catch (Exception e) {
// TODO: handle exception
errInfo.append(
String.format(prop.getProperty("not_number"), prop.getProperty("asn_no"))
+ ";");
}
}
}
if (regionDict.getRegionType().equals(1)) {
// 校验必填的IP端口
/*
@@ -3058,7 +3088,7 @@ public class BaseController {
&& "p2p_ip".equals(regionDict.getConfigServiceType())) { // P2p IP
List<P2pIpTemplate> list = ei.getDataList(P2pIpTemplate.class, this.getMsgProp());
ipPortCfgs = this.checkIpCfg(serviceDict, regionDict, list);
} else if (regionDict.getFunctionId().equals(600)) {
} else if (regionDict.getFunctionId().equals(600)) {// ANS IP
List<AsnIpTemplate> list = ei.getDataList(AsnIpTemplate.class, this.getMsgProp());
ipPortCfgs = this.checkIpCfg(serviceDict, regionDict, list);
} else {
@@ -3104,35 +3134,38 @@ public class BaseController {
}
}
if (regionDict.getRegionType().equals(1)) {// IP
if(regionDict.getFunctionId().intValue()==600) {
CfgIndexInfo info=new CfgIndexInfo();
List<AsnIpCfg> asnIpCfgs=Lists.newArrayList();
info.setAsnIpGroup(Integer.parseInt(asnIpGroup));
info.setAction(0);
info.setCfgRegionCode(regionDict.getConfigRegionCode());
info.setCfgRegionCode(regionDict.getConfigRegionCode());
info.setCfgType(regionDict.getConfigRegionValue());
info.setCreateTime(date);
info.setCreatorId(UserUtils.getUser().getId());
info.setDoLog(1);
info.setFunctionId(regionDict.getFunctionId());
info.setIsAudit(0);
info.setIsValid(0);
info.setIsAreaEffective(0);
info.setAttribute("0");
info.setClassify("0");
info.setLable("0");
info.setRequestId(StringUtil.isEmpty(requestId) ? 0 : requestId);
info.setServiceId(0);
if(regionDict.getFunctionId().intValue()==600) {//ans ip
Map<String,List<AsnIpCfg>> asnIpCfgs=new HashMap<>();
for (BaseIpCfg cfg : ipPortCfgs) {
AsnIpCfg _cfg=new AsnIpCfg();
BeanUtils.copyProperties(cfg, _cfg);
_cfg.setTableName(AsnIpCfg.getTablename());
asnIpCfgs.add(_cfg);
_cfg.setAction(0);
_cfg.setCfgRegionCode(regionDict.getConfigRegionCode());
_cfg.setCfgRegionCode(regionDict.getConfigRegionCode());
_cfg.setCfgType(regionDict.getConfigRegionValue());
_cfg.setCreateTime(date);
_cfg.setCreatorId(UserUtils.getUser().getId());
_cfg.setDoLog(1);
_cfg.setFunctionId(regionDict.getFunctionId());
_cfg.setIsAudit(0);
_cfg.setIsValid(0);
_cfg.setIsAreaEffective(0);
_cfg.setAttribute("0");
_cfg.setClassify("0");
_cfg.setLable("0");
_cfg.setRequestId(StringUtil.isEmpty(requestId) ? 0 : requestId);
_cfg.setServiceId(0);
if(asnIpCfgs.containsKey(_cfg.getUserRegion1())) {
asnIpCfgs.get(_cfg.getUserRegion1()).add(_cfg);
}else {
List<AsnIpCfg> ips=Lists.newArrayList();
ips.add(_cfg);
asnIpCfgs.put(_cfg.getUserRegion1(), ips);
}
}
ipPortCfgs.clear();
info.setAsnIpCfgs(asnIpCfgs);
asnIpCfgService.saveAsnIpCfg(info);
asnIpCfgService.saveAsnIpBatch(asnIpCfgs);
}else {
for (BaseIpCfg cfg : ipPortCfgs) {
cfg.setAction(serviceDict==null?null:serviceDict.getAction());