asn 相关修改提交

(1)asn_ip_cfg增加四列
(2)新增asn_group_info表
(3)asn ip菜单移动到policy object下,新增审核审计菜单
(4)asn ip导入修改,适应新的需求放弃了使用AsnCache,直接从数据库查
(5)asn ip加入审核流程
(6)Packet IP选择asn时,改为选中一个组织,审核下发的配置为as号字符串域
(7)asn ip 新增业务新增function_service_dict字典,serviceId为400
This commit is contained in:
wangxin
2019-01-04 18:28:57 +06:00
parent 429b1841f1
commit 85507b5a55
44 changed files with 2596 additions and 767 deletions

View File

@@ -8,8 +8,8 @@ import org.apache.log4j.Logger;
import org.apache.shiro.cache.Cache;
import com.beust.jcommander.internal.Lists;
import com.nis.domain.specific.ConfigGroupInfo;
import com.nis.web.dao.specific.ConfigGroupInfoDao;
import com.nis.domain.basics.AsnGroupInfo;
import com.nis.web.dao.basics.AsnGroupInfoDao;
import com.nis.web.service.SpringContextHolder;
import jersey.repackaged.com.google.common.collect.Maps;
@@ -26,40 +26,40 @@ public class AsnCacheUtils{
*/
private static final String ASN_NO_CACHE = "asnNoCache";
private static final int cache_rage = 1000;
private final static ConfigGroupInfoDao configGroupInfoDao = SpringContextHolder.getBean(ConfigGroupInfoDao.class);
private final static AsnGroupInfoDao configGroupInfoDao = SpringContextHolder.getBean(AsnGroupInfoDao.class);
/**
* 获取缓存
* @param cacheName
* @param key
* @return
*/
public static ConfigGroupInfo get(Long key) {
public static AsnGroupInfo get(Long key) {
Cache cache = getCache(ASN_NO_CACHE);
Object element = cache.get(key/cache_rage);
// Element element = getCache(ASN_NO_CACHE).get(key/cache_rage);
if(element!=null) {
Map<Long,ConfigGroupInfo> map=(Map<Long,ConfigGroupInfo>)element;
Map<Long,AsnGroupInfo> map=(Map<Long,AsnGroupInfo>)element;
if(map.containsKey(key)) {
return map.get(key);
}
}
return null;
}
public static Map<Long,ConfigGroupInfo> getMap(Object key) {
public static Map<Long,AsnGroupInfo> getMap(Object key) {
Object element = getCache(ASN_NO_CACHE).get(key);
return (Map<Long,ConfigGroupInfo>)element;
return (Map<Long,AsnGroupInfo>)element;
}
public static void clearCache() {
logger.warn("clear cache!");
getCache(ASN_NO_CACHE).clear();
}
public static List<ConfigGroupInfo> getAllAsnGroup(){
List<ConfigGroupInfo> configGroupInfos=Lists.newArrayList();
public static List<AsnGroupInfo> getAllAsnGroup(){
List<AsnGroupInfo> configGroupInfos=Lists.newArrayList();
Cache cache=getCache(ASN_NO_CACHE);
for(Object val : cache.values()) {
if(val!=null) {
Map<Long,ConfigGroupInfo> map=(Map<Long,ConfigGroupInfo>)val;
Map<Long,AsnGroupInfo> map=(Map<Long,AsnGroupInfo>)val;
configGroupInfos.addAll(map.values());
}
}
@@ -77,31 +77,32 @@ public class AsnCacheUtils{
logger.warn("AsnCacheUtils init start...");
Cache cache=getCache(ASN_NO_CACHE);
if(force) {
List<ConfigGroupInfo> list=configGroupInfoDao.findAllList(4);
Map<Long,Map<Long,ConfigGroupInfo>> groupMap=Maps.newHashMap();
for(ConfigGroupInfo configGroupInfo:list) {
cache.clear();
List<AsnGroupInfo> list=configGroupInfoDao.findAsnGroupInfos();
Map<Long,Map<Long,AsnGroupInfo>> groupMap=Maps.newHashMap();
for(AsnGroupInfo configGroupInfo:list) {
if(groupMap.containsKey(configGroupInfo.getAsnId()/cache_rage)) {
groupMap.get(configGroupInfo.getAsnId()/cache_rage)
.put(configGroupInfo.getAsnId(), configGroupInfo);
}else {
Map<Long,ConfigGroupInfo> m=Maps.newHashMap();
Map<Long,AsnGroupInfo> m=Maps.newHashMap();
m.put(configGroupInfo.getAsnId(), configGroupInfo);
groupMap.put(configGroupInfo.getAsnId()/cache_rage, m);
}
}
for(Entry<Long, Map<Long, ConfigGroupInfo>> e:groupMap.entrySet()) {
for(Entry<Long, Map<Long, AsnGroupInfo>> e:groupMap.entrySet()) {
cache.put(e.getKey(),e.getValue());
}
}else {
//查询总量
Long count=configGroupInfoDao.getCountByType(4);
Long count=configGroupInfoDao.getCount();
boolean loadDatabase=false;
if(cache.keys().size()==0) {
loadDatabase=true;
}else {
long c=0l;
for(Object key:cache.keys()) {
Map<Long, ConfigGroupInfo> map = getMap(key);
Map<Long, AsnGroupInfo> map = getMap(key);
if(map != null) {
c+=getMap(key).size();
}
@@ -111,19 +112,19 @@ public class AsnCacheUtils{
}
}
if(loadDatabase) {
List<ConfigGroupInfo> list=configGroupInfoDao.findAllList(4);
Map<Long,Map<Long,ConfigGroupInfo>> groupMap=Maps.newHashMap();
for(ConfigGroupInfo configGroupInfo:list) {
List<AsnGroupInfo> list=configGroupInfoDao.findAsnGroupInfos();
Map<Long,Map<Long,AsnGroupInfo>> groupMap=Maps.newHashMap();
for(AsnGroupInfo configGroupInfo:list) {
if(groupMap.containsKey(configGroupInfo.getAsnId()/cache_rage)) {
groupMap.get(configGroupInfo.getAsnId()/cache_rage)
.put(configGroupInfo.getAsnId(), configGroupInfo);
}else {
Map<Long,ConfigGroupInfo> m=Maps.newHashMap();
Map<Long,AsnGroupInfo> m=Maps.newHashMap();
m.put(configGroupInfo.getAsnId(), configGroupInfo);
groupMap.put(configGroupInfo.getAsnId()/cache_rage, m);
}
}
for(Entry<Long, Map<Long, ConfigGroupInfo>> e:groupMap.entrySet()) {
for(Entry<Long, Map<Long, AsnGroupInfo>> e:groupMap.entrySet()) {
cache.put(e.getKey(), e.getValue());
}
}
@@ -137,15 +138,15 @@ public class AsnCacheUtils{
* @param key
* @return
*/
public static void put(Long key, ConfigGroupInfo value) {
public static void put(Long key, AsnGroupInfo value) {
Long _key=key/cache_rage;
Object element = getCache(ASN_NO_CACHE).get(_key);
if(element==null) {
Map<Long,ConfigGroupInfo> map=Maps.newHashMap();
Map<Long,AsnGroupInfo> map=Maps.newHashMap();
map.put(key, value);
getCache(ASN_NO_CACHE).put(_key,map);
}else {
Map<Long,ConfigGroupInfo> map=(Map<Long,ConfigGroupInfo>)element;
Map<Long,AsnGroupInfo> map=(Map<Long,AsnGroupInfo>)element;
map.put(key, value);
getCache(ASN_NO_CACHE).put(_key,map);
}
@@ -162,7 +163,7 @@ public class AsnCacheUtils{
Long _key=key/cache_rage;
Object element = getCache(ASN_NO_CACHE).get(_key);
if(element!=null) {
Map<Long,ConfigGroupInfo> map=(Map<Long,ConfigGroupInfo>)element;
Map<Long,AsnGroupInfo> map=(Map<Long,AsnGroupInfo>)element;
if(map.containsKey(key)) {
map.remove(key);
}