diff --git a/src/main/java/com/nis/domain/basics/AsnIpCfg.java b/src/main/java/com/nis/domain/basics/AsnIpCfg.java index a1e56feb5..87b005ce4 100644 --- a/src/main/java/com/nis/domain/basics/AsnIpCfg.java +++ b/src/main/java/com/nis/domain/basics/AsnIpCfg.java @@ -30,7 +30,7 @@ public class AsnIpCfg extends BaseCfg { private String destPort; @ExcelField(title="group",sort=2) private String asnIpGroupName;//asn组名 - private Integer asnIpGroup;//asn号 + private Integer asnIpGroup;//asn组号 /** * 方向 */ diff --git a/src/main/java/com/nis/domain/configuration/BaseIpCfg.java b/src/main/java/com/nis/domain/configuration/BaseIpCfg.java index 17c0e6b98..1f934a463 100644 --- a/src/main/java/com/nis/domain/configuration/BaseIpCfg.java +++ b/src/main/java/com/nis/domain/configuration/BaseIpCfg.java @@ -65,6 +65,14 @@ public class BaseIpCfg extends BaseCfg { private List ntcSubscribeIdCfgList; private NtcSubscribeIdCfg ntcSubscribeIdCfg; + private Integer asnIpGroup;//asn组号,仅用于copy属性使用 + + public Integer getAsnIpGroup() { + return asnIpGroup; + } + public void setAsnIpGroup(Integer asnIpGroup) { + this.asnIpGroup = asnIpGroup; + } /** * irType * @return irType diff --git a/src/main/java/com/nis/domain/configuration/template/AsnIpTemplate.java b/src/main/java/com/nis/domain/configuration/template/AsnIpTemplate.java index bef39c55b..43c15ff90 100644 --- a/src/main/java/com/nis/domain/configuration/template/AsnIpTemplate.java +++ b/src/main/java/com/nis/domain/configuration/template/AsnIpTemplate.java @@ -14,7 +14,7 @@ public class AsnIpTemplate { */ private String cfgDesc; - private String asnNo; + private String userRegion1; private String destIpAddress; @ExcelField(title="config_describe",align=2,sort=1) @@ -25,16 +25,17 @@ public class AsnIpTemplate { this.cfgDesc = cfgDesc; } @ExcelField(title="asn_no",align=2,sort=11) - public String getAsnNo() { - return asnNo; + public String getUserRegion1() { + return userRegion1; } - public void setAsnNo(String asnNo) { - this.asnNo = asnNo; + public void setUserRegion1(String userRegion1) { + this.userRegion1 = userRegion1; } @ExcelField(title="server_ip",align=2,sort=12) public String getDestIpAddress() { return destIpAddress; } + public void setDestIpAddress(String destIpAddress) { this.destIpAddress = destIpAddress; } diff --git a/src/main/java/com/nis/web/controller/BaseController.java b/src/main/java/com/nis/web/controller/BaseController.java index 80a7550bc..60572b078 100644 --- a/src/main/java/com/nis/web/controller/BaseController.java +++ b/src/main/java/com/nis/web/controller/BaseController.java @@ -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 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 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 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> 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 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()); diff --git a/src/main/java/com/nis/web/controller/specific/SpecificServiceCfgController.java b/src/main/java/com/nis/web/controller/specific/SpecificServiceCfgController.java index 2f7c9e44d..6e2a1aa4c 100644 --- a/src/main/java/com/nis/web/controller/specific/SpecificServiceCfgController.java +++ b/src/main/java/com/nis/web/controller/specific/SpecificServiceCfgController.java @@ -88,16 +88,13 @@ public class SpecificServiceCfgController extends BaseController { // 取出所有符合条件的顶层分页 Page page = specificServiceCfgService .findTopPage(pageCondition, specificServiceCfg); - // 植入序号 - for (int i = 0; i < page.getList().size(); i++) { - page.getList().get(i).setShowSequence("" + (i + 1 + ((page.getPageNo() - 1) * page.getPageSize()))); - } - model.addAttribute("page", page); // 删除顶层数据、取出id List intList = Lists.newArrayList(); - for (SpecificServiceCfg tempSS : page.getList()) { - if (tempSS != null) { - intList.add(tempSS.getSpecServiceId()); + // 植入序号 + for (int i = 0; i < page.getList().size(); i++) { + if (page.getList().get(i) != null) { + page.getList().get(i).setShowSequence("" + (i + 1 + ((page.getPageNo() - 1) * page.getPageSize()))); + intList.add(page.getList().get(i).getSpecServiceId()); } } for (int i = allList.size() - 1; i >= 0; i--) { @@ -106,14 +103,13 @@ public class SpecificServiceCfgController extends BaseController { allList.remove(ss); } } - allList.addAll(page.getList()); List list = Lists.newArrayList(); SpecificServiceCfg.sortList(list, allList, 0, true); //处理下级序号 SpecificServiceCfg.addChildrenSeq(list, 0); - + model.addAttribute("page", page); model.addAttribute("list", list); return "/specific/specificServiceCfgList"; diff --git a/src/main/java/com/nis/web/dao/basics/AsnIpCfgDao.java b/src/main/java/com/nis/web/dao/basics/AsnIpCfgDao.java index 9b16b1019..17ab6b9fb 100644 --- a/src/main/java/com/nis/web/dao/basics/AsnIpCfgDao.java +++ b/src/main/java/com/nis/web/dao/basics/AsnIpCfgDao.java @@ -16,7 +16,10 @@ public interface AsnIpCfgDao extends CrudDao{ public List getByIds(@Param("ids")String ids); public List hasGroupIds(@Param("ids")String ids); public List findAllList(AsnIpCfg cfg); - public List findPolicyGroupInfosByType(@Param("groupId")Integer groupId); +// public List findPolicyGroupInfosByType(@Param("groupId")Integer groupId); public List findOtherIps(@Param("groupId")Integer groupId,@Param("cfgId")Integer cfgId); public List countValidIPs(@Param("groups")String groups,@Param("ids")String ids); + public ConfigGroupInfo getInfoByAsnNo(@Param("asnId")Integer asnNo); + public List getByAsnGroup(@Param("groupId")Integer groupId,@Param("asnId")Integer asnNo); + public void deleteByAsnGroup(@Param("groupId")Integer groupId,@Param("asnId")Integer asnNo); } diff --git a/src/main/java/com/nis/web/dao/basics/AsnIpCfgDao.xml b/src/main/java/com/nis/web/dao/basics/AsnIpCfgDao.xml index a93a1c3da..f7361caec 100644 --- a/src/main/java/com/nis/web/dao/basics/AsnIpCfgDao.xml +++ b/src/main/java/com/nis/web/dao/basics/AsnIpCfgDao.xml @@ -206,7 +206,11 @@ from asn_ip_cfg r where r.cfg_id in (${ids}) and is_valid !=-1 - + insert into asn_ip_cfg ( CFG_DESC, @@ -392,18 +396,20 @@ update asn_ip_cfg set is_valid=#{isValid} where cfg_id in (${ids}) - + + update asn_ip_cfg set is_valid=-1 where asn_ip_group=#{groupId} and user_region1=#{asnId} + - select count(1) from asn_ip_cfg where is_valid !=-1 and asn_ip_group in(${groups}) and cfg_id not in(${ids}) GROUP BY asn_ip_group; - + \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/specific/SpecificServiceCfgDao.java b/src/main/java/com/nis/web/dao/specific/SpecificServiceCfgDao.java index 5cb21f222..29565c169 100644 --- a/src/main/java/com/nis/web/dao/specific/SpecificServiceCfgDao.java +++ b/src/main/java/com/nis/web/dao/specific/SpecificServiceCfgDao.java @@ -44,6 +44,7 @@ public interface SpecificServiceCfgDao extends CrudDao { List getChildrenById(Integer specServiceId); ConfigGroupInfo getConfigGroupInfoByGroupId(Integer groupId); + ConfigGroupInfo findPolicyGroupInfosByType(@Param("groupType")Integer groupType); Integer getIssuedConfigGroupInfoByGroupIds(@Param("groupIds")String groupIds); Integer insertConfigGroupInfo(ConfigGroupInfo entity); diff --git a/src/main/java/com/nis/web/dao/specific/SpecificServiceCfgDao.xml b/src/main/java/com/nis/web/dao/specific/SpecificServiceCfgDao.xml index 8d6fdf801..1bf00b9a0 100644 --- a/src/main/java/com/nis/web/dao/specific/SpecificServiceCfgDao.xml +++ b/src/main/java/com/nis/web/dao/specific/SpecificServiceCfgDao.xml @@ -237,4 +237,8 @@ insert into config_group_info (id,group_id,group_name,is_issued,insert_time,group_type,compile_id,asn_id) values(#{id},#{groupId},#{groupName},#{isIssued},now(),#{groupType},#{compileId},#{asnId}) + \ No newline at end of file diff --git a/src/main/java/com/nis/web/service/basics/AsnIpCfgService.java b/src/main/java/com/nis/web/service/basics/AsnIpCfgService.java index 9cdffab9e..6bb779e2a 100644 --- a/src/main/java/com/nis/web/service/basics/AsnIpCfgService.java +++ b/src/main/java/com/nis/web/service/basics/AsnIpCfgService.java @@ -3,6 +3,8 @@ package com.nis.web.service.basics; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Map; +import java.util.Map.Entry; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; @@ -10,8 +12,11 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import com.beust.jcommander.internal.Lists; import com.nis.domain.Page; +import com.nis.domain.SysDataDictionaryItem; import com.nis.domain.basics.AsnIpCfg; +import com.nis.domain.basics.PolicyGroupInfo; import com.nis.domain.configuration.CfgIndexInfo; import com.nis.domain.maat.GroupReuseAddBean; import com.nis.domain.maat.GroupReuseCfg; @@ -20,11 +25,15 @@ import com.nis.domain.maat.MaatCfg.NumBoundaryCfg; import com.nis.domain.maat.MaatCfg.StringCfg; import com.nis.domain.maat.ToMaatResult; import com.nis.domain.specific.ConfigGroupInfo; +import com.nis.exceptions.MaatConvertException; import com.nis.util.ConfigServiceUtil; import com.nis.util.Constants; +import com.nis.util.DictUtils; import com.nis.web.dao.CrudDao; import com.nis.web.dao.basics.AsnIpCfgDao; +import com.nis.web.dao.basics.PolicyGroupInfoDao; import com.nis.web.dao.specific.SpecificServiceCfgDao; +import com.nis.web.security.UserUtils; import com.nis.web.service.CrudService; @Service public class AsnIpCfgService extends CrudService, AsnIpCfg> { @@ -32,6 +41,8 @@ public class AsnIpCfgService extends CrudService, AsnIpCfg> { private AsnIpCfgDao asnIpCfgDao; @Autowired private SpecificServiceCfgDao specificServiceCfgDao; + @Autowired + private PolicyGroupInfoDao policyGroupInfoDao; /** * @param page * @param entity @@ -50,10 +61,13 @@ public class AsnIpCfgService extends CrudService, AsnIpCfg> { @Transactional(readOnly=false,rollbackFor=RuntimeException.class) public void save(List entitys){ Date createTime=new Date(); + List idList=ConfigServiceUtil.getId(3, entitys.size()); + int index=0; for(AsnIpCfg entity:entitys) { entity.setCreateTime(createTime); entity.setCreatorId(entity.getCurrentUser().getId()); - entity.setRegionId(ConfigServiceUtil.getId(3, 1).get(0)); + entity.setRegionId(idList.get(index)); + index++; } this.saveBatch(entitys, AsnIpCfgDao.class); } @@ -72,10 +86,117 @@ public class AsnIpCfgService extends CrudService, AsnIpCfg> { throw new RuntimeException("asn group is issued, cannot update asn ip!"); } + } + @Transactional(readOnly=false,rollbackFor=RuntimeException.class) + public void saveAsnIpBatch(Map> cfgs) { + List toDelAsnIpCfgs=Lists.newArrayList(); + List toSaveAsnIpCfgs=Lists.newArrayList(); + List isImportAll=DictUtils.getDictList("IS_ASN_IP_IMPORT_ALL"); + for(Entry> entry:cfgs.entrySet()) { + Integer asnNo=Integer.parseInt(entry.getKey()); + ConfigGroupInfo configGroupInfo=this.getConfigGroupInfoByAsnNo(asnNo); + if(configGroupInfo==null) {//不存在则新增 + PolicyGroupInfo info=new PolicyGroupInfo(); + info.setAsnNo(Integer.parseInt(entry.getKey())); + info.setDescription("Create by import excel"); + info.setGroupName("Import"+asnNo); + info.setGroupType(4); + this.saveAsnGroup(info); + configGroupInfo=this.getConfigGroupInfoByAsnNo(asnNo); + } + for(AsnIpCfg cfg:entry.getValue()) { + cfg.setAsnIpGroup(configGroupInfo.getGroupId()); + if(configGroupInfo.getIsIssued()==0) + cfg.setIsValid(Constants.VALID_NO); + else + cfg.setIsValid(Constants.VALID_YES); + } + if(isImportAll.get(0).getItemCode().equals("1")) {//全量下发,删除已有的 + if(configGroupInfo.getIsIssued()==0) {//已下发 + List _toDelAsnIpCfgs=this.getByAsnGroup(configGroupInfo.getGroupId(), configGroupInfo.getAsnId()); + toDelAsnIpCfgs.addAll(_toDelAsnIpCfgs); + } + this.deleteByAsnGroup(configGroupInfo.getGroupId(), configGroupInfo.getAsnId()); + } + toSaveAsnIpCfgs.addAll(entry.getValue()); + } + this.save(toSaveAsnIpCfgs); + if(toDelAsnIpCfgs.size()>0) { + asnIPRegionSendToMaat(toDelAsnIpCfgs,Constants.VALID_NO); + } + if(toSaveAsnIpCfgs.size()>0) { + asnIPRegionSendToMaat(toSaveAsnIpCfgs,Constants.VALID_YES); + } + } + /** + * asn ip分组复用新增 + * @param asnIpCfgs + */ + public void asnIPRegionSendToMaat(List asnIpCfgs,Integer valid) { + GroupReuseAddBean maatBean = new GroupReuseAddBean(); + List groupReuseList=new ArrayList<>(); + GroupReuseCfg groupReuseCfg=new GroupReuseCfg(); + List ipRegionList = groupReuseCfgAddRemoveConvert(asnIpCfgs,valid,null); + List strRegionList = new ArrayList<>(); + List numRegionList = new ArrayList<>(); + groupReuseCfg.setIpRegionList(ipRegionList); + groupReuseCfg.setStrRegionList(strRegionList); + groupReuseCfg.setNumRegionList(numRegionList); + groupReuseList.add(groupReuseCfg); + maatBean.setGroupReuseCfgList(groupReuseList); + maatBean.setAuditTime(new Date()); + maatBean.setCreatorName(UserUtils.getUser().getName()); + maatBean.setVersion(Constants.MAAT_VERSION); + if(valid==Constants.VALID_YES) { + maatBean.setOpAction(Constants.INSERT_ACTION); + //调用服务接口下发配置数据 + String json=gsonToJson(maatBean); + logger.info("asn ip复用域新增配置下发配置参数:"+json); + //调用服务接口下发配置 + ToMaatResult result =ConfigServiceUtil.postGroupReuseSources(json); + logger.info("asn ip复用域新增配置响应信息:"+result.getMsg()); + }else { + maatBean.setOpAction(Constants.UPDATE_ACTION); + //调用服务接口下发配置数据 + String json=gsonToJson(maatBean); + logger.info("asn ip复用域删除配置下发配置参数:"+json); + //调用服务接口下发配置 + ToMaatResult result = ConfigServiceUtil.put(json,3); + logger.info("asn ip复用域删除配置响应信息:"+result.getMsg()); + } + } + @Transactional(readOnly=false,rollbackFor=RuntimeException.class) + public void saveAsnGroup(PolicyGroupInfo entity) throws MaatConvertException{ + entity.setIsValid(1); + //新增 + Date createTime=new Date(); + entity.setCreatorId(UserUtils.getUser().getId()); + entity.setCreateTime(createTime); + //asn类型从综合服务获取groupId + if(4==entity.getGroupType().intValue()) { + int serviceGroupId=0; + List groupIds= ConfigServiceUtil.getId(2,1); + if(groupIds.size()>0) { + serviceGroupId=groupIds.get(0).intValue(); + }else { + throw new MaatConvertException("Get asn group id failed"); + } + entity.setServiceGroupId(serviceGroupId); + //新增协议分组 + ConfigGroupInfo group = new ConfigGroupInfo(); + group.setGroupId(serviceGroupId); + group.setGroupName(entity.getGroupName()); + group.setIsIssued(0); + group.setGroupType(entity.getGroupType()); + group.setAsnId(entity.getAsnNo()); + specificServiceCfgDao.insertConfigGroupInfo(group); + policyGroupInfoDao.insert(entity); + } + } @Transactional(readOnly=false,rollbackFor=RuntimeException.class) public void saveAsnIpCfg(CfgIndexInfo entity) { - Date crateTime=new Date(); + Date createTime=new Date(); ConfigGroupInfo groupInfo=specificServiceCfgDao.getConfigGroupInfoByGroupId(entity.getAsnIpGroup().intValue()); if(groupInfo==null) { throw new RuntimeException("ConfigGroupInfo is null!"); @@ -89,39 +210,19 @@ public class AsnIpCfgService extends CrudService, AsnIpCfg> { BeanUtils.copyProperties(entity, cfg, new String[]{"cfgId","cfgDesc"}); } - cfg.setCreateTime(crateTime); + cfg.setCreateTime(createTime); cfg.setCreatorId(entity.getCurrentUser().getId()); cfg.setAsnIpGroup(entity.getAsnIpGroup()); cfg.setIsValid(Constants.VALID_YES); } } this.save(entity.getAsnIpCfgs()); - GroupReuseAddBean maatBean = new GroupReuseAddBean(); - List groupReuseList=new ArrayList<>(); - GroupReuseCfg groupReuseCfg=new GroupReuseCfg(); - List ipRegionList = groupReuseCfgAddRemoveConvert(entity.getAsnIpCfgs(),Constants.VALID_YES,null); - List strRegionList = new ArrayList<>(); - List numRegionList = new ArrayList<>(); - groupReuseCfg.setIpRegionList(ipRegionList); - groupReuseCfg.setStrRegionList(strRegionList); - groupReuseCfg.setNumRegionList(numRegionList); - groupReuseList.add(groupReuseCfg); - maatBean.setGroupReuseCfgList(groupReuseList); - maatBean.setAuditTime(crateTime); - maatBean.setCreatorName(entity.getCurrentUser().getName()); - maatBean.setVersion(Constants.MAAT_VERSION); - maatBean.setOpAction(Constants.INSERT_ACTION); - //调用服务接口下发配置数据 - String json=gsonToJson(maatBean); - logger.info("asn ip复用域新增配置下发配置参数:"+json); - //调用服务接口下发配置 - ToMaatResult result = ConfigServiceUtil.postGroupReuseSources(json); - logger.info("asn ip复用域新增配置响应信息:"+result.getMsg()); + asnIPRegionSendToMaat(entity.getAsnIpCfgs(),Constants.VALID_YES); }else { if(entity.getAsnIpCfgs()!=null) { for(AsnIpCfg cfg:entity.getAsnIpCfgs()) { BeanUtils.copyProperties(entity, cfg, new String[]{"cfgId"}); - cfg.setCreateTime(crateTime); + cfg.setCreateTime(createTime); cfg.setCreatorId(entity.getCurrentUser().getId()); cfg.setAsnIpGroup(entity.getAsnIpGroup().intValue()); cfg.setIsValid(Constants.VALID_NO); @@ -151,34 +252,14 @@ public class AsnIpCfgService extends CrudService, AsnIpCfg> { } if(issuedList.size()>0) { //已经下发过的,调用分组复用配置删除接口 - GroupReuseAddBean maatBean = new GroupReuseAddBean(); - List groupReuseList=new ArrayList<>(); - GroupReuseCfg groupReuseCfg=new GroupReuseCfg(); - List ipRegionList = groupReuseCfgAddRemoveConvert(issuedList,Constants.VALID_NO,null); - List strRegionList = new ArrayList<>(); - List numRegionList = new ArrayList<>(); - groupReuseCfg.setIpRegionList(ipRegionList); - groupReuseCfg.setStrRegionList(strRegionList); - groupReuseCfg.setNumRegionList(numRegionList); - groupReuseList.add(groupReuseCfg); - maatBean.setGroupReuseCfgList(groupReuseList); - maatBean.setAuditTime(new Date()); - maatBean.setCreatorName(new AsnIpCfg().getCurrentUser().getName()); - maatBean.setVersion(Constants.MAAT_VERSION); - maatBean.setOpAction(Constants.UPDATE_ACTION); - //调用服务接口下发配置数据 - String json=gsonToJson(maatBean); - logger.info("asn ip复用域删除配置下发配置参数:"+json); - //调用服务接口下发配置 - ToMaatResult result = ConfigServiceUtil.put(json,3); - logger.info("asn ip复用域删除配置响应信息:"+result.getMsg()); + asnIPRegionSendToMaat(issuedList,Constants.VALID_NO); } asnIpCfgDao.updateValid(isValid, ids); } - public List findPolicyGroupInfosByType(Integer groupId) { - // TODO Auto-generated method stub - return asnIpCfgDao.findPolicyGroupInfosByType(groupId); - } +// public List findPolicyGroupInfosByType(Integer groupId) { +// // TODO Auto-generated method stub +// return asnIpCfgDao.findPolicyGroupInfosByType(groupId); +// } /** * 选中组中是否含有只剩一个未删除IP的组 * @param serviceGroupIds @@ -200,4 +281,19 @@ public class AsnIpCfgService extends CrudService, AsnIpCfg> { } return false; } + public ConfigGroupInfo getConfigGroupInfoByAsnNo(Integer asnNo) { + return asnIpCfgDao.getInfoByAsnNo(asnNo); + } + public List getByAsnGroup(Integer groupId,Integer asnNo) { + if(groupId==null||asnNo==null) { + throw new RuntimeException("groupId or asnNo is null!"); + } + return asnIpCfgDao.getByAsnGroup(groupId,asnNo); + } + public void deleteByAsnGroup(Integer groupId,Integer asnNo) { + if(groupId==null||asnNo==null) { + throw new RuntimeException("groupId or asnNo is null!"); + } + asnIpCfgDao.deleteByAsnGroup(groupId,asnNo); + } } diff --git a/src/main/resources/sql/20181026/add_asn_ip_import_dict.sql b/src/main/resources/sql/20181026/add_asn_ip_import_dict.sql new file mode 100644 index 000000000..afeaa5695 --- /dev/null +++ b/src/main/resources/sql/20181026/add_asn_ip_import_dict.sql @@ -0,0 +1,3 @@ +#加入导入asn ip是否全量下发的开关 +INSERT INTO sys_data_dictionary_name (id,module_name, mark, remark, revision, create_time, modify_time, STATUS) VALUES ( 124,'asn ip导入是否全量下发', 'IS_ASN_IP_IMPORT_ALL', '', '', '2018-10-26 15:28:29.494', '2018-10-26 15:28:29.494', 1) ; +INSERT INTO sys_data_dictionary_item (id,item_code, item_value, item_desc, item_sort, STATUS, TYPE, dictionary_id) VALUES (2958,1, 'yes_no', '1是;0不是', 0, 1, 1, 124) ; \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/cfg/ipaddr/ipSubList.jsp b/src/main/webapp/WEB-INF/views/cfg/ipaddr/ipSubList.jsp index 6147625e9..c3e5b2586 100644 --- a/src/main/webapp/WEB-INF/views/cfg/ipaddr/ipSubList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/ipaddr/ipSubList.jsp @@ -233,7 +233,7 @@
- +