asn ip、ip复用增加导出功能,增加NTC_KEYWORDS_URL_LOG日志

This commit is contained in:
leijun
2018-10-25 18:50:59 +08:00
parent aac4967049
commit 297118fb96
17 changed files with 788 additions and 18 deletions

View File

@@ -3,6 +3,7 @@ package com.nis.domain.basics;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
import com.nis.domain.configuration.BaseCfg;
import com.nis.util.excel.ExcelField;
public class AsnIpCfg extends BaseCfg<AsnIpCfg> {
@@ -16,14 +17,18 @@ public class AsnIpCfg extends BaseCfg<AsnIpCfg> {
@Expose
private String ratelimit;
@Expose
@ExcelField(title="ip_type",dictType="IP_TYPE",sort=3)
@SerializedName("ipType")
private Integer ipType;
@ExcelField(title="ip_pattern",dictType="IP_PATTERN",sort=6)
private Integer ipPattern;
private String srcIpAddress;
@ExcelField(title="server_ip",sort=5)
private String destIpAddress;
private Integer portPattern;
private String srcPort;
private String destPort;
@ExcelField(title="group",sort=2)
private String asnIpGroupName;//asn组名
private Integer asnIpGroup;//asn号
/**
@@ -41,6 +46,17 @@ public class AsnIpCfg extends BaseCfg<AsnIpCfg> {
private Integer protocolId;
private Integer compileId=0;
@ExcelField(title="is_issued",dictType="VALID_IDENTIFIER",sort=90)
private String isIssued;
public String getIsIssued() {
return isIssued;
}
public void setIsIssued(String isIssued) {
this.isIssued = isIssued;
}
public Integer getCompileId() {
return compileId;
}

View File

@@ -4,6 +4,7 @@ import java.util.Date;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
import com.nis.util.excel.ExcelField;
import com.nis.web.service.BaseService;
/**
@@ -19,27 +20,52 @@ public class IpMultiplexPoolCfg extends BaseCfg<IpMultiplexPoolCfg> {
private static final long serialVersionUID = -5902468971425910528L;
private String indexTable="ip_multiplex_pool_cfg";
@Expose
@ExcelField(title="cfg_id",sort=0)
@SerializedName("cfgId")
private Integer compileId;
@Expose
@SerializedName("addrType")
private String ipType;
@Expose
private Integer protocol;
@Expose
@ExcelField(title="server_ip",sort=6)
@SerializedName("ip")
private String destIpAddress;
@Expose
@ExcelField(title="server_port",sort=9)
private String port;
@Expose
private Integer direction;
@Expose
private String userRegion;
@Expose
private Integer location;
@Expose
private Integer policyGroup;
private Integer policyGroup;
@ExcelField(title="group",sort=2)
private String groupName;
/**
* 方向
*/
@Expose
@SerializedName("direction")
@ExcelField(title="direction",dictType="DIRECTION",sort=13)
protected Integer direction ;
/**
* 协议
*/
@Expose
@SerializedName("protocol")
@ExcelField(title="protocol",dictType="PROTOCOL",sort=12)
protected Integer protocol ;
@ExcelField(title="isp" ,sort=3)
private String ispName;
public String getIspName() {
return ispName;
}
public void setIspName(String ispName) {
this.ispName = ispName;
}
public Integer getCompileId() {
return compileId;
}

View File

@@ -0,0 +1,23 @@
package com.nis.domain.log;
public class NtcKeywordsUrlLog extends BaseLogEntity<NtcKeywordsUrlLog> {
private static final long serialVersionUID = -7697668215327123848L;
private String url;
private String website;//域名
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getWebsite() {
return website;
}
public void setWebsite(String website) {
this.website = website;
}
}

View File

@@ -400,6 +400,7 @@ public final class Constants {
public static final String NTC_BGP_LOG = Configurations.getStringProperty("ntcBgpLog","");
public static final String NTC_P2P_LOG = Configurations.getStringProperty("ntcP2pLog","");
public static final String NTC_HTTP_LOG = Configurations.getStringProperty("ntcHttpLog","");
public static final String NTC_KEYWORDS_URL_LOG = Configurations.getStringProperty("ntcKeywordsUrlLog","");
public static final String NTC_DNS_LOG = Configurations.getStringProperty("ntcDnsLog","");
public static final String NTC_SSL_LOG = Configurations.getStringProperty("ntcSslLog","");
public static final String NTC_PPTP_LOG = Configurations.getStringProperty("ntcPptpLog","");

View File

@@ -1,6 +1,9 @@
package com.nis.web.controller.basics;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -22,7 +25,10 @@ import com.nis.domain.Page;
import com.nis.domain.basics.AsnIpCfg;
import com.nis.domain.basics.PolicyGroupInfo;
import com.nis.domain.configuration.CfgIndexInfo;
import com.nis.domain.configuration.DnsResStrategy;
import com.nis.domain.configuration.IpPortCfg;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.Constants;
import com.nis.util.DictUtils;
import com.nis.web.controller.BaseController;
@Controller
@@ -134,4 +140,53 @@ public class AsnIpController extends BaseController{
}
return false;
}
//asnIp配置导出
@RequestMapping(value = "exportAsnIp")
public void exportAsnIp(Model model,HttpServletRequest request,HttpServletResponse response,
@ModelAttribute("cfg")AsnIpCfg entity,String ids,RedirectAttributes redirectAttributes){
try {
//export data info
List<String> titleList=new ArrayList<String>();
Map<String, Class<?>> classMap=new HashMap<String, Class<?>>();
Map<String, List> dataMap=new HashMap<String, List>();
Map<String, String> noExportMap=new HashMap<String, String>();
/*//导出选中记录
* if(!StringUtil.isEmpty(ids)){
for(String id:ids.split(",")){
Long.parseLong(id);
}
//List<CfgIndexInfo> list=ipCfgService.getListByCfgIdWithName(IpPortCfg.getTablename(), entity.getFunctionId(), ids);
}else{*/
//条件导出数据大于最大导出数,只导出最大导出条数
entity.setTableName(IpPortCfg.getTablename());
Page<AsnIpCfg> pageInfo=new Page<AsnIpCfg>(request, response,"r");
if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){
pageInfo.setPageNo(1);
pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE);
}else{
pageInfo.setPageNo(1);
pageInfo.setPageSize(-1);
}
Page<AsnIpCfg> page = asnIpCfgService.findPage(pageInfo, entity);
for (AsnIpCfg asnIp : page.getList()) {
asnIp.setIsIssued(String.valueOf(asnIp.getIsValid()));
}
titleList.add(entity.getMenuNameCode());
classMap.put(entity.getMenuNameCode(), AsnIpCfg.class);
String ipPortInfoNoExport=",do_log,action,valid_identifier,is_audit"
+ ",auditor,audit_time,letter,whether_area_block,classification,attribute,label"
+",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,";
noExportMap.put(entity.getMenuNameCode(),ipPortInfoNoExport);
dataMap.put(entity.getMenuNameCode(), page.getList());
/*}*/
this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap);
} catch (Exception e) {
logger.error("asnIp export failed",e);
addMessage(redirectAttributes, "export_failed");
}
//return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId();
}
}

View File

@@ -177,7 +177,6 @@ public class DnsResStrategyController extends BaseController {
for (int i = 0; i < page.getList().size(); i++) {
page.getList().get(i).setMiTtlmax(String.valueOf(page.getList().get(i).getMinTtl())+"-"+String.valueOf(page.getList().get(i).getMaxTtl()));
}
model.addAttribute("page", page);
titleList.add(entity.getMenuNameCode());
classMap.put(entity.getMenuNameCode(), DnsResStrategy.class);
String cfgIndexInfoNoExport=",valid_identifier,do_log,client_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,";

View File

@@ -1,7 +1,10 @@
package com.nis.web.controller.configuration.maintenance;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -16,10 +19,14 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.nis.domain.Page;
import com.nis.domain.basics.PolicyGroupInfo;
import com.nis.domain.basics.SysDictInfo;
import com.nis.domain.configuration.IpMultiplexPoolCfg;
import com.nis.domain.configuration.IpPortCfg;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.Constants;
import com.nis.util.StringUtil;
import com.nis.web.controller.BaseController;
import com.nis.web.service.basics.SysDictInfoService;
/**
* IP复用地址池配置
@@ -238,4 +245,91 @@ public class IpMultiplexPoolCfgController extends BaseController {
}
return true;
}
//snat配置导出
@RequestMapping(value = "exportSnat")
public void exportSnat(Model model,HttpServletRequest request,HttpServletResponse response,
@ModelAttribute("cfg")IpMultiplexPoolCfg entity,String ids,RedirectAttributes redirectAttributes){
try {
//export data info
List<String> titleList=new ArrayList<String>();
Map<String, Class<?>> classMap=new HashMap<String, Class<?>>();
Map<String, List> dataMap=new HashMap<String, List>();
Map<String, String> noExportMap=new HashMap<String, String>();
/*//导出选中记录
* if(!StringUtil.isEmpty(ids)){
for(String id:ids.split(",")){
Long.parseLong(id);
}
//List<CfgIndexInfo> list=ipCfgService.getListByCfgIdWithName(IpPortCfg.getTablename(), entity.getFunctionId(), ids);
}else{*/
//条件导出数据大于最大导出数,只导出最大导出条数
Page<IpMultiplexPoolCfg> pageInfo=new Page<IpMultiplexPoolCfg>(request, response,"r");
if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){
pageInfo.setPageNo(1);
pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE);
}else{
pageInfo.setPageNo(1);
pageInfo.setPageSize(-1);
}
Page<IpMultiplexPoolCfg> page = ipMultiplexPoolCfgService.findPage(pageInfo, entity);
page.setList(ipMultiplexPoolCfgService.getIsp(page.getList()));
titleList.add(entity.getMenuNameCode());
classMap.put(entity.getMenuNameCode(), IpMultiplexPoolCfg.class);
String snatNoExport=",server_port,direction,protocol,do_log,whether_area_block,userregion1,userregion2,userregion3,userregion4,userregion5,group_name,";
noExportMap.put(entity.getMenuNameCode(),snatNoExport);
dataMap.put(entity.getMenuNameCode(), page.getList());
/*}*/
this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap);
} catch (Exception e) {
logger.error("snat export failed",e);
addMessage(redirectAttributes, "export_failed");
}
//return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId();
}
//dnat配置导出
@RequestMapping(value = "exportDnat")
public void exportDnat(Model model,HttpServletRequest request,HttpServletResponse response,
@ModelAttribute("cfg")IpMultiplexPoolCfg entity,String ids,RedirectAttributes redirectAttributes){
try {
//export data info
List<String> titleList=new ArrayList<String>();
Map<String, Class<?>> classMap=new HashMap<String, Class<?>>();
Map<String, List> dataMap=new HashMap<String, List>();
Map<String, String> noExportMap=new HashMap<String, String>();
/*//导出选中记录
* if(!StringUtil.isEmpty(ids)){
for(String id:ids.split(",")){
Long.parseLong(id);
}
//List<CfgIndexInfo> list=ipCfgService.getListByCfgIdWithName(IpPortCfg.getTablename(), entity.getFunctionId(), ids);
}else{*/
//条件导出数据大于最大导出数,只导出最大导出条数
Page<IpMultiplexPoolCfg> pageInfo=new Page<IpMultiplexPoolCfg>(request, response,"r");
if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){
pageInfo.setPageNo(1);
pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE);
}else{
pageInfo.setPageNo(1);
pageInfo.setPageSize(-1);
}
Page<IpMultiplexPoolCfg> page = ipMultiplexPoolCfgService.findPage(pageInfo, entity);
titleList.add(entity.getMenuNameCode());
classMap.put(entity.getMenuNameCode(), IpMultiplexPoolCfg.class);
String snatNoExport=",isp,do_log,whether_area_block,userregion1,userregion2,userregion3,userregion4,userregion5,group_name,";
noExportMap.put(entity.getMenuNameCode(),snatNoExport);
dataMap.put(entity.getMenuNameCode(), page.getList());
/*}*/
this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap);
} catch (Exception e) {
logger.error("dnat export failed",e);
addMessage(redirectAttributes, "export_failed");
}
//return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId();
}
}

View File

@@ -8,7 +8,11 @@
*/
package com.nis.web.controller.configuration.manipulation;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -23,12 +27,16 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.nis.domain.Page;
import com.nis.domain.SysDataDictionaryItem;
import com.nis.domain.basics.PolicyGroupInfo;
import com.nis.domain.configuration.BaseIpCfg;
import com.nis.domain.configuration.IpMultiplexPoolCfg;
import com.nis.domain.configuration.IpPortCfg;
import com.nis.domain.configuration.template.IpMultiplexPolicyTemplate;
import com.nis.util.Constants;
import com.nis.util.DictUtils;
import com.nis.util.StringUtil;
import com.nis.web.controller.configuration.CommonController;
/**
@@ -212,4 +220,105 @@ public class IpMultiplexController extends CommonController {
this._auditIp(cfgName,ids, cfg, redirectAttributes);
return "redirect:" + adminPath +"/manipulation/ipmulitiplex/dnatPolicyList?functionId="+cfg.getFunctionId();
}
//snat配置导出
@RequestMapping(value = "exportSnat")
public void exportSnat(Model model,HttpServletRequest request,HttpServletResponse response,
@ModelAttribute("cfg")BaseIpCfg entity,String ids,RedirectAttributes redirectAttributes){
try {
//export data info
List<String> titleList=new ArrayList<String>();
Map<String, Class<?>> classMap=new HashMap<String, Class<?>>();
Map<String, List> dataMap=new HashMap<String, List>();
Map<String, String> noExportMap=new HashMap<String, String>();
/*//导出选中记录
* if(!StringUtil.isEmpty(ids)){
for(String id:ids.split(",")){
Long.parseLong(id);
}
//List<CfgIndexInfo> list=ipCfgService.getListByCfgIdWithName(IpPortCfg.getTablename(), entity.getFunctionId(), ids);
}else{*/
//条件导出数据大于最大导出数,只导出最大导出条数
entity.setTableName(IpPortCfg.getTablename());
Page<BaseIpCfg> pageInfo=new Page<BaseIpCfg>(request, response,"r");
if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){
pageInfo.setPageNo(1);
pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE);
}else{
pageInfo.setPageNo(1);
pageInfo.setPageSize(-1);
}
Page<BaseIpCfg> page = ipCfgService.findPage(pageInfo, entity);//
for (BaseIpCfg baseIp : page.getList()) {
if(StringUtil.isEmpty(baseIp.getGroupName())){
Properties msgProp = getMsgProp();
baseIp.setGroupName(msgProp.getProperty("default_group"));
}
}
titleList.add(entity.getMenuNameCode());
classMap.put(entity.getMenuNameCode(), BaseIpCfg.class);
String snatNoExport=",server_ip,ip_type,ip_pattern,port_pattern,client_port,server_port,ir_type,direction,protocol,do_log,whether_area_block,userregion1,userregion2,userregion3,userregion4,userregion5,";
noExportMap.put(entity.getMenuNameCode(),snatNoExport);
dataMap.put(entity.getMenuNameCode(), page.getList());
/*}*/
this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap);
} catch (Exception e) {
logger.error("snat export failed",e);
addMessage(redirectAttributes, "export_failed");
}
//return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId();
}
//dnat配置导出
@RequestMapping(value = "exportDnat")
public void exportDnat(Model model,HttpServletRequest request,HttpServletResponse response,
@ModelAttribute("cfg")BaseIpCfg entity,String ids,RedirectAttributes redirectAttributes){
try {
//export data info
List<String> titleList=new ArrayList<String>();
Map<String, Class<?>> classMap=new HashMap<String, Class<?>>();
Map<String, List> dataMap=new HashMap<String, List>();
Map<String, String> noExportMap=new HashMap<String, String>();
/*//导出选中记录
* if(!StringUtil.isEmpty(ids)){
for(String id:ids.split(",")){
Long.parseLong(id);
}
//List<CfgIndexInfo> list=ipCfgService.getListByCfgIdWithName(IpPortCfg.getTablename(), entity.getFunctionId(), ids);
}else{*/
//条件导出数据大于最大导出数,只导出最大导出条数
entity.setTableName(IpPortCfg.getTablename());
Page<BaseIpCfg> pageInfo=new Page<BaseIpCfg>(request, response,"r");
if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){
pageInfo.setPageNo(1);
pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE);
}else{
pageInfo.setPageNo(1);
pageInfo.setPageSize(-1);
}
Page<BaseIpCfg> page = ipCfgService.findPage(pageInfo, entity);//
for (BaseIpCfg baseIp : page.getList()) {
if(StringUtil.isEmpty(baseIp.getGroupName())){
Properties msgProp = getMsgProp();
baseIp.setGroupName(msgProp.getProperty("default_group"));
}
}
titleList.add(entity.getMenuNameCode());
classMap.put(entity.getMenuNameCode(), BaseIpCfg.class);
String snatNoExport=",direction,client_ip,ip_type,ip_pattern,port_pattern,client_port,ir_type,do_log,whether_area_block,userregion1,userregion2,userregion3,userregion4,userregion5,";
noExportMap.put(entity.getMenuNameCode(),snatNoExport);
dataMap.put(entity.getMenuNameCode(), page.getList());
/*}*/
this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap);
} catch (Exception e) {
logger.error("dnat export failed",e);
addMessage(redirectAttributes, "export_failed");
}
//return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId();
}
}

View File

@@ -0,0 +1,74 @@
package com.nis.web.controller.log.ntc;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import com.nis.domain.FunctionServiceDict;
import com.nis.domain.Page;
import com.nis.domain.PageLog;
import com.nis.domain.log.NtcHttpLog;
import com.nis.domain.log.NtcKeywordsUrlLog;
import com.nis.domain.maat.LogRecvData;
import com.nis.util.Constants;
import com.nis.util.DictUtils;
import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController;
@Controller
@RequestMapping("${adminPath}/log/ntc/httpkey")
public class HttpKeyLogController extends BaseController {
@RequestMapping("list")
public String list(@ModelAttribute("log") NtcKeywordsUrlLog log, Model model, HttpServletRequest request, HttpServletResponse response) {
try {
PageLog<NtcKeywordsUrlLog> page = new PageLog<NtcKeywordsUrlLog>(request, response);
Map<String, Object> params = new HashMap<String, Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
if (StringUtils.isNotBlank(log.getUrl())) {
params.put("searchUrl", log.getUrl());
}
initLogSearchValue(log, params);
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId());
model.addAttribute("serviceList", serviceList);
String url = Constants.LOG_BASE_URL + Constants.NTC_KEYWORDS_URL_LOG;
String recv = HttpClientUtil.getMsg(url, params, request);
logger.info("查询结果:" + recv);
Gson gson = new GsonBuilder().create();
LogRecvData<NtcKeywordsUrlLog> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcKeywordsUrlLog>>(){}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<NtcKeywordsUrlLog> data = fromJson.getData();
page.setList(data.getList());
List<NtcKeywordsUrlLog> list = page.getList();
for (NtcKeywordsUrlLog l : list) {
l.setFunctionId(log.getFunctionId());
setLogAction(l,serviceList);
}
model.addAttribute("page", page);
}
} catch (Exception e) {
logger.error("查询失败", e);
addMessageLog(model, e.getMessage());
}
return "/log/ntc/httpKeyList";
}
}

View File

@@ -11,12 +11,14 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.nis.domain.Page;
import com.nis.domain.basics.SysDictInfo;
import com.nis.domain.callback.NtcDnsResStrategy;
import com.nis.domain.configuration.DnsResStrategy;
import com.nis.domain.configuration.IpMultiplexPoolCfg;
import com.nis.domain.maat.ToMaatResult;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.ConfigServiceUtil;
import com.nis.web.dao.basics.SysDictInfoDao;
import com.nis.web.dao.configuration.IpMultiplexPoolCfgDao;
import com.nis.web.security.UserUtils;
import com.nis.web.service.BaseService;
@@ -33,6 +35,8 @@ public class IpMultiplexPoolCfgService extends BaseService{
@Autowired
protected IpMultiplexPoolCfgDao ipMultiplexStrategyDao;
@Autowired
private SysDictInfoDao sysDictInfoDao;
/**
* 查询分页数据
@@ -184,6 +188,20 @@ public class IpMultiplexPoolCfgService extends BaseService{
public List<IpMultiplexPoolCfg> getIspByGroupId(Integer groupId){
return ipMultiplexStrategyDao.getIspByGroupId(groupId);
};
public List<IpMultiplexPoolCfg> getIsp(List<IpMultiplexPoolCfg> ispList){
for (IpMultiplexPoolCfg snat : ispList) {
if(snat.getAreaEffectiveIds().contains(":")){
int index=snat.getAreaEffectiveIds().indexOf(":");
String ispCode =snat.getAreaEffectiveIds().substring(index+1);
SysDictInfo dict= sysDictInfoDao.getDictByItemCode(ispCode);
if(dict !=null){
snat.setIspName(dict.getItemValue());
}
}
}
return ispList;
}
}