into develop

Conflicts:
	src/main/java/com/nis/web/service/BaseService.java
	asn group中修改组织变更和asn no变更,不重新获取groupId逻辑
	ip addr 的asn 修改为手动输入,后台check
	app ip和asn ip配置取消,取消分组中最后一条配置时,失效整个compile,并且修改groupId的状态为为无效。
	无效的asn group删除时,删除其下的所有asn ip
This commit is contained in:
duandongmei
2019-01-18 11:14:05 +06:00
70 changed files with 871 additions and 3911 deletions

View File

@@ -74,41 +74,43 @@ public class AsnGroupInfoService extends BaseService{
String country=entity.getCountry().trim().toUpperCase();
entity.setOrganization(org);
entity.setCountry(country);
int groupId=0;
//获取组织
ConfigGroupInfo configGroupInfo=configGroupInfoDao.getAsnGroupByName(org);
if(configGroupInfo==null) {
List<Integer> groupIds= ConfigServiceUtil.getId(2,2);
if(groupIds.size()>0) {
groupId=groupIds.get(0).intValue();
}else {
throw new MaatConvertException("Get asn group id failed");
int groupId=0;
//新增
if(entity.getGroupId()==null){
//1、根据信的组织名称获取组织config_group_info
ConfigGroupInfo configGroupInfo=configGroupInfoDao.getAsnGroupByName(entity.getOrganization());
if(configGroupInfo ==null){
//新增组织
List<Integer> groupIds= ConfigServiceUtil.getId(2,1);
if(groupIds.size()>0) {
groupId=groupIds.get(0).intValue();
}else {
throw new MaatConvertException("Get asn group id failed");
}
configGroupInfo=new ConfigGroupInfo();
configGroupInfo.setGroupName(entity.getOrganization());
configGroupInfo.setIsIssued(0);
configGroupInfo.setGroupType(4);
configGroupInfo.setIsAuditAll(0);
configGroupInfo.setIsUsed(0);
configGroupInfo.setGroupId(groupIds.get(0));
configGroupInfo.setInsertTime(new Date());
configGroupInfoDao.insertConfigGroupInfo(configGroupInfo);
}
configGroupInfo=new ConfigGroupInfo();
configGroupInfo.setGroupName(org.toUpperCase());
configGroupInfo.setIsIssued(0);
configGroupInfo.setGroupType(4);
configGroupInfo.setIsAuditAll(0);
configGroupInfo.setIsUsed(0);
configGroupInfo.setGroupId(groupIds.get(1));
configGroupInfo.setInsertTime(new Date());
configGroupInfoDao.insertConfigGroupInfo(configGroupInfo);
}else {
List<Integer> groupIds= ConfigServiceUtil.getId(2,1);
if(groupIds.size()>0) {
groupId=groupIds.get(0).intValue();
}else {
throw new MaatConvertException("Get asn group id failed");
}
}
//新增
if(entity.getGroupId()==null){
Date createTime=new Date();
entity.setCreatorId(UserUtils.getUser().getId());
entity.setCreateTime(createTime);
entity.setGroupId(groupId);
entity.setOrgGroupId(configGroupInfo.getGroupId());
entity.setIsValid(0);
//分组已被策略设定为下发全部域则需要自动下发新增的asno
if(configGroupInfo.getIsAuditAll() != null && configGroupInfo.getIsAuditAll().equals(1)){
@@ -139,41 +141,43 @@ public class AsnGroupInfoService extends BaseService{
}
//修改
}else{
long id=entity.getId();
AsnGroupInfo group=asnGroupInfoDao.getById(id);
int count=asnGroupInfoDao.getCountGroupInfoByName(group.getOrganization());
if(count==1&&!group.getOrganization().equalsIgnoreCase(entity.getOrganization())) {
configGroupInfoDao.delAsnGroup(group.getOrganization());
}
ConfigGroupInfo configGroupInfo1=configGroupInfoDao.getAsnGroupByName(entity.getOrganization());
if(configGroupInfo1==null) {
List<Integer> groupIds= ConfigServiceUtil.getId(2,2);
if(groupIds.size()>0) {
groupId=groupIds.get(0).intValue();
}else {
throw new MaatConvertException("Get asn group id failed");
}
configGroupInfo1=new ConfigGroupInfo();
configGroupInfo1.setGroupName(entity.getOrganization().toUpperCase());
configGroupInfo1.setIsIssued(0);
configGroupInfo1.setGroupType(4);
configGroupInfo1.setIsUsed(0);
configGroupInfo1.setIsAuditAll(0);
configGroupInfo1.setGroupId(groupIds.get(1));
configGroupInfo1.setInsertTime(new Date());
configGroupInfoDao.insertConfigGroupInfo(configGroupInfo1);
//查询旧的asn group
AsnGroupInfo oldGroup=asnGroupInfoDao.getById(entity.getId());
//根据旧的组织名称查询config group info
ConfigGroupInfo oldConfigGroupInfo=configGroupInfoDao.getAsnGroupByName(oldGroup.getOrganization());
if(oldConfigGroupInfo ==null){
//新增组织
List<Integer> groupIds= ConfigServiceUtil.getId(2,1);
if(groupIds.size()>0) {
groupId=groupIds.get(0).intValue();
}else {
throw new MaatConvertException("Get asn group id failed");
}
oldConfigGroupInfo=new ConfigGroupInfo();
oldConfigGroupInfo.setGroupName(entity.getOrganization());
oldConfigGroupInfo.setIsIssued(0);
oldConfigGroupInfo.setGroupType(4);
oldConfigGroupInfo.setIsAuditAll(0);
oldConfigGroupInfo.setIsUsed(0);
oldConfigGroupInfo.setGroupId(groupIds.get(0));
oldConfigGroupInfo.setInsertTime(new Date());
configGroupInfoDao.insert(oldConfigGroupInfo);
}else{
ConfigGroupInfo newConfigGroupInfo=new ConfigGroupInfo();
newConfigGroupInfo.setGroupId(oldConfigGroupInfo.getGroupId());
newConfigGroupInfo.setId(oldConfigGroupInfo.getId());
newConfigGroupInfo.setGroupName(entity.getOrganization());
configGroupInfoDao.update(newConfigGroupInfo);
}
Date editTime=new Date();
entity.setEditorId(UserUtils.getUser().getId());
entity.setEditTime(editTime);
entity.setGroupId(groupId);
asnGroupInfoDao.update(entity);
asnIpCfgDao.updateAsn(String.valueOf(entity.getAsnId()),entity.getOrganization(),entity.getCountry(),entity.getDetail());
if(configGroupInfo1.getIsUsed()!= null
&& configGroupInfo1.getIsUsed().equals(1)){
group.setGroupId(groupId);
group.setAsnId(entity.getAsnId());
auditAsn(group,configGroupInfo1,Constants.OPACTION_PUT);
asnIpCfgDao.updateAsn(String.valueOf(entity.getAsnId()),entity.getOrganization(),entity.getCountry(),entity.getDetail(),String.valueOf(entity.getGroupId()));
if(oldConfigGroupInfo.getIsUsed()!= null
&& oldConfigGroupInfo.getIsUsed().equals(1)){
auditAsn(entity,oldConfigGroupInfo,Constants.OPACTION_PUT);
}
}
@@ -216,14 +220,14 @@ public class AsnGroupInfoService extends BaseService{
}
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public void delete(String ids,String asnIds){
public void delete(String ids,String asnIds,String groupIds){
if(!StringUtil.isEmpty(ids)){
List<GroupReuseCfg> commonGroupList=new ArrayList<>();
//查询已经被策略引用的asn
List<AsnGroupInfo> asnList=asnGroupInfoDao.findAsnGroupInfoByAsnNos(Arrays.asList(asnIds.split(",")), 1);
List<AsnGroupInfo> asnList=asnGroupInfoDao.findAsnGroupInfoByGroupIds(Arrays.asList(groupIds.split(",")), 1);
//修改asn为无效且解除引用
asnGroupInfoDao.updateIsUsedAndIsValid(Arrays.asList(asnIds.split(",")), 0, -1);
asnGroupInfoDao.updateIsUsedAndIsValid(Arrays.asList(groupIds.split(",")), 0, -1);
//删除asn下的所有asn IP
asnIpCfgDao.deleteByAsnId(asnIds);
@@ -364,9 +368,5 @@ public class AsnGroupInfoService extends BaseService{
List<AsnGroupInfo> list=asnGroupInfoDao.findAsnGroupInfoByAsnGroup(asnGroupInfo);
return list;
}
public List<AsnGroupInfo> findAsnGroupList(List<String> asnNos,Integer isUsed){
List<AsnGroupInfo> list=asnGroupInfoDao.findAsnGroupInfoByAsnNos(asnNos,null );
return list;
}
}