日志检索 协议下的 日志查询和导出功能

This commit is contained in:
lihaochen
2018-12-17 01:56:37 +08:00
parent fade97c28d
commit 6e6a35a28c
37 changed files with 2047 additions and 689 deletions

View File

@@ -1,5 +1,6 @@
package com.nis.domain.log;
import com.nis.util.excel.ExcelField;
import com.wordnik.swagger.annotations.ApiModelProperty;
/**
@@ -16,34 +17,62 @@ public class MmVoipLog extends BaseLogEntity<MmVoipLog> {
*/
private static final long serialVersionUID = -9218072642855154505L;
@ApiModelProperty(value="VOIP通话时长", required=true)
@ExcelField(title="duation",sort=8)
private String duation;
@ApiModelProperty(value="VOIP协议", required=true)
@ExcelField(title="voip_protocol",sort=9)
private String voipProtocol;
@ApiModelProperty(value="主叫VOIP账号", required=false)
@ExcelField(title="calling_account",sort=10)
private String callingAccount;
@ApiModelProperty(value="被叫VOIP账号", required=false)
@ExcelField(title="called_account",sort=11)
private String calledAccount;
@ApiModelProperty(value="VOIP主叫电信号码", required=false)
@ExcelField(title="calling_number",sort=12)
private String callingNumber;
@ApiModelProperty(value="VOIP被叫电信号码", required=false)
@ExcelField(title="called_number",sort=13)
private String calledNumber;
@ApiModelProperty(value="主叫VOIP语音文件存放服务器IP", required=true)
@ExcelField(title="from_to_store_ip",sort=14)
private String fromToStoreIp;
@ApiModelProperty(value="主叫VOIP语音文件存放服务器URL", required=true)
@ExcelField(title="from_to_store_url",sort=15)
private String fromToStoreUrl;
@ApiModelProperty(value="被叫VOIP语音文件存放服务器IP", required=true)
@ExcelField(title="to_from_store_ip",sort=16)
private String toFromStoreIp;
@ApiModelProperty(value="被叫VOIP语音文件存放服务器URL", required=true)
@ExcelField(title="to_from_store_url",sort=17)
private String toFromStoreUrl;
@ApiModelProperty(value="节目ID", required=true)
@ExcelField(title="pid",sort=18)
private String pid;
@ApiModelProperty(value="封堵现场片段路径", required=false)
@ExcelField(title="log_uri",sort=19)
private String logUri;
@ApiModelProperty(value="有害级别", required=false)
@ExcelField(title="harm_level",sort=20)
private Integer level;
@ApiModelProperty(value="封堵类型", required=false)
@ExcelField(title="fd_type",sort=21)
private Integer fdType;
public String getPid() {
return pid;
}

View File

@@ -1,28 +1,39 @@
package com.nis.domain.log;
import com.nis.util.excel.ExcelField;
public class NtcBGPLog extends BaseLogEntity<NtcBGPLog> {
private static final long serialVersionUID = 4597407682545926823L;
@ExcelField(title = "message_type", sort = 78)
private Integer type;
@ExcelField(title = "as", sort = 79)
private String asNum;
@ExcelField(title = "route", sort = 80)
private String route;
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public String getAsNum() {
return asNum;
}
public void setAsNum(String asNum) {
this.asNum = asNum;
}
public String getRoute() {
return route;
}
public void setRoute(String route) {
this.route = route;
}
}

View File

@@ -4,6 +4,7 @@ import java.util.Date;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.nis.domain.BaseEntity;
import com.nis.util.excel.ExcelField;
import com.wordnik.swagger.annotations.ApiModelProperty;
/**
@@ -19,80 +20,133 @@ public class NtcCollectVoipLog<T> extends BaseEntity<T> {
private static final long serialVersionUID = -2189520672838652485L;
@ApiModelProperty(value = "节目ID", required = true)
@ExcelField(title = "pid", sort = 8)
protected String pid;
@ApiModelProperty(value = "发现时间", required = true)
@ExcelField(title = "found_time", sort = 8)
protected Date foundTime;
@ApiModelProperty(value = "接收时间", required = true)
@ExcelField(title = "recv_time", sort = 8)
protected Date recvTime;
@ApiModelProperty(value = "处理机IP", required = true)
@ExcelField(title = "clj_ip", sort = 8)
protected String capIp;
@ApiModelProperty(value = "VOIP协议", required = true)
@ExcelField(title = "voip_protocol", sort = 8)
protected String voipProtocol;
@ApiModelProperty(value = "RTP服务端ip地址", required = true)
@ExcelField(title = "rtp_d_ip", sort = 8)
protected String rtpDIp;
@ApiModelProperty(value = "RTP客户端ip地址", required = true)
@ExcelField(title = "rtp_s_ip", sort = 8)
protected String rtpSIp;
@ApiModelProperty(value = "RTP服务端端口", required = true)
@ExcelField(title = "rtp_d_port", sort = 8)
protected Integer rtpDPort;
@ApiModelProperty(value = "RTP客户端端口", required = true)
@ExcelField(title = "rtp_s_port", sort = 8)
protected Integer rtpSPort;
@ApiModelProperty(value = "主叫VOIP语音文件存放服务器IP", required = true)
@ExcelField(title = "from_to_store_ip", sort = 8)
protected String fromToStoreIp;
@ApiModelProperty(value = "主叫VOIP语音文件存放服务器URL", required = true)
@ExcelField(title = "from_to_store_url", sort = 8)
protected String fromToStoreUrl;
@ApiModelProperty(value = "被叫VOIP语音文件存放服务器IP", required = true)
@ExcelField(title = "to_from_store_ip", sort = 8)
protected String toFromStoreIp;
@ApiModelProperty(value = "被叫VOIP语音文件存放服务器URL", required = true)
@ExcelField(title = "to_from_store_url", sort = 8)
protected String toFromStoreUrl;
@ApiModelProperty(value = "VOIP通话时长", required = true)
@ExcelField(title = "duation", sort = 8)
protected String duation;
@ApiModelProperty(value = "SIP服务端ip地址", required = true)
@ExcelField(title = "sip_d_ip", sort = 8)
protected String sipDIp;
@ApiModelProperty(value = "SIP客户端ip地址", required = true)
@ExcelField(title = "sip_s_ip", sort = 8)
protected String sipSIp;
@ApiModelProperty(value = "SIP服务端端口", required = true)
@ExcelField(title = "sip_d_port", sort = 8)
protected Integer sipDPort;
@ApiModelProperty(value = "SIP客户端端口", required = true)
@ExcelField(title = "sip_s_port", sort = 8)
protected Integer sipSPort;
@ApiModelProperty(value = "SIP会话ID", required = true)
@ExcelField(title = "call_id", sort = 8)
protected String callId;
@ApiModelProperty(value = "SIP请求URI", required = true)
@ExcelField(title = "request_uri", sort = 8)
protected String requestUri;
@ApiModelProperty(value = "SIP主叫VOIP账号", required = true)
@ExcelField(title = "calling_account", sort = 8)
protected String callingAccount;
@ApiModelProperty(value = "SIP被叫VOIP账号", required = true)
@ExcelField(title = "called_account", sort = 8)
protected String calledAccount;
@ApiModelProperty(value = "SIP相应字段", required = true)
@ExcelField(title = "Contacts", sort = 8)
protected String contacts;
@ApiModelProperty(value = "SIP相应字段", required = true)
@ExcelField(title = "Via", sort = 8)
protected String via;
@ApiModelProperty(value = "SIP相应字段", required = true)
@ExcelField(title = "Route", sort = 8)
protected String route;
@ApiModelProperty(value = "SIP相应字段", required = true)
@ExcelField(title = "Record Route", sort = 8)
protected String recordRoute;
@ApiModelProperty(value = "SIP相应字段", required = true)
@ExcelField(title = "User Agent", sort = 8)
protected String userAgent;
@ApiModelProperty(value = "SIP相应字段", required = true)
@ExcelField(title = "Server", sort = 8)
protected String server;
protected Integer functionId;
protected Integer action;
protected String date;//配置界面日志总量查询时间
protected String isLogTotalSearch;//由配置列表点击日志总量进行查询的标识
protected String orderBy;//排序参数
protected String searchVoipProtocol;//协议类型
protected String searchRtpDIp;//RTP服务端ip
protected String searchRtpSIp;//RTP客户端ip
protected String searchSipDIp;//SIP服务端ip
protected String searchSipSIp;//SIP客户端ip
protected String searchCapIp;//处理机IP
protected String searchFoundStartTime;//开始发现时间
protected String searchFoundEndTime;//结束发现时间
protected String date;// 配置界面日志总量查询时间
protected String isLogTotalSearch;// 由配置列表点击日志总量进行查询的标识
protected String orderBy;// 排序参数
protected String searchVoipProtocol;// 协议类型
protected String searchRtpDIp;// RTP服务端ip
protected String searchRtpSIp;// RTP客户端ip
protected String searchSipDIp;// SIP服务端ip
protected String searchSipSIp;// SIP客户端ip
protected String searchCapIp;// 处理机IP
protected String searchFoundStartTime;// 开始发现时间
protected String searchFoundEndTime;// 结束发现时间
public NtcCollectVoipLog() {
super();
// TODO Auto-generated constructor stub
@@ -328,6 +382,7 @@ public class NtcCollectVoipLog<T> extends BaseEntity<T> {
public void setServer(String server) {
this.server = server;
}
@JsonIgnore
public String getSearchVoipProtocol() {
return searchVoipProtocol;
@@ -336,6 +391,7 @@ public class NtcCollectVoipLog<T> extends BaseEntity<T> {
public void setSearchVoipProtocol(String searchVoipProtocol) {
this.searchVoipProtocol = searchVoipProtocol;
}
@JsonIgnore
public String getSearchRtpDIp() {
return searchRtpDIp;
@@ -344,6 +400,7 @@ public class NtcCollectVoipLog<T> extends BaseEntity<T> {
public void setSearchRtpDIp(String searchRtpDIp) {
this.searchRtpDIp = searchRtpDIp;
}
@JsonIgnore
public String getSearchRtpSIp() {
return searchRtpSIp;
@@ -352,6 +409,7 @@ public class NtcCollectVoipLog<T> extends BaseEntity<T> {
public void setSearchRtpSIp(String searchRtpSIp) {
this.searchRtpSIp = searchRtpSIp;
}
@JsonIgnore
public String getSearchSipDIp() {
return searchSipDIp;
@@ -360,7 +418,7 @@ public class NtcCollectVoipLog<T> extends BaseEntity<T> {
public void setSearchSipDIp(String searchSipDIp) {
this.searchSipDIp = searchSipDIp;
}
public String getSearchSipSIp() {
return searchSipSIp;
}
@@ -377,6 +435,7 @@ public class NtcCollectVoipLog<T> extends BaseEntity<T> {
public void setSearchCapIp(String searchCapIp) {
this.searchCapIp = searchCapIp;
}
@JsonIgnore
public String getSearchFoundStartTime() {
return searchFoundStartTime;
@@ -434,5 +493,5 @@ public class NtcCollectVoipLog<T> extends BaseEntity<T> {
public void setOrderBy(String orderBy) {
this.orderBy = orderBy;
}
}

View File

@@ -1,41 +1,61 @@
package com.nis.domain.log;
import com.nis.util.excel.ExcelField;
public class NtcConnRecordLog extends BaseLogEntity<NtcConnRecordLog> {
private static final long serialVersionUID = -4947912502754359817L;
@ExcelField(title = "social_app", sort = 8)
protected Integer appLabel;
@ExcelField(title = "c2s_pkt_num", sort = 9)
protected String c2sPktNum;
@ExcelField(title = "s2c_pkt_num", sort = 10)
protected String s2cPktNum;
@ExcelField(title = "c2s_byte_num", sort = 12)
protected String c2sByteNum;
@ExcelField(title = "s2c_byte_num", sort = 13)
protected String s2cByteNum;
public Integer getAppLabel() {
return appLabel;
}
public void setAppLabel(Integer appLabel) {
this.appLabel = appLabel;
}
public String getC2sPktNum() {
return c2sPktNum;
}
public void setC2sPktNum(String c2sPktNum) {
this.c2sPktNum = c2sPktNum;
}
public String getS2cPktNum() {
return s2cPktNum;
}
public void setS2cPktNum(String s2cPktNum) {
this.s2cPktNum = s2cPktNum;
}
public String getC2sByteNum() {
return c2sByteNum;
}
public void setC2sByteNum(String c2sByteNum) {
this.c2sByteNum = c2sByteNum;
}
public String getS2cByteNum() {
return s2cByteNum;
}
public void setS2cByteNum(String s2cByteNum) {
this.s2cByteNum = s2cByteNum;
}

View File

@@ -1,109 +1,157 @@
package com.nis.domain.log;
import com.nis.util.excel.ExcelField;
public class NtcDnsLog extends BaseLogEntity<NtcDnsLog> {
private static final long serialVersionUID = -3763888115864065019L;
@ExcelField(title = "qr", dictType = "DNS_QR", sort = 8)
private Integer qr;
@ExcelField(title = "rd", dictType = "SYS_YES_NO", sort = 9)
private Integer rd;
@ExcelField(title = "ra", dictType = "SYS_YES_NO", sort = 10)
private Integer ra;
@ExcelField(title = "rr", sort = 11)
private String rr;
@ExcelField(title = "qtype", dictType = "DNS_QTYPE", sort = 12)
private Integer qType;
@ExcelField(title = "qclass", dictType = "DNS_QCLASS", sort = 13)
private Integer qclass;
@ExcelField(title = "opcode", dictType = "DNS_OPCODE", sort = 14)
private Integer opcode;
@ExcelField(title = "qname", sort = 15)
private String qname;
@ExcelField(title = "cname", sort = 16)
private String cname;
@ExcelField(title = "dns_sub", dictType = "DNS_SUB", sort = 17)
private Integer dnsSub;
/*以下字段无需反馈到界面*/
/* 以下字段无需反馈到界面 */
private String cheatType;
private Integer cheatRcode;
private String cheatStrategy;
private String cheatRr;
public Integer getQr() {
return qr;
}
public void setQr(Integer qr) {
this.qr = qr;
}
public Integer getRd() {
return rd;
}
public void setRd(Integer rd) {
this.rd = rd;
}
public Integer getRa() {
return ra;
}
public void setRa(Integer ra) {
this.ra = ra;
}
public String getRr() {
return rr;
}
public void setRr(String rr) {
this.rr = rr;
}
public Integer getqType() {
return qType;
}
public void setqType(Integer qType) {
this.qType = qType;
}
public Integer getQclass() {
return qclass;
}
public void setQclass(Integer qclass) {
this.qclass = qclass;
}
public Integer getOpcode() {
return opcode;
}
public void setOpcode(Integer opcode) {
this.opcode = opcode;
}
public String getQname() {
return qname;
}
public void setQname(String qname) {
this.qname = qname;
}
public String getCname() {
return cname;
}
public void setCname(String cname) {
this.cname = cname;
}
public Integer getDnsSub() {
return dnsSub;
}
public void setDnsSub(Integer dnsSub) {
this.dnsSub = dnsSub;
}
public String getCheatType() {
return cheatType;
}
public void setCheatType(String cheatType) {
this.cheatType = cheatType;
}
public Integer getCheatRcode() {
return cheatRcode;
}
public void setCheatRcode(Integer cheatRcode) {
this.cheatRcode = cheatRcode;
}
public String getCheatStrategy() {
return cheatStrategy;
}
public void setCheatStrategy(String cheatStrategy) {
this.cheatStrategy = cheatStrategy;
}
public String getCheatRr() {
return cheatRr;
}
public void setCheatRr(String cheatRr) {
this.cheatRr = cheatRr;
}
}

View File

@@ -1,30 +1,34 @@
package com.nis.domain.log;
import com.nis.util.excel.ExcelField;
public class NtcFtpLog extends BaseLogEntity<NtcFtpLog> {
/**
*
*/
private static final long serialVersionUID = 348767275603485504L;
private String ftpUrl;//FTP链接
private String ftpContent;//FTP内容
@ExcelField(title = "ftp_url", sort = 8)
private String ftpUrl;// FTP链接
@ExcelField(title = "ftp_content", sort = 9)
private String ftpContent;// FTP内容
public String getFtpUrl() {
return ftpUrl;
}
public void setFtpUrl(String ftpUrl) {
this.ftpUrl = ftpUrl;
}
public String getFtpContent() {
return ftpContent;
}
public void setFtpContent(String ftpContent) {
this.ftpContent = ftpContent;
}
}

View File

@@ -1,22 +1,42 @@
package com.nis.domain.log;
import com.nis.util.excel.ExcelField;
public class NtcHttpLog extends BaseLogEntity<NtcHttpLog> {
private static final long serialVersionUID = -7697668215327123848L;
@ExcelField(title = "URL", sort = 8)
private String url;
private String reqHdrKey;//请求头转储文件key
@ExcelField(title = "req_hdr_key", sort = 9)
private String reqHdrKey;// 请求头转储文件key
@ExcelField(title = "req_hdr_file", sort = 10)
private String reqHdrFile;
private String reqBodyKey;//请求体转储文件key
@ExcelField(title = "req_body_key", sort = 11)
private String reqBodyKey;// 请求体转储文件key
@ExcelField(title = "req_body_file", sort = 12)
private String reqBodyFile;
private String resHdrKey;//应答头转储文件key
@ExcelField(title = "res_hdr_key", sort = 13)
private String resHdrKey;// 应答头转储文件key
@ExcelField(title = "res_hdr_file", sort = 14)
private String resHdrFile;
private String resBodyKey;//应答体转储文件key
@ExcelField(title = "res_body_key", sort = 15)
private String resBodyKey;// 应答体转储文件key
@ExcelField(title = "res_body_file", sort = 16)
private String resBodyFile;
private String website;//域名
/*以下字段无需反馈到界面*/
@ExcelField(title = "website", sort = 17)
private String website;// 域名
/* 以下字段无需反馈到界面 */
private Integer c2sIsn;
private Integer pxyFlag;
private Integer httpSeq;
@@ -30,143 +50,187 @@ public class NtcHttpLog extends BaseLogEntity<NtcHttpLog> {
private String contentLen;
private String contentType;
private String setCookie;
public String getReqHdrFile() {
return reqHdrFile;
}
public void setReqHdrFile(String reqHdrFile) {
this.reqHdrFile = reqHdrFile;
}
public String getReqBodyFile() {
return reqBodyFile;
}
public void setReqBodyFile(String reqBodyFile) {
this.reqBodyFile = reqBodyFile;
}
public String getResHdrFile() {
return resHdrFile;
}
public void setResHdrFile(String resHdrFile) {
this.resHdrFile = resHdrFile;
}
public String getResBodyFile() {
return resBodyFile;
}
public void setResBodyFile(String resBodyFile) {
this.resBodyFile = resBodyFile;
}
public Integer getPxyFlag() {
return pxyFlag;
}
public void setPxyFlag(Integer pxyFlag) {
this.pxyFlag = pxyFlag;
}
public String getCookie() {
return cookie;
}
public void setCookie(String cookie) {
this.cookie = cookie;
}
public String getRefefer() {
return refefer;
}
public void setRefefer(String refefer) {
this.refefer = refefer;
}
public String getUserAgent() {
return userAgent;
}
public void setUserAgent(String userAgent) {
this.userAgent = userAgent;
}
public String getUserDefineKey() {
return userDefineKey;
}
public void setUserDefineKey(String userDefineKey) {
this.userDefineKey = userDefineKey;
}
public String getUserDefineValue() {
return userDefineValue;
}
public void setUserDefineValue(String userDefineValue) {
this.userDefineValue = userDefineValue;
}
public String getContentLen() {
return contentLen;
}
public void setContentLen(String contentLen) {
this.contentLen = contentLen;
}
public String getContentType() {
return contentType;
}
public void setContentType(String contentType) {
this.contentType = contentType;
}
public String getSetCookie() {
return setCookie;
}
public void setSetCookie(String setCookie) {
this.setCookie = setCookie;
}
public Integer getC2sIsn() {
return c2sIsn;
}
public void setC2sIsn(Integer c2sIsn) {
this.c2sIsn = c2sIsn;
}
public Integer getHttpSeq() {
return httpSeq;
}
public void setHttpSeq(Integer httpSeq) {
this.httpSeq = httpSeq;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getReqLine() {
return reqLine;
}
public void setReqLine(String reqLine) {
this.reqLine = reqLine;
}
public String getResLine() {
return resLine;
}
public void setResLine(String resLine) {
this.resLine = resLine;
}
public String getReqHdrKey() {
return reqHdrKey;
}
public void setReqHdrKey(String reqHdrKey) {
this.reqHdrKey = reqHdrKey;
}
public String getReqBodyKey() {
return reqBodyKey;
}
public void setReqBodyKey(String reqBodyKey) {
this.reqBodyKey = reqBodyKey;
}
public String getResHdrKey() {
return resHdrKey;
}
public void setResHdrKey(String resHdrKey) {
this.resHdrKey = resHdrKey;
}
public String getResBodyKey() {
return resBodyKey;
}
public void setResBodyKey(String resBodyKey) {
this.resBodyKey = resBodyKey;
}
public String getWebsite() {
return website;
}
public void setWebsite(String website) {
this.website = website;
}

View File

@@ -1,22 +1,29 @@
package com.nis.domain.log;
import com.nis.util.excel.ExcelField;
public class NtcKeywordsUrlLog extends BaseLogEntity<NtcKeywordsUrlLog> {
private static final long serialVersionUID = -7697668215327123848L;
@ExcelField(title = "URL", sort = 8)
private String url;
private String website;//域名
@ExcelField(title = "website", sort = 9)
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

@@ -1,52 +1,74 @@
package com.nis.domain.log;
import com.nis.util.excel.ExcelField;
public class NtcMailLog extends BaseLogEntity<NtcMailLog> {
private static final long serialVersionUID = -2848016592975339617L;
private String mailProto; //邮件协议类型,不可空 SMTP/POP3/IMAP4
@ExcelField(title = "mail_proto", sort = 8)
private String mailProto; // 邮件协议类型,不可空 SMTP/POP3/IMAP4
@ExcelField(title = "mail_from", sort = 9)
private String mailFrom;
@ExcelField(title = "mail_to", sort = 10)
private String mailTo;
@ExcelField(title = "subject", sort = 11)
private String subject;
@ExcelField(title = "eml_file", sort = 12)
private String emlFile;
@ExcelField(title = "eml_key", sort = 13)
private String emlKey;
public String getEmlKey() {
return emlKey;
}
public void setEmlKey(String emlKey) {
this.emlKey = emlKey;
}
public String getMailProto() {
return mailProto;
}
public void setMailProto(String mailProto) {
this.mailProto = mailProto;
}
public String getMailFrom() {
return mailFrom;
}
public void setMailFrom(String mailFrom) {
this.mailFrom = mailFrom;
}
public String getMailTo() {
return mailTo;
}
public void setMailTo(String mailTo) {
this.mailTo = mailTo;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getEmlFile() {
return emlFile;
}
public void setEmlFile(String emlFile) {
this.emlFile = emlFile;
}
}

View File

@@ -1,32 +1,45 @@
package com.nis.domain.log;
public class NtcP2pLog extends BaseLogEntity<NtcP2pLog>{
import com.nis.util.excel.ExcelField;
public class NtcP2pLog extends BaseLogEntity<NtcP2pLog> {
/**
*
*/
private static final long serialVersionUID = -826089417186930465L;
@ExcelField(title = "p2p_proto", sort = 8)
private String p2pProto;
@ExcelField(title = "p2p_file_id", sort = 9)
private String p2pFileId;
@ExcelField(title = "p2p_keyword", sort = 10)
private String p2pKeyword;
public String getP2pProto() {
return p2pProto;
}
public void setP2pProto(String p2pProto) {
this.p2pProto = p2pProto;
}
public String getP2pFileId() {
return p2pFileId;
}
public void setP2pFileId(String p2pFileId) {
this.p2pFileId = p2pFileId;
}
public String getP2pKeyword() {
return p2pKeyword;
}
public void setP2pKeyword(String p2pKeyword) {
this.p2pKeyword = p2pKeyword;
}
}

View File

@@ -1,38 +1,50 @@
package com.nis.domain.log;
public class NtcSslLog extends BaseLogEntity<NtcSslLog>{
import com.nis.util.excel.ExcelField;
public class NtcSslLog extends BaseLogEntity<NtcSslLog> {
private static final long serialVersionUID = 533266057780162781L;
@ExcelField(title = "version", sort = 8)
private String version;// 版本号
private String sni;// SNI
private String san;// SAN
@ExcelField(title = "SNI", sort = 9)
private String sni;// SNI
@ExcelField(title = "SAN", sort = 10)
private String san;// SAN
@ExcelField(title = "CN", sort = 11)
private String cn;// CN
public String getVersion() {
return version;
}
public void setVersion(String version) {
this.version = version;
}
public String getSni() {
return sni;
}
public void setSni(String sni) {
this.sni = sni;
}
public String getSan() {
return san;
}
public void setSan(String san) {
this.san = san;
}
public String getCn() {
return cn;
}
public void setCn(String cn) {
this.cn = cn;
}
}
}

View File

@@ -1,5 +1,7 @@
package com.nis.domain.log;
import com.nis.util.excel.ExcelField;
/**
* @ClassName:NtcStreamMediaLog
* @Description:TODO(这里用一句话描述这个类的作用)
@@ -10,7 +12,11 @@ package com.nis.domain.log;
public class NtcStreamMediaLog extends BaseLogEntity<NtcStreamMediaLog> {
private static final long serialVersionUID = 1446933545638550170L;
@ExcelField(title="access_url",sort=8)
protected String url;
@ExcelField(title="stream_media_protocol",sort=9)
protected String protocol;
public String getUrl() {
return url;

View File

@@ -57,6 +57,8 @@ public class Reflections {
getName="sSubscribeId";
}else if(getName.equals("DSubscribeId")){
getName="dSubscribeId";
}else if(getName.equals("QType")){
getName="qType";
}
String getterMethodName = GETTER_PREFIX + getName;
object = invokeMethod(object, getterMethodName, new Class[] {}, new Object[] {});

View File

@@ -1,5 +1,6 @@
package com.nis.web.controller.log.ntc;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -13,6 +14,7 @@ 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 org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -20,20 +22,24 @@ 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.SysUser;
import com.nis.domain.log.NtcAppLog;
import com.nis.domain.log.NtcBGPLog;
import com.nis.domain.log.NtcCollectRadiusLog;
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;
import com.nis.web.security.UserUtils;
@Controller
@RequestMapping("${adminPath}/log/ntc/other/bgpLogs")
public class BgpLogController extends BaseController {
@RequestMapping(value = {"list", ""})
public String list(@ModelAttribute("log") NtcBGPLog log, Model model, HttpServletRequest request, HttpServletResponse response) {
@RequestMapping(value = { "list", "" })
public String list(@ModelAttribute("log") NtcBGPLog log, Model model, HttpServletRequest request,
HttpServletResponse response) {
try {
PageLog<NtcBGPLog> page = new PageLog<NtcBGPLog>(request, response);
Map<String, Object> params = new HashMap<String, Object>();
@@ -43,22 +49,23 @@ public class BgpLogController extends BaseController {
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId());
model.addAttribute("serviceList", serviceList);
String url = Constants.LOG_BASE_URL + Constants.NTC_BGP_LOG;
String recv = HttpClientUtil.getMsg(url, params, request);
if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create();
LogRecvData<NtcBGPLog> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcBGPLog>>(){}.getType());
LogRecvData<NtcBGPLog> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcBGPLog>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<NtcBGPLog> data=fromJson.getData();
Page<NtcBGPLog> data = fromJson.getData();
page.setCount(data.getCount());
page.setLast(data.getLast());
page.setList(data.getList());
List<NtcBGPLog> list = page.getList();
for (NtcBGPLog l : list) {
l.setFunctionId(log.getFunctionId());
setLogAction(l,serviceList);
setLogAction(l, serviceList);
}
model.addAttribute("page", page);
}
@@ -67,8 +74,67 @@ public class BgpLogController extends BaseController {
logger.error("查询失败", e);
addMessageLog(model, e.getMessage());
}
return "/log/ntc/bgpList";
}
// radius配置导出
@RequestMapping(value = "exportBgp")
public void exportBgp(@ModelAttribute("log") NtcBGPLog log, Model model, String hColumns, String type,
HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) {
System.out.println("进来了bgp");
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>();
// ---------------------------
PageLog<NtcBGPLog> page = new PageLog<NtcBGPLog>(request, response);
page.setPageNo(1);
page.setPageSize(Constants.MAX_LOG_EXPORT_SIZE);
Map<String, Object> params = new HashMap<String, Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
initLogSearchValue(log, params);
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId());
model.addAttribute("serviceList", serviceList);
String url = Constants.LOG_BASE_URL + Constants.NTC_BGP_LOG;
String recv = HttpClientUtil.getMsg(url, params, request);
List<NtcBGPLog> list = new ArrayList<NtcBGPLog>();
if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create();
LogRecvData<NtcBGPLog> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcBGPLog>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<NtcBGPLog> data = fromJson.getData();
list = data.getList();
}
}
titleList.add("bgp_control");
classMap.put("bgp_control", NtcBGPLog.class);
SysUser user = UserUtils.getUser();
if (!user.isAdmin()) {
hColumns += ",scene_file,";
} else {
hColumns += ",";
}
String cfgIndexInfoNoExport = "," + hColumns;
noExportMap.put("bgp_control", cfgIndexInfoNoExport);
dataMap.put("bgp_control", list);
/* } */
if ("csv".equals(type)) {
this._exportCsv(model, request, response, redirectAttributes, "bgp_control", titleList, classMap,
dataMap, noExportMap);
} else {
this._export(model, request, response, redirectAttributes, "bgp_control", titleList, classMap, dataMap,
noExportMap);
}
} catch (Exception e) {
logger.error("bgp_control export failed", e);
addMessage(redirectAttributes, "error", "export_failed");
}
}
}

View File

@@ -1,6 +1,7 @@
package com.nis.web.controller.log.ntc;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
@@ -17,6 +18,7 @@ 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 org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -28,7 +30,11 @@ 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.SysUser;
import com.nis.domain.log.NtcBGPLog;
import com.nis.domain.log.NtcCollectRadiusLog;
import com.nis.domain.log.NtcCollectVoipLog;
import com.nis.domain.log.NtcCollectVoipLog;
import com.nis.domain.log.NtcCollectVoipLog;
import com.nis.domain.maat.LogRecvData;
import com.nis.util.CodeDicUtils;
@@ -38,13 +44,15 @@ import com.nis.util.DictUtils;
import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController;
import com.nis.web.dao.dashboard.codedic.CodeResult;
import com.nis.web.security.UserUtils;
@Controller
@RequestMapping(value = "${adminPath}/log/ntc/ntcCollectVoipLogs")
public class CollectVoipLogController extends BaseController{
public class CollectVoipLogController extends BaseController {
/**
* voip泛收日志
*
* @param model
* @param entry
* @param request
@@ -53,16 +61,17 @@ public class CollectVoipLogController extends BaseController{
* @throws ClientProtocolException
* @throws IOException
*/
@RequestMapping(value={"list",""})
public String list(Model model,@ModelAttribute("log")NtcCollectVoipLog entry,HttpServletRequest request, HttpServletResponse response) throws ClientProtocolException, IOException {
@RequestMapping(value = { "list", "" })
public String list(Model model, @ModelAttribute("log") NtcCollectVoipLog entry, HttpServletRequest request,
HttpServletResponse response) throws ClientProtocolException, IOException {
try {
PageLog<NtcCollectVoipLog> page = new PageLog<NtcCollectVoipLog>(request, response);
Map<String, Object> params=new HashMap<>();
Map<String, Object> params = new HashMap<>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
//查询值判断
// 查询值判断
if (StringUtils.isNotBlank(entry.getSearchFoundStartTime())
&& StringUtils.isNotBlank(entry.getSearchFoundEndTime())) {
params.put("searchFoundStartTime", entry.getSearchFoundStartTime());
@@ -118,19 +127,19 @@ public class CollectVoipLogController extends BaseController{
}
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(entry.getFunctionId());
model.addAttribute("serviceList", serviceList);
//获取字典信息
List<CodeResult> protocolList=CodeDicUtils.getCodeList("protocolCode");
List<CodeResult> behaviorList=CodeDicUtils.getCodeList("behaviorCode");
List<CodeResult> appList=CodeDicUtils.getCodeList("appCode");
// 获取字典信息
List<CodeResult> protocolList = CodeDicUtils.getCodeList("protocolCode");
List<CodeResult> behaviorList = CodeDicUtils.getCodeList("behaviorCode");
List<CodeResult> appList = CodeDicUtils.getCodeList("appCode");
model.addAttribute("protocolList", protocolList);
model.addAttribute("behaviorList", behaviorList);
model.addAttribute("appList", appList);
String url = "";
url = Constants.LOG_BASE_URL+Constants.NTC_COLLECT_VOIP_LOG;
String jsonString = HttpClientUtil.getMsg(url,params,request);
url = Constants.LOG_BASE_URL + Constants.NTC_COLLECT_VOIP_LOG;
String jsonString = HttpClientUtil.getMsg(url, params, request);
GsonBuilder builder = new GsonBuilder();
builder.registerTypeAdapter(Date.class, new JsonDeserializer<Date>() {
@@ -140,9 +149,11 @@ public class CollectVoipLogController extends BaseController{
}
});
Gson gson = builder.setDateFormat("yyyy-MM-dd HH:mm:ss").create();
//gson泛型支持
LogRecvData<NtcCollectVoipLog> fromJson = gson.fromJson(jsonString, new TypeToken<LogRecvData<NtcCollectVoipLog>>(){}.getType());
// gson泛型支持
LogRecvData<NtcCollectVoipLog> fromJson = gson.fromJson(jsonString,
new TypeToken<LogRecvData<NtcCollectVoipLog>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<NtcCollectVoipLog> data = fromJson.getData();
page.setCount(data.getCount());
@@ -157,5 +168,151 @@ public class CollectVoipLogController extends BaseController{
}
return "/log/ntc/collectVoipList";
}
// VoipCollect配置导出
@RequestMapping(value = "exportVoipCollect")
public void exportVoipCollect(@ModelAttribute("log") NtcCollectVoipLog entry, Model model, String hColumns,
String type, HttpServletRequest request, HttpServletResponse response,
RedirectAttributes redirectAttributes) {
try {
PageLog<NtcCollectVoipLog> page = new PageLog<NtcCollectVoipLog>(request, response);
Map<String, Object> params = new HashMap<>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
// 查询值判断
List<NtcCollectVoipLog> list = new ArrayList<NtcCollectVoipLog>();
if (StringUtils.isNotBlank(entry.getSearchFoundStartTime())
&& StringUtils.isNotBlank(entry.getSearchFoundEndTime())) {
params.put("searchFoundStartTime", entry.getSearchFoundStartTime());
params.put("searchFoundEndTime", entry.getSearchFoundEndTime());
} else {
// 判断是否是从配置界面过来的日志查询
if (StringUtils.isNotBlank(entry.getIsLogTotalSearch())) {
Calendar time = Calendar.getInstance();
time.add(Calendar.MINUTE, -5);
String searchEndTime = DateUtils.formatDateTime(time.getTime());
params.put("searchFoundEndTime", searchEndTime);
entry.setSearchFoundEndTime(searchEndTime);
time.add(Calendar.MINUTE, -5);
String searchStartTime = DateUtils.formatDateTime(time.getTime());
params.put("searchFoundStartTime", searchStartTime);
entry.setSearchFoundStartTime(searchStartTime);
} else {
// 设置默认查询当前时间及前五分钟
String endTime = DateUtils.getDateTime();
Date dateStart = new Date(new Date().getTime() - Constants.LOG_TIME_INTERVAL);
String startTime = DateUtils.formatDateTime(dateStart);
params.put("searchFoundStartTime", startTime);
params.put("searchFoundEndTime", endTime);
entry.setSearchFoundStartTime(startTime);
entry.setSearchFoundEndTime(endTime);
}
logger.info("searchFoundStartTime" + params.get("searchFoundStartTime"));
logger.info("searchFoundEndTime" + params.get("searchFoundEndTime"));
}
if (StringUtils.isNotBlank(entry.getVoipProtocol())) {
params.put("searchVoipProtocol", entry.getVoipProtocol());
}
if (StringUtils.isNotBlank(entry.getRtpDIp())) {
params.put("searchRtpDIp", entry.getRtpDIp());
}
if (StringUtils.isNotBlank(entry.getCapIp())) {
params.put("searchCapIp", entry.getCapIp());
}
if (StringUtils.isNotBlank(entry.getRtpSIp())) {
params.put("searchRtpSIp", entry.getRtpSIp());
}
if (StringUtils.isNotBlank(entry.getSipDIp())) {
params.put("searchSipDIp", entry.getSipDIp());
}
if (StringUtils.isNotBlank(entry.getSipSIp())) {
params.put("searchSipSIp", entry.getSipSIp());
}
if (StringUtils.isNotBlank(entry.getOrderBy())) {
params.put("orderBy", entry.getOrderBy());
}
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(entry.getFunctionId());
model.addAttribute("serviceList", serviceList);
// 获取字典信息
List<CodeResult> protocolList = CodeDicUtils.getCodeList("protocolCode");
List<CodeResult> behaviorList = CodeDicUtils.getCodeList("behaviorCode");
List<CodeResult> appList = CodeDicUtils.getCodeList("appCode");
String url = "";
url = Constants.LOG_BASE_URL + Constants.NTC_COLLECT_VOIP_LOG;
String jsonString = HttpClientUtil.getMsg(url, params, request);
GsonBuilder builder = new GsonBuilder();
builder.registerTypeAdapter(Date.class, new JsonDeserializer<Date>() {
public Date deserialize(JsonElement json, java.lang.reflect.Type typeOfT,
JsonDeserializationContext context) throws JsonParseException {
return new Date(json.getAsJsonPrimitive().getAsLong());
}
});
Gson gson = builder.setDateFormat("yyyy-MM-dd HH:mm:ss").create();
// gson泛型支持
LogRecvData<NtcCollectVoipLog> fromJson = gson.fromJson(jsonString,
new TypeToken<LogRecvData<NtcCollectVoipLog>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<NtcCollectVoipLog> data = fromJson.getData();
list = data.getList();
// list = getList();
}
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>();
titleList.add("collect_voip");
classMap.put("collect_voip", NtcCollectVoipLog.class);
SysUser user = UserUtils.getUser();
if (!user.isAdmin()) {
hColumns += ",scene_file,";
} else {
hColumns += ",";
}
String cfgIndexInfoNoExport = ",cfg_id,action," + hColumns;
noExportMap.put("collect_voip", cfgIndexInfoNoExport);
dataMap.put("collect_voip", list);
/* } */
if ("csv".equals(type)) {
this._exportCsv(model, request, response, redirectAttributes, "collect_voip", titleList, classMap,
dataMap, noExportMap);
} else {
this._export(model, request, response, redirectAttributes, "collect_voip", titleList, classMap, dataMap,
noExportMap);
}
} catch (Exception e) {
logger.error("collect_voip export failed", e);
addMessage(redirectAttributes, "error", "export_failed");
}
}
public List<NtcCollectVoipLog> getList() {
List<NtcCollectVoipLog> list = new ArrayList<NtcCollectVoipLog>();
for (int i = 0; i < 100; i++) {
NtcCollectVoipLog ntcCollectVoipLog = new NtcCollectVoipLog();
ntcCollectVoipLog.setAction(i);
ntcCollectVoipLog.setCalledAccount("-" + i);
ntcCollectVoipLog.setCallId("11" + i);
ntcCollectVoipLog.setDate(new Date().toString());
ntcCollectVoipLog.setId(1L);
ntcCollectVoipLog.setSearchRtpDIp("123");
ntcCollectVoipLog.setCallId("199199");
ntcCollectVoipLog.setAction(1);
ntcCollectVoipLog.setCapIp("11");
ntcCollectVoipLog.setContacts("aa");
ntcCollectVoipLog.setFromToStoreUrl("tocal");
list.add(ntcCollectVoipLog);
}
return list;
}
}

View File

@@ -1,5 +1,6 @@
package com.nis.web.controller.log.ntc;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -13,6 +14,7 @@ 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 org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -21,20 +23,23 @@ 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.NtcDdosLog;
import com.nis.domain.SysUser;
import com.nis.domain.log.NtcCollectRadiusLog;
import com.nis.domain.log.NtcDnsLog;
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;
import com.nis.web.security.UserUtils;
@Controller
@RequestMapping("${adminPath}/log/ntc/dns")
public class DnsLogController extends BaseController {
@RequestMapping("list")
public String list(@ModelAttribute("log") NtcDnsLog log, Model model, HttpServletRequest request, HttpServletResponse response) {
public String list(@ModelAttribute("log") NtcDnsLog log, Model model, HttpServletRequest request,
HttpServletResponse response) {
try {
PageLog<NtcDnsLog> page = new PageLog<NtcDnsLog>(request, response);
Map<String, Object> params = new HashMap<String, Object>();
@@ -44,16 +49,17 @@ public class DnsLogController extends BaseController {
params.put("searchQname", log.getQname());
}
initLogSearchValue(log, params);
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId());
model.addAttribute("serviceList", serviceList);
String url = Constants.LOG_BASE_URL + Constants.NTC_DNS_LOG;
String recv = HttpClientUtil.getMsg(url, params, request);
Gson gson = new GsonBuilder().create();
LogRecvData<NtcDnsLog> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcDnsLog>>(){}.getType());
LogRecvData<NtcDnsLog> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcDnsLog>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<NtcDnsLog> data = fromJson.getData();
page.setCount(data.getCount());
@@ -62,7 +68,7 @@ public class DnsLogController extends BaseController {
List<NtcDnsLog> list = page.getList();
for (NtcDnsLog l : list) {
l.setFunctionId(log.getFunctionId());
setLogAction(l,serviceList);
setLogAction(l, serviceList);
}
model.addAttribute("page", page);
}
@@ -70,7 +76,71 @@ public class DnsLogController extends BaseController {
logger.error("查询失败", e);
addMessageLog(model, e.getMessage());
}
return "/log/ntc/dnsList";
}
// Dns配置导出
@RequestMapping(value = "exportDns")
public void exportDns(@ModelAttribute("log") NtcDnsLog log, Model model, String hColumns, String type,
HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) {
System.out.println("进来了dns");
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>();
// ---------------------------
PageLog<NtcDnsLog> page = new PageLog<NtcDnsLog>(request, response);
page.setPageNo(1);
page.setPageSize(Constants.MAX_LOG_EXPORT_SIZE);
Map<String, Object> params = new HashMap<String, Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
initLogSearchValue(log, params);
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId());
model.addAttribute("serviceList", serviceList);
String url = Constants.LOG_BASE_URL + Constants.NTC_DNS_LOG;
String recv = HttpClientUtil.getMsg(url, params, request);
List<NtcDnsLog> list = new ArrayList<NtcDnsLog>();
if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create();
LogRecvData<NtcDnsLog> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcDnsLog>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<NtcDnsLog> data = fromJson.getData();
list = data.getList();
}
}
for (NtcDnsLog l : list) {
l.setFunctionId(log.getFunctionId());
setLogAction(l, serviceList);
}
titleList.add("DNS");
classMap.put("DNS", NtcDnsLog.class);
SysUser user = UserUtils.getUser();
if (!user.isAdmin()) {
hColumns += ",scene_file,";
} else {
hColumns += ",";
}
String cfgIndexInfoNoExport = "," + hColumns;
noExportMap.put("DNS", cfgIndexInfoNoExport);
dataMap.put("DNS", list);
/* } */
if ("csv".equals(type)) {
this._exportCsv(model, request, response, redirectAttributes, "DNS", titleList, classMap,
dataMap, noExportMap);
} else {
this._export(model, request, response, redirectAttributes, "DNS", titleList, classMap, dataMap,
noExportMap);
}
} catch (Exception e) {
logger.error("DNS export failed", e);
addMessage(redirectAttributes, "error", "export_failed");
}
}
}

View File

@@ -1,6 +1,7 @@
package com.nis.web.controller.log.ntc;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -8,12 +9,14 @@ import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.client.ClientProtocolException;
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 org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -21,18 +24,21 @@ 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.SysUser;
import com.nis.domain.log.NtcDnsLog;
import com.nis.domain.log.NtcFtpLog;
import com.nis.domain.log.NtcFtpLog;
import com.nis.domain.log.NtcOpenVpnLog;
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;
import com.nis.web.security.UserUtils;
@Controller
@RequestMapping(value = "${adminPath}/log/ntc/NtcFtpLogs")
public class FtpLogController extends BaseController{
public class FtpLogController extends BaseController {
/**
* @param model
@@ -43,29 +49,31 @@ public class FtpLogController extends BaseController{
* @throws ClientProtocolException
* @throws IOException
*/
@RequestMapping(value={"list",""})
public String list(Model model,@ModelAttribute("log")NtcFtpLog entry,HttpServletRequest request, HttpServletResponse response) throws ClientProtocolException, IOException {
@RequestMapping(value = { "list", "" })
public String list(Model model, @ModelAttribute("log") NtcFtpLog entry, HttpServletRequest request,
HttpServletResponse response) throws ClientProtocolException, IOException {
try {
PageLog<NtcFtpLog> page = new PageLog<NtcFtpLog>(request, response);
Map<String, Object> params=new HashMap<>();
Map<String, Object> params = new HashMap<>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
//查询值判断
initLogSearchValue(entry,params);
// 查询值判断
initLogSearchValue(entry, params);
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(entry.getFunctionId());
model.addAttribute("serviceList", serviceList);
String url = "";
url = Constants.LOG_BASE_URL+Constants.NTC_FTP_LOG;
String jsonString = HttpClientUtil.getMsg(url,params,request);
url = Constants.LOG_BASE_URL + Constants.NTC_FTP_LOG;
String jsonString = HttpClientUtil.getMsg(url, params, request);
Gson gson = new GsonBuilder().create();
//gson泛型支持
LogRecvData<NtcFtpLog> fromJson = gson.fromJson(jsonString, new TypeToken<LogRecvData<NtcFtpLog>>(){}.getType());
// gson泛型支持
LogRecvData<NtcFtpLog> fromJson = gson.fromJson(jsonString, new TypeToken<LogRecvData<NtcFtpLog>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<NtcFtpLog> data = fromJson.getData();
page.setCount(data.getCount());
@@ -74,7 +82,7 @@ public class FtpLogController extends BaseController{
List<NtcFtpLog> list = page.getList();
for (NtcFtpLog l : list) {
l.setFunctionId(entry.getFunctionId());
setLogAction(l,serviceList);
setLogAction(l, serviceList);
}
model.addAttribute("page", page);
logger.info("查询Ftp日志成功");
@@ -85,5 +93,68 @@ public class FtpLogController extends BaseController{
}
return "/log/ntc/ftpList";
}
// ftp配置导出
@RequestMapping(value = "exportFtp")
public void exportFtp(@ModelAttribute("log") NtcFtpLog log, Model model, String hColumns, String type,
HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) {
System.out.println("进来了Ftp");
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>();
// ---------------------------
PageLog<NtcFtpLog> page = new PageLog<NtcFtpLog>(request, response);
page.setPageNo(1);
page.setPageSize(Constants.MAX_LOG_EXPORT_SIZE);
Map<String, Object> params = new HashMap<String, Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
initLogSearchValue(log, params);
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId());
model.addAttribute("serviceList", serviceList);
String url = Constants.LOG_BASE_URL + Constants.NTC_FTP_LOG;
String recv = HttpClientUtil.getMsg(url, params, request);
List<NtcFtpLog> list = new ArrayList<NtcFtpLog>();
if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create();
LogRecvData<NtcFtpLog> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcFtpLog>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<NtcFtpLog> data = fromJson.getData();
list = data.getList();
}
}
for (NtcFtpLog l : list) {
l.setFunctionId(log.getFunctionId());
setLogAction(l, serviceList);
}
titleList.add("ftp_control");
classMap.put("ftp_control", NtcFtpLog.class);
SysUser user = UserUtils.getUser();
if (!user.isAdmin()) {
hColumns += ",scene_file,";
} else {
hColumns += ",";
}
String cfgIndexInfoNoExport = "," + hColumns;
noExportMap.put("ftp_control", cfgIndexInfoNoExport);
dataMap.put("ftp_control", list);
/* } */
if ("csv".equals(type)) {
this._exportCsv(model, request, response, redirectAttributes, "ftp_control", titleList, classMap,
dataMap, noExportMap);
} else {
this._export(model, request, response, redirectAttributes, "ftp_control", titleList, classMap, dataMap,
noExportMap);
}
} catch (Exception e) {
logger.error("ftp_control export failed", e);
addMessage(redirectAttributes, "error", "export_failed");
}
}
}

View File

@@ -1,5 +1,6 @@
package com.nis.web.controller.log.ntc;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -13,6 +14,7 @@ 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 org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -20,21 +22,24 @@ 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.SysUser;
import com.nis.domain.log.NtcFtpLog;
import com.nis.domain.log.NtcHttpLog;
import com.nis.domain.log.NtcKeywordsUrlLog;
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;
import com.nis.web.security.UserUtils;
@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) {
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>();
@@ -44,16 +49,18 @@ public class HttpKeyLogController extends BaseController {
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);
Gson gson = new GsonBuilder().create();
LogRecvData<NtcKeywordsUrlLog> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcKeywordsUrlLog>>(){}.getType());
LogRecvData<NtcKeywordsUrlLog> fromJson = gson.fromJson(recv,
new TypeToken<LogRecvData<NtcKeywordsUrlLog>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<NtcKeywordsUrlLog> data = fromJson.getData();
page.setCount(data.getCount());
@@ -62,7 +69,7 @@ public class HttpKeyLogController extends BaseController {
List<NtcKeywordsUrlLog> list = page.getList();
for (NtcKeywordsUrlLog l : list) {
l.setFunctionId(log.getFunctionId());
setLogAction(l,serviceList);
setLogAction(l, serviceList);
}
model.addAttribute("page", page);
}
@@ -70,7 +77,72 @@ public class HttpKeyLogController extends BaseController {
logger.error("查询失败", e);
addMessageLog(model, e.getMessage());
}
return "/log/ntc/httpKeyList";
}
// httpKey配置导出
@RequestMapping(value = "exportHttpKey")
public void exportHttpKey(@ModelAttribute("log") NtcKeywordsUrlLog log, Model model, String hColumns, String type,
HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) {
System.out.println("进来了httpKey");
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>();
// ---------------------------
PageLog<NtcKeywordsUrlLog> page = new PageLog<NtcKeywordsUrlLog>(request, response);
page.setPageNo(1);
page.setPageSize(Constants.MAX_LOG_EXPORT_SIZE);
Map<String, Object> params = new HashMap<String, Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
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);
List<NtcKeywordsUrlLog> list = new ArrayList<NtcKeywordsUrlLog>();
if (StringUtils.isNotBlank(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();
list = data.getList();
}
}
for (NtcKeywordsUrlLog l : list) {
l.setFunctionId(log.getFunctionId());
setLogAction(l, serviceList);
}
titleList.add("http_keyword");
classMap.put("http_keyword", NtcKeywordsUrlLog.class);
SysUser user = UserUtils.getUser();
if (!user.isAdmin()) {
hColumns += ",scene_file,";
} else {
hColumns += ",";
}
String cfgIndexInfoNoExport = "," + hColumns;
noExportMap.put("http_keyword", cfgIndexInfoNoExport);
dataMap.put("http_keyword", list);
/* } */
if ("csv".equals(type)) {
this._exportCsv(model, request, response, redirectAttributes, "http_keyword", titleList, classMap,
dataMap, noExportMap);
} else {
this._export(model, request, response, redirectAttributes, "http_keyword", titleList, classMap, dataMap,
noExportMap);
}
} catch (Exception e) {
logger.error("http_keyword export failed", e);
addMessage(redirectAttributes, "error", "export_failed");
}
}
}

View File

@@ -1,5 +1,6 @@
package com.nis.web.controller.log.ntc;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -12,6 +13,7 @@ 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 org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -19,19 +21,23 @@ 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.SysUser;
import com.nis.domain.log.NtcHttpLog;
import com.nis.domain.log.NtcHttpLog;
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;
import com.nis.web.security.UserUtils;
@Controller
@RequestMapping("${adminPath}/log/ntc/http")
public class HttpLogController extends BaseController {
@RequestMapping("list")
public String list(@ModelAttribute("log") NtcHttpLog log, Model model, HttpServletRequest request, HttpServletResponse response) {
public String list(@ModelAttribute("log") NtcHttpLog log, Model model, HttpServletRequest request,
HttpServletResponse response) {
try {
PageLog<NtcHttpLog> page = new PageLog<NtcHttpLog>(request, response);
Map<String, Object> params = new HashMap<String, Object>();
@@ -41,32 +47,33 @@ public class HttpLogController extends BaseController {
params.put("searchUrl", log.getUrl());
}
initLogSearchValue(log, params);
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId());
serviceList.addAll(DictUtils.getFunctionServiceDictList(635));
for (FunctionServiceDict serviceDict : serviceList) {
if(serviceDict.getFunctionId() == log.getFunctionId()){
if(serviceDict.getAction() == Constants.MONIT_ACTION){
if (serviceDict.getFunctionId() == log.getFunctionId()) {
if (serviceDict.getAction() == Constants.MONIT_ACTION) {
serviceDict.setActionCode("log_search_http_monit");
}else if(serviceDict.getAction() == Constants.REJECT_ACTION){
} else if (serviceDict.getAction() == Constants.REJECT_ACTION) {
serviceDict.setActionCode("log_search_http_reject");
}
}else{
if(serviceDict.getAction() == Constants.MONIT_ACTION){
} else {
if (serviceDict.getAction() == Constants.MONIT_ACTION) {
serviceDict.setActionCode("log_search_keyword_monit");
}else if(serviceDict.getAction() == Constants.REJECT_ACTION){
} else if (serviceDict.getAction() == Constants.REJECT_ACTION) {
serviceDict.setActionCode("log_search_keyword_reject");
}
}
}
model.addAttribute("serviceList", serviceList);
String url = Constants.LOG_BASE_URL + Constants.NTC_HTTP_LOG;
String recv = HttpClientUtil.getMsg(url, params, request);
Gson gson = new GsonBuilder().create();
LogRecvData<NtcHttpLog> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcHttpLog>>(){}.getType());
LogRecvData<NtcHttpLog> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcHttpLog>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<NtcHttpLog> data = fromJson.getData();
page.setCount(data.getCount());
@@ -75,7 +82,7 @@ public class HttpLogController extends BaseController {
List<NtcHttpLog> list = page.getList();
for (NtcHttpLog l : list) {
l.setFunctionId(log.getFunctionId());
setLogAction(l,serviceList);
setLogAction(l, serviceList);
}
model.addAttribute("page", page);
}
@@ -83,7 +90,71 @@ public class HttpLogController extends BaseController {
logger.error("查询失败", e);
addMessageLog(model, e.getMessage());
}
return "/log/ntc/httpList";
}
// http配置导出
@RequestMapping(value = "exportHttp")
public void exportHttp(@ModelAttribute("log") NtcHttpLog log, Model model, String hColumns, String type,
HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) {
System.out.println("进来了http");
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>();
// ---------------------------
PageLog<NtcHttpLog> page = new PageLog<NtcHttpLog>(request, response);
page.setPageNo(1);
page.setPageSize(Constants.MAX_LOG_EXPORT_SIZE);
Map<String, Object> params = new HashMap<String, Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
initLogSearchValue(log, params);
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId());
model.addAttribute("serviceList", serviceList);
String url = Constants.LOG_BASE_URL + Constants.NTC_HTTP_LOG;
String recv = HttpClientUtil.getMsg(url, params, request);
List<NtcHttpLog> list = new ArrayList<NtcHttpLog>();
if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create();
LogRecvData<NtcHttpLog> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcHttpLog>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<NtcHttpLog> data = fromJson.getData();
list = data.getList();
}
}
for (NtcHttpLog l : list) {
l.setFunctionId(log.getFunctionId());
setLogAction(l, serviceList);
}
titleList.add("HTTP");
classMap.put("HTTP", NtcHttpLog.class);
SysUser user = UserUtils.getUser();
if (!user.isAdmin()) {
hColumns += ",scene_file,";
} else {
hColumns += ",";
}
String cfgIndexInfoNoExport = "," + hColumns;
noExportMap.put("HTTP", cfgIndexInfoNoExport);
dataMap.put("HTTP", list);
/* } */
if ("csv".equals(type)) {
this._exportCsv(model, request, response, redirectAttributes, "HTTP", titleList, classMap,
dataMap, noExportMap);
} else {
this._export(model, request, response, redirectAttributes, "HTTP", titleList, classMap, dataMap,
noExportMap);
}
} catch (Exception e) {
logger.error("HTTP export failed", e);
addMessage(redirectAttributes, "error", "export_failed");
}
}
}

View File

@@ -1,5 +1,6 @@
package com.nis.web.controller.log.ntc;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -14,6 +15,7 @@ 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 org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -21,27 +23,31 @@ 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.SysUser;
import com.nis.domain.log.NtcIpLog;
import com.nis.domain.log.NtcMailLog;
import com.nis.domain.log.NtcMailLog;
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;
import com.nis.web.security.UserUtils;
@Controller
@RequestMapping("${adminPath}/log/ntc/mail")
public class MailLogController extends BaseController {
@RequestMapping("list")
public String list(@ModelAttribute("log") NtcMailLog log, Model model, HttpServletRequest request, HttpServletResponse response) {
public String list(@ModelAttribute("log") NtcMailLog log, Model model, HttpServletRequest request,
HttpServletResponse response) {
try {
PageLog<NtcMailLog> page = new PageLog<NtcMailLog>(request, response);
Map<String, Object> params = new HashMap<String, Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
initLogSearchValue(log, params);
// 增加收/发件人、邮件主题查询
if (StringUtils.isNotBlank(log.getMailTo())) {
params.put("searchMailTo", StringEscapeUtils.unescapeHtml(log.getMailTo()));
@@ -52,16 +58,17 @@ public class MailLogController extends BaseController {
if (StringUtils.isNotBlank(log.getSubject())) {
params.put("searchSubject", StringEscapeUtils.unescapeHtml(log.getSubject()));
}
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId());
model.addAttribute("serviceList", serviceList);
String url = Constants.LOG_BASE_URL + Constants.NTC_MAIL_LOG;
String recv = HttpClientUtil.getMsg(url, params, request);
if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create();
LogRecvData<NtcMailLog> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcMailLog>>(){}.getType());
LogRecvData<NtcMailLog> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcMailLog>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<NtcMailLog> data = fromJson.getData();
page.setCount(data.getCount());
@@ -70,7 +77,7 @@ public class MailLogController extends BaseController {
List<NtcMailLog> list = page.getList();
for (NtcMailLog l : list) {
l.setFunctionId(log.getFunctionId());
setLogAction(l,serviceList);
setLogAction(l, serviceList);
}
model.addAttribute("page", page);
}
@@ -79,7 +86,71 @@ public class MailLogController extends BaseController {
logger.error("查询失败", e);
addMessageLog(model, e.getMessage());
}
return "/log/ntc/mailList";
}
// Mail配置导出
@RequestMapping(value = "exportMail")
public void exportMail(@ModelAttribute("log") NtcMailLog log, Model model, String hColumns, String type,
HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) {
System.out.println("进来了Mail");
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>();
// ---------------------------
PageLog<NtcMailLog> page = new PageLog<NtcMailLog>(request, response);
page.setPageNo(1);
page.setPageSize(Constants.MAX_LOG_EXPORT_SIZE);
Map<String, Object> params = new HashMap<String, Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
initLogSearchValue(log, params);
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId());
model.addAttribute("serviceList", serviceList);
String url = Constants.LOG_BASE_URL + Constants.NTC_MAIL_LOG;
String recv = HttpClientUtil.getMsg(url, params, request);
List<NtcMailLog> list = new ArrayList<NtcMailLog>();
if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create();
LogRecvData<NtcMailLog> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcMailLog>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<NtcMailLog> data = fromJson.getData();
list = data.getList();
}
}
for (NtcMailLog l : list) {
l.setFunctionId(log.getFunctionId());
setLogAction(l, serviceList);
}
titleList.add("mail_control");
classMap.put("mail_control", NtcMailLog.class);
SysUser user = UserUtils.getUser();
if (!user.isAdmin()) {
hColumns += ",scene_file,";
} else {
hColumns += ",";
}
String cfgIndexInfoNoExport = "," + hColumns;
noExportMap.put("mail_control", cfgIndexInfoNoExport);
dataMap.put("mail_control", list);
/* } */
if ("csv".equals(type)) {
this._exportCsv(model, request, response, redirectAttributes, "mail_control", titleList, classMap,
dataMap, noExportMap);
} else {
this._export(model, request, response, redirectAttributes, "mail_control", titleList, classMap, dataMap,
noExportMap);
}
} catch (Exception e) {
logger.error("mail_control export failed", e);
addMessage(redirectAttributes, "error", "export_failed");
}
}
}

View File

@@ -1,6 +1,7 @@
package com.nis.web.controller.log.ntc;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -8,12 +9,14 @@ import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.client.ClientProtocolException;
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 org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -21,20 +24,24 @@ 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.SysUser;
import com.nis.domain.log.MmAvIpLog;
import com.nis.domain.log.NtcStreamMediaLog;
import com.nis.domain.log.NtcStreamMediaLog;
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;
import com.nis.web.security.UserUtils;
@Controller
@RequestMapping(value = "${adminPath}/log/ntc/mmAvUrlLogs")
public class MmAvUrlLogController extends BaseController{
public class MmAvUrlLogController extends BaseController {
/**
* 音视频url日志
*
* @param model
* @param entry
* @param request
@@ -43,29 +50,32 @@ public class MmAvUrlLogController extends BaseController{
* @throws ClientProtocolException
* @throws IOException
*/
@RequestMapping(value={"list",""})
public String list(Model model,@ModelAttribute("log")NtcStreamMediaLog entry,HttpServletRequest request, HttpServletResponse response) throws ClientProtocolException, IOException {
@RequestMapping(value = { "list", "" })
public String list(Model model, @ModelAttribute("log") NtcStreamMediaLog entry, HttpServletRequest request,
HttpServletResponse response) throws ClientProtocolException, IOException {
try {
PageLog<NtcStreamMediaLog> page = new PageLog<NtcStreamMediaLog>(request, response);
Map<String, Object> params=new HashMap<>();
Map<String, Object> params = new HashMap<>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
//查询值判断
initLogSearchValue(entry,params);
// 查询值判断
initLogSearchValue(entry, params);
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(entry.getFunctionId());
model.addAttribute("serviceList", serviceList);
String url = "";
url = Constants.LOG_BASE_URL+Constants.NTC_STREAMMEDIA_LOG;
String jsonString = HttpClientUtil.getMsg(url,params,request);
url = Constants.LOG_BASE_URL + Constants.NTC_STREAMMEDIA_LOG;
String jsonString = HttpClientUtil.getMsg(url, params, request);
Gson gson = new GsonBuilder().create();
//gson泛型支持
LogRecvData<NtcStreamMediaLog> fromJson = gson.fromJson(jsonString, new TypeToken<LogRecvData<NtcStreamMediaLog>>(){}.getType());
// gson泛型支持
LogRecvData<NtcStreamMediaLog> fromJson = gson.fromJson(jsonString,
new TypeToken<LogRecvData<NtcStreamMediaLog>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<NtcStreamMediaLog> data = fromJson.getData();
page.setCount(data.getCount());
@@ -74,7 +84,7 @@ public class MmAvUrlLogController extends BaseController{
List<NtcStreamMediaLog> list = page.getList();
for (NtcStreamMediaLog l : list) {
l.setFunctionId(entry.getFunctionId());
setLogAction(l,serviceList);
setLogAction(l, serviceList);
}
model.addAttribute("page", page);
logger.info("查询音视频url日志成功");
@@ -85,5 +95,70 @@ public class MmAvUrlLogController extends BaseController{
}
return "/log/ntc/ntcStreamMedia";
}
// AvUrl配置导出
@RequestMapping(value = "exportAvUrl")
public void exportAvUrl(@ModelAttribute("log") NtcStreamMediaLog log, Model model, String hColumns, String type,
HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) {
System.out.println("进来了AvUrl");
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>();
// ---------------------------
PageLog<NtcStreamMediaLog> page = new PageLog<NtcStreamMediaLog>(request, response);
page.setPageNo(1);
page.setPageSize(Constants.MAX_LOG_EXPORT_SIZE);
Map<String, Object> params = new HashMap<String, Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
initLogSearchValue(log, params);
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId());
model.addAttribute("serviceList", serviceList);
String url = Constants.LOG_BASE_URL + Constants.NTC_STREAMMEDIA_LOG;
String recv = HttpClientUtil.getMsg(url, params, request);
List<NtcStreamMediaLog> list = new ArrayList<NtcStreamMediaLog>();
if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create();
LogRecvData<NtcStreamMediaLog> fromJson = gson.fromJson(recv,
new TypeToken<LogRecvData<NtcStreamMediaLog>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<NtcStreamMediaLog> data = fromJson.getData();
list = data.getList();
}
}
for (NtcStreamMediaLog l : list) {
l.setFunctionId(log.getFunctionId());
setLogAction(l, serviceList);
}
titleList.add("streaming_media");
classMap.put("streaming_media", NtcStreamMediaLog.class);
SysUser user = UserUtils.getUser();
if (!user.isAdmin()) {
hColumns += ",scene_file,";
} else {
hColumns += ",";
}
String cfgIndexInfoNoExport = "," + hColumns;
noExportMap.put("streaming_media", cfgIndexInfoNoExport);
dataMap.put("streaming_media", list);
/* } */
if ("csv".equals(type)) {
this._exportCsv(model, request, response, redirectAttributes, "streaming_media", titleList, classMap,
dataMap, noExportMap);
} else {
this._export(model, request, response, redirectAttributes, "streaming_media", titleList, classMap, dataMap,
noExportMap);
}
} catch (Exception e) {
logger.error("streaming_media export failed", e);
addMessage(redirectAttributes, "error", "export_failed");
}
}
}

View File

@@ -1,6 +1,7 @@
package com.nis.web.controller.log.ntc;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -8,12 +9,14 @@ import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.client.ClientProtocolException;
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 org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -21,16 +24,19 @@ 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.SysUser;
import com.nis.domain.log.MmVoipLog;
import com.nis.domain.log.MmVoipLog;
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;
import com.nis.web.security.UserUtils;
@Controller
@RequestMapping(value = "${adminPath}/log/ntc/mmVoipIpLogs")
public class MmVoipIpLogController extends BaseController{
public class MmVoipIpLogController extends BaseController {
/**
* @param model
@@ -41,29 +47,31 @@ public class MmVoipIpLogController extends BaseController{
* @throws ClientProtocolException
* @throws IOException
*/
@RequestMapping(value={"list",""})
public String list(Model model,@ModelAttribute("log")MmVoipLog entry,HttpServletRequest request, HttpServletResponse response) throws ClientProtocolException, IOException {
@RequestMapping(value = { "list", "" })
public String list(Model model, @ModelAttribute("log") MmVoipLog entry, HttpServletRequest request,
HttpServletResponse response) throws ClientProtocolException, IOException {
try {
PageLog<MmVoipLog> page = new PageLog<MmVoipLog>(request, response);
Map<String, Object> params=new HashMap<>();
Map<String, Object> params = new HashMap<>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
//查询值判断
initLogSearchValue(entry,params);
// 查询值判断
initLogSearchValue(entry, params);
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(entry.getFunctionId());
model.addAttribute("serviceList", serviceList);
String url = "";
url = Constants.LOG_BASE_URL+Constants.NTC_MMVOIP_LOG;
String jsonString = HttpClientUtil.getMsg(url,params,request);
url = Constants.LOG_BASE_URL + Constants.NTC_MMVOIP_LOG;
String jsonString = HttpClientUtil.getMsg(url, params, request);
Gson gson = new GsonBuilder().create();
//gson泛型支持
LogRecvData<MmVoipLog> fromJson = gson.fromJson(jsonString, new TypeToken<LogRecvData<MmVoipLog>>(){}.getType());
// gson泛型支持
LogRecvData<MmVoipLog> fromJson = gson.fromJson(jsonString, new TypeToken<LogRecvData<MmVoipLog>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<MmVoipLog> data = fromJson.getData();
page.setCount(data.getCount());
@@ -72,7 +80,7 @@ public class MmVoipIpLogController extends BaseController{
List<MmVoipLog> list = page.getList();
for (MmVoipLog l : list) {
l.setFunctionId(entry.getFunctionId());
setLogAction(l,serviceList);
setLogAction(l, serviceList);
}
model.addAttribute("page", page);
logger.info("查询Voip日志成功");
@@ -83,5 +91,69 @@ public class MmVoipIpLogController extends BaseController{
}
return "/log/ntc/mmVoipIpList";
}
// Voip配置导出
@RequestMapping(value = "exportVoip")
public void exportVoip(@ModelAttribute("log") MmVoipLog log, Model model, String hColumns, String type,
HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) {
System.out.println("进来了Voip");
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>();
// ---------------------------
PageLog<MmVoipLog> page = new PageLog<MmVoipLog>(request, response);
page.setPageNo(1);
page.setPageSize(Constants.MAX_LOG_EXPORT_SIZE);
Map<String, Object> params = new HashMap<String, Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
initLogSearchValue(log, params);
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId());
model.addAttribute("serviceList", serviceList);
String url = Constants.LOG_BASE_URL + Constants.NTC_MMVOIP_LOG;
String recv = HttpClientUtil.getMsg(url, params, request);
List<MmVoipLog> list = new ArrayList<MmVoipLog>();
if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create();
LogRecvData<MmVoipLog> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<MmVoipLog>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<MmVoipLog> data = fromJson.getData();
list = data.getList();
}
}
for (MmVoipLog l : list) {
l.setFunctionId(log.getFunctionId());
setLogAction(l, serviceList);
}
titleList.add("av_voip_control");
classMap.put("av_voip_control", MmVoipLog.class);
SysUser user = UserUtils.getUser();
if (!user.isAdmin()) {
hColumns += ",duation,from_to_store_ip,from_to_store_url,to_from_store_ip,to_from_store_url,log_uri,direction,scene_file,";
} else {
hColumns += ",";
}
String cfgIndexInfoNoExport = "," + hColumns;
noExportMap.put("av_voip_control", cfgIndexInfoNoExport);
dataMap.put("av_voip_control", list);
/* } */
if ("csv".equals(type)) {
this._exportCsv(model, request, response, redirectAttributes, "av_voip_control", titleList, classMap,
dataMap, noExportMap);
} else {
this._export(model, request, response, redirectAttributes, "av_voip_control", titleList, classMap,
dataMap, noExportMap);
}
} catch (Exception e) {
logger.error("av_voip_control export failed", e);
addMessage(redirectAttributes, "error", "export_failed");
}
}
}

View File

@@ -18,6 +18,7 @@ import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -26,10 +27,12 @@ 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.SysUser;
import com.nis.domain.log.IrDnatLog;
import com.nis.domain.log.IrSnatLog;
import com.nis.domain.log.NtcCollectRadiusLog;
import com.nis.domain.log.NtcConnRecordLog;
import com.nis.domain.log.NtcConnRecordLog;
import com.nis.domain.log.SearchReport;
import com.nis.domain.maat.LogRecvData;
import com.nis.domain.report.NtcServiceReport;
@@ -42,43 +45,48 @@ import com.nis.util.StringUtil;
import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController;
import com.nis.web.dao.dashboard.codedic.CodeResult;
import com.nis.web.security.UserUtils;
import net.sf.json.JSONObject;
@Controller
@RequestMapping("${adminPath}/log/ntc/connRecordLogs")
public class NtcConnRecordLogController extends BaseController {
@RequestMapping(value = {"/list", ""})
public String connRecordLogs(@ModelAttribute("log") NtcConnRecordLog log, Model model, HttpServletRequest request, HttpServletResponse response) {
@RequestMapping(value = { "/list", "" })
public String connRecordLogs(@ModelAttribute("log") NtcConnRecordLog log, Model model, HttpServletRequest request,
HttpServletResponse response) {
try {
PageLog<NtcConnRecordLog> page = new PageLog<NtcConnRecordLog>(request, response);
Map<String, Object> params = new HashMap<String, Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
initLogSearchValue(log, params);
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId());
model.addAttribute("serviceList", serviceList);
List<CodeResult> appList=CodeDicUtils.getCodeList("appCode");
List<CodeResult> appList = CodeDicUtils.getCodeList("appCode");
model.addAttribute("appList", appList);
String url =Constants.LOG_BASE_URL + Constants.NTC_CONN_RECORD_LOG;
String url = Constants.LOG_BASE_URL + Constants.NTC_CONN_RECORD_LOG;
String recv = HttpClientUtil.getMsg(url, params, request);
if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create();
LogRecvData<NtcConnRecordLog> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcConnRecordLog>>(){}.getType());
LogRecvData<NtcConnRecordLog> fromJson = gson.fromJson(recv,
new TypeToken<LogRecvData<NtcConnRecordLog>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<NtcConnRecordLog> data = fromJson.getData();
page.setCount(data.getCount());
page.setLast(data.getLast());
page.setList(data.getList());
/*List<NtcCollectRadiusLog> list = page.getList();
for (NtcConnRecordLog l : list) {
l.setFunctionId(log.getFunctionId());
setLogAction(l,serviceList);
}*/
/*
* List<NtcCollectRadiusLog> list = page.getList(); for
* (NtcConnRecordLog l : list) {
* l.setFunctionId(log.getFunctionId());
* setLogAction(l,serviceList); }
*/
model.addAttribute("page", page);
}
}
@@ -86,41 +94,102 @@ public class NtcConnRecordLogController extends BaseController {
logger.error("查询失败", e);
addMessageLog(model, e.getMessage());
}
return "/log/ntc/connRecordLogList";
}
@RequestMapping("/ajaxConnRecordPercent")
@ResponseBody
public JSONObject ajaxConnRecordPercent(String searchFoundStartTime,
String searchFoundEndTime,
String searchStreamDir,
HttpServletRequest request,
HttpServletResponse response) {
JSONObject resultAllJson=new JSONObject();
JSONObject result=new JSONObject();
Map<String, Object> params=new HashMap<>();
public JSONObject ajaxConnRecordPercent(String searchFoundStartTime, String searchFoundEndTime,
String searchStreamDir, HttpServletRequest request, HttpServletResponse response) {
JSONObject resultAllJson = new JSONObject();
JSONObject result = new JSONObject();
Map<String, Object> params = new HashMap<>();
try {
params.put("searchFoundStartTime", searchFoundStartTime);
params.put("searchFoundEndTime", searchFoundEndTime);
StringBuffer url=new StringBuffer(Constants.LOG_BASE_URL+Constants.NTC_CONN_RECORD_PERCENT);
String json=HttpClientUtil.getMsg(url.toString(), params,request);
if(!StringUtil.isEmpty(json)) {
resultAllJson=JSONObject.fromObject(json);
if(!StringUtil.isEmpty(resultAllJson)) {
result=(JSONObject) resultAllJson.get("data");
StringBuffer url = new StringBuffer(Constants.LOG_BASE_URL + Constants.NTC_CONN_RECORD_PERCENT);
String json = HttpClientUtil.getMsg(url.toString(), params, request);
if (!StringUtil.isEmpty(json)) {
resultAllJson = JSONObject.fromObject(json);
if (!StringUtil.isEmpty(resultAllJson)) {
result = (JSONObject) resultAllJson.get("data");
}
}
result.put("success","success");
result.put("success", "success");
} catch (MaatConvertException e) {
logger.error("ajaxConnRecordPercent检索失败",e);
result.put("error",getMsgProp().get("request_service_failed"));
}catch (Exception e) {
logger.error("ajaxConnRecordPercent检索失败",e);
result.put("error",getMsgProp().get("search_error"));
}
logger.error("ajaxConnRecordPercent检索失败", e);
result.put("error", getMsgProp().get("request_service_failed"));
} catch (Exception e) {
logger.error("ajaxConnRecordPercent检索失败", e);
result.put("error", getMsgProp().get("search_error"));
}
return result;
}
// ConnRecord配置导出
@RequestMapping(value = "exportConnRecord")
public void exportConnRecord(@ModelAttribute("log") NtcConnRecordLog log, Model model, String hColumns, String type,
HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) {
System.out.println("进来了ConnRecord");
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>();
// ---------------------------
PageLog<NtcConnRecordLog> page = new PageLog<NtcConnRecordLog>(request, response);
page.setPageNo(1);
page.setPageSize(Constants.MAX_LOG_EXPORT_SIZE);
Map<String, Object> params = new HashMap<String, Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
initLogSearchValue(log, params);
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId());
model.addAttribute("serviceList", serviceList);
String url = Constants.LOG_BASE_URL + Constants.NTC_CONN_RECORD_LOG;
String recv = HttpClientUtil.getMsg(url, params, request);
List<NtcConnRecordLog> list = new ArrayList<NtcConnRecordLog>();
if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create();
LogRecvData<NtcConnRecordLog> fromJson = gson.fromJson(recv,
new TypeToken<LogRecvData<NtcConnRecordLog>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<NtcConnRecordLog> data = fromJson.getData();
list = data.getList();
}
}
for (NtcConnRecordLog l : list) {
l.setFunctionId(log.getFunctionId());
setLogAction(l, serviceList);
}
titleList.add("conn_record");
classMap.put("conn_record", NtcConnRecordLog.class);
SysUser user = UserUtils.getUser();
if (!user.isAdmin()) {
hColumns += ",scene_file,";
} else {
hColumns += ",";
}
String cfgIndexInfoNoExport = "," + hColumns;
noExportMap.put("conn_record", cfgIndexInfoNoExport);
dataMap.put("conn_record", list);
/* } */
if ("csv".equals(type)) {
this._exportCsv(model, request, response, redirectAttributes, "conn_record", titleList, classMap,
dataMap, noExportMap);
} else {
this._export(model, request, response, redirectAttributes, "conn_record", titleList, classMap, dataMap,
noExportMap);
}
} catch (Exception e) {
logger.error("conn_record export failed", e);
addMessage(redirectAttributes, "error", "export_failed");
}
}
}

View File

@@ -1,5 +1,6 @@
package com.nis.web.controller.log.ntc;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -13,6 +14,7 @@ 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 org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -20,6 +22,8 @@ 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.SysUser;
import com.nis.domain.log.NtcP2pLog;
import com.nis.domain.log.NtcOpenVpnLog;
import com.nis.domain.log.NtcP2pLog;
import com.nis.domain.maat.LogRecvData;
@@ -27,13 +31,15 @@ import com.nis.util.Constants;
import com.nis.util.DictUtils;
import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController;
import com.nis.web.security.UserUtils;
@Controller
@RequestMapping("${adminPath}/log/ntc/p2pLogs")
public class P2pLogController extends BaseController {
@RequestMapping(value = {"list", ""})
public String list(@ModelAttribute("log") NtcP2pLog log, Model model, HttpServletRequest request, HttpServletResponse response) {
@RequestMapping(value = { "list", "" })
public String list(@ModelAttribute("log") NtcP2pLog log, Model model, HttpServletRequest request,
HttpServletResponse response) {
try {
PageLog<NtcP2pLog> page = new PageLog<NtcP2pLog>(request, response);
Map<String, Object> params = new HashMap<String, Object>();
@@ -43,13 +49,14 @@ public class P2pLogController extends BaseController {
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId());
model.addAttribute("serviceList", serviceList);
String url = Constants.LOG_BASE_URL + Constants.NTC_P2P_LOG;
String recv = HttpClientUtil.getMsg(url, params, request);
String recv = HttpClientUtil.getMsg(url, params, request);
logger.error("查询结果:" + recv);
if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create();
LogRecvData<NtcP2pLog> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcP2pLog>>(){}.getType());
LogRecvData<NtcP2pLog> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcP2pLog>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<NtcP2pLog> data = fromJson.getData();
page.setCount(data.getCount());
@@ -58,7 +65,7 @@ public class P2pLogController extends BaseController {
List<NtcP2pLog> list = page.getList();
for (NtcP2pLog l : list) {
l.setFunctionId(log.getFunctionId());
setLogAction(l,serviceList);
setLogAction(l, serviceList);
}
model.addAttribute("page", page);
}
@@ -67,8 +74,72 @@ public class P2pLogController extends BaseController {
logger.error("查询失败", e);
addMessageLog(model, e.getMessage());
}
return "/log/ntc/p2pList";
}
// p2p配置导出
@RequestMapping(value = "exportP2p")
public void exportP2p(@ModelAttribute("log") NtcP2pLog log, Model model, String hColumns, String type,
HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) {
System.out.println("进来了P2p");
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>();
// ---------------------------
PageLog<NtcP2pLog> page = new PageLog<NtcP2pLog>(request, response);
page.setPageNo(1);
page.setPageSize(Constants.MAX_LOG_EXPORT_SIZE);
Map<String, Object> params = new HashMap<String, Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
initLogSearchValue(log, params);
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId());
model.addAttribute("serviceList", serviceList);
String url = Constants.LOG_BASE_URL + Constants.NTC_P2P_LOG;
String recv = HttpClientUtil.getMsg(url, params, request);
List<NtcP2pLog> list = new ArrayList<NtcP2pLog>();
if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create();
LogRecvData<NtcP2pLog> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcP2pLog>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<NtcP2pLog> data = fromJson.getData();
list = data.getList();
}
}
for (NtcP2pLog l : list) {
l.setFunctionId(log.getFunctionId());
setLogAction(l, serviceList);
}
titleList.add("p2p_control");
classMap.put("p2p_control", NtcP2pLog.class);
SysUser user = UserUtils.getUser();
if (!user.isAdmin()) {
hColumns += ",scene_file,";
} else {
hColumns += ",";
}
String cfgIndexInfoNoExport = "," + hColumns;
noExportMap.put("p2p_control", cfgIndexInfoNoExport);
dataMap.put("p2p_control", list);
/* } */
if ("csv".equals(type)) {
this._exportCsv(model, request, response, redirectAttributes, "p2p_control", titleList, classMap,
dataMap, noExportMap);
} else {
this._export(model, request, response, redirectAttributes, "p2p_control", titleList, classMap, dataMap,
noExportMap);
}
} catch (Exception e) {
logger.error("p2p_control export failed", e);
addMessage(redirectAttributes, "error", "export_failed");
}
}
}

View File

@@ -1,5 +1,6 @@
package com.nis.web.controller.log.ntc;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -12,6 +13,7 @@ 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 org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -20,6 +22,8 @@ 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.SysUser;
import com.nis.domain.log.NtcSslLog;
import com.nis.domain.log.NtcSshLog;
import com.nis.domain.log.NtcSslLog;
import com.nis.domain.maat.LogRecvData;
@@ -28,35 +32,39 @@ import com.nis.util.DictUtils;
import com.nis.util.StringUtils;
import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController;
import com.nis.web.security.UserUtils;
@Controller
@RequestMapping("${adminPath}/log/ntc/sslLogs")
@SuppressWarnings("all")
public class SslLogController extends BaseController {
@RequestMapping(value = {"/list"})
public String list(HttpServletRequest request, HttpServletResponse response, Model model, @ModelAttribute("log")NtcSslLog ntcSslLog) {
PageLog<NtcSslLog> page = new PageLog<NtcSslLog>(request,response);
Map<String, Object> params = new HashMap<String,Object>();
@RequestMapping(value = { "/list" })
public String list(HttpServletRequest request, HttpServletResponse response, Model model,
@ModelAttribute("log") NtcSslLog ntcSslLog) {
PageLog<NtcSslLog> page = new PageLog<NtcSslLog>(request, response);
Map<String, Object> params = new HashMap<String, Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
// 请求参数判断
initLogSearchValue(ntcSslLog, params);
if(StringUtils.isNotBlank(ntcSslLog.getSni())) {
if (StringUtils.isNotBlank(ntcSslLog.getSni())) {
params.put("SearchSni", ntcSslLog.getSni());
}
}
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(ntcSslLog.getFunctionId());
model.addAttribute("serviceList", serviceList);
try {
// 请求接口
String url = Constants.LOG_BASE_URL + Constants.NTC_SSL_LOG;
String resJson = HttpClientUtil.getMsg(url, params, request);
Gson gson = new GsonBuilder().create();
LogRecvData<NtcSslLog> fromJson = gson.fromJson(resJson, new TypeToken<LogRecvData<NtcSslLog>>() {}.getType());
if(fromJson.getStatus().intValue() == 200) {
LogRecvData<NtcSslLog> fromJson = gson.fromJson(resJson, new TypeToken<LogRecvData<NtcSslLog>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<NtcSslLog> data = fromJson.getData();
page.setCount(data.getCount());
page.setLast(data.getLast());
@@ -64,7 +72,7 @@ public class SslLogController extends BaseController {
List<NtcSslLog> list = page.getList();
for (NtcSslLog log : list) {
log.setFunctionId(ntcSslLog.getFunctionId());
setLogAction(log,serviceList);
setLogAction(log, serviceList);
}
model.addAttribute("page", page);
}
@@ -72,7 +80,71 @@ public class SslLogController extends BaseController {
logger.error("SSL日志查询失败", e);
addMessageLog(model, e.getMessage());
}
return "/log/ntc/sslLogList";
}
// Ssl配置导出
@RequestMapping(value = "exportSsl")
public void exportSsl(@ModelAttribute("log") NtcSslLog log, Model model, String hColumns, String type,
HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) {
System.out.println("进来了ssl");
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>();
// ---------------------------
PageLog<NtcSslLog> page = new PageLog<NtcSslLog>(request, response);
page.setPageNo(1);
page.setPageSize(Constants.MAX_LOG_EXPORT_SIZE);
Map<String, Object> params = new HashMap<String, Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
initLogSearchValue(log, params);
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId());
model.addAttribute("serviceList", serviceList);
String url = Constants.LOG_BASE_URL + Constants.NTC_SSL_LOG;
String recv = HttpClientUtil.getMsg(url, params, request);
List<NtcSslLog> list = new ArrayList<NtcSslLog>();
if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create();
LogRecvData<NtcSslLog> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcSslLog>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<NtcSslLog> data = fromJson.getData();
list = data.getList();
}
}
for (NtcSslLog l : list) {
l.setFunctionId(log.getFunctionId());
setLogAction(l, serviceList);
}
titleList.add("ssl_control");
classMap.put("ssl_control", NtcSslLog.class);
SysUser user = UserUtils.getUser();
if (!user.isAdmin()) {
hColumns += ",scene_file,";
} else {
hColumns += ",";
}
String cfgIndexInfoNoExport = "," + hColumns;
noExportMap.put("ssl_control", cfgIndexInfoNoExport);
dataMap.put("ssl_control", list);
/* } */
if ("csv".equals(type)) {
this._exportCsv(model, request, response, redirectAttributes, "ssl_control", titleList, classMap, dataMap,
noExportMap);
} else {
this._export(model, request, response, redirectAttributes, "ssl_control", titleList, classMap, dataMap,
noExportMap);
}
} catch (Exception e) {
logger.error("ssl_control export failed", e);
addMessage(redirectAttributes, "error", "export_failed");
}
}
}

View File

@@ -127,6 +127,16 @@
<button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/><i class="fa fa-angle-double-down"></i></button>
</div>
<div class="pull-right">
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-wrench"></i> <spring:message code="export"></spring:message>
<i class="fa fa-angle-down"></i>
</button>
<ul class="dropdown-menu pull-right" style="min-width: 110px;" >
<li><sys:delRow url="${ctx}/log/ntc/other/bgpLogs/exportBgp?type=excel" searchUrl="${ctx}/log/ntc/other/bgpLogs" id="contentTable" maxRow="10000" label="excel"></sys:delRow></li>
<li><sys:delRow url="${ctx}/log/ntc/other/bgpLogs/exportBgp?type=csv" searchUrl="${ctx}/log/ntc/other/bgpLogs" id="contentTable" maxRow="10000" label="csv"></sys:delRow></li>
</ul>
</div>
<a class="btn btn-icon-only btn-default setfields tooltips"
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
<i class="icon-wrench"></i>
@@ -211,40 +221,40 @@
<thead>
<tr>
<th><spring:message code="log"/></th>
<th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
<th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
<th class="sort-column found_time"><spring:message code="found_time"/></th>
<th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
<th class="sort-column cfg_id " isVisible="false" column="cfg_id" ><spring:message code="cfg_id"/></th>
<th class="sort-column service" isVisible="false" column="action"><spring:message code="action"/></th>
<th class="sort-column found_time" column="found_time"><spring:message code="found_time"/></th>
<th class="sort-column recv_time" isVisible="false" column="recv_time"><spring:message code="recv_time"/></th>
<th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
<th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
<th class="sort-column trans_proto"><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column addr_type"><spring:message code='addr_type'/></th>
<th class="sort-column d_ip"><spring:message code="server_ip"/></th>
<th class="sort-column s_ip"><spring:message code="client_ip"/></th>
<th class="sort-column d_port"><spring:message code="server_port"/></th>
<th class="sort-column s_port"><spring:message code="client_port"/></th>
<th class="sort-column entrance_id" isVisible="false" column="entrance_id"><spring:message code="entrance_id"/></th>
<th class="sort-column cap_ip" isVisible="false" column="clj_ip"><spring:message code="clj_ip"/></th>
<th class="sort-column trans_proto" column="transport_layer_protocol"><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column addr_type" column="addr_type"><spring:message code='addr_type'/></th>
<th class="sort-column d_ip" column="server_ip"><spring:message code="server_ip"/></th>
<th class="sort-column s_ip" column="client_ip"><spring:message code="client_ip"/></th>
<th class="sort-column d_port" column="server_port"><spring:message code="server_port"/></th>
<th class="sort-column s_port" column="client_port"><spring:message code="client_port"/></th>
<th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
<th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
<th class="sort-column encap_type"><spring:message code="encap_type"/></th>
<th class="sort-column direction"><spring:message code="direction"/></th>
<th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
<th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
<th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
<th class="sort-column device_id" isVisible="false" column="deviceid"><spring:message code="deviceid"/></th>
<th class="sort-column link_id" isVisible="false" column="link_id"><spring:message code="link_id"/></th>
<th class="sort-column encap_type" column="encap_type"><spring:message code="encap_type"/></th>
<th class="sort-column direction" column="direction"><spring:message code="direction"/></th>
<th class="sort-column inner_smac" column="inner_smac"><spring:message code="inner_smac"/></th>
<th class="sort-column inner_dmac" column="inner_dmac"><spring:message code="inner_dmac"/></th>
<th class="sort-column stream_dir" column="stream_type"><spring:message code="stream_type"/></th>
<th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
<th class="sort-column server_locate"><spring:message code='server_locate'/></th>
<th class="sort-column client_locate"><spring:message code='client_locate'/></th>
<th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
<th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
<th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
<th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
<th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
<th class="sort-column type"><spring:message code='message_type'/></th>
<th class="sort-column as_num"><spring:message code='as'/></th>
<th class="sort-column route"><spring:message code='route'/></th>
<th class="sort-column addr_list" column="nest_addr_list"><spring:message code="nest_addr_list"/></th>
<th class="sort-column server_locate" column="server_locate"><spring:message code='server_locate'/></th>
<th class="sort-column client_locate" column="client_locate"><spring:message code='client_locate'/></th>
<th class="sort-column s_asn" isVisible="false" column="s_asn"><spring:message code='s_asn'/></th>
<th class="sort-column d_asn" isVisible="false" column="d_asn"><spring:message code='d_asn'/></th>
<th class="sort-column s_subscribe_id" isVisible="false" column="s_subscribe_id"><spring:message code='s_subscribe_id'/></th>
<th class="sort-column d_subscribe_id" isVisible="false" column="d_subscribe_id"><spring:message code='d_subscribe_id'/></th>
<th class="sort-column user_region" isVisible="false" column="user_region"><spring:message code='user_region'/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file" column="scene_file"><spring:message code='scene_file'/></th></c:if>
<th class="sort-column type" column="message_type"><spring:message code='message_type'/></th>
<th class="sort-column as_num" column="as"><spring:message code='as'/></th>
<th class="sort-column route" column="route"><spring:message code='route'/></th>
</tr>
</thead>
<tbody>

View File

@@ -77,12 +77,22 @@ $(document).ready(function(){
<button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button>
</div>
<div class="pull-right">
<a class="btn btn-icon-only btn-default setfields tooltips"
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
<i class="icon-wrench"></i>
</a>
</div>
<div class="pull-right">
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-wrench"></i> <spring:message code="export"></spring:message>
<i class="fa fa-angle-down"></i>
</button>
<ul class="dropdown-menu pull-right" style="min-width: 110px;" >
<li><sys:delRow url="${ctx}/log/ntc/ntcCollectVoipLogs/exportVoipCollect?type=excel" searchUrl="${ctx}/log/ntc/ntcCollectVoipLogs" id="contentTable" maxRow="10000" label="excel"></sys:delRow></li>
<li><sys:delRow url="${ctx}/log/ntc/ntcCollectVoipLogs/exportVoipCollect?type=csv" searchUrl="${ctx}/log/ntc/ntcCollectVoipLogs" id="contentTable" maxRow="10000" label="csv"></sys:delRow></li>
</ul>
</div>
<a class="btn btn-icon-only btn-default setfields tooltips"
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
<i class="icon-wrench"></i>
</a>
</div>
</div>
<!-- 筛选搜索内容栏默认隐藏-->
@@ -141,36 +151,36 @@ $(document).ready(function(){
<thead>
<tr>
<th><spring:message code="log"/></th>
<th class="sort-column pid"><spring:message code="pid"/></th>
<th class="sort-column found_time"><spring:message code="found_time"/></th>
<th class="sort-column recv_time"><spring:message code="recv_time"/></th>
<th class="sort-column cap_ip"><spring:message code="clj_ip"/></th>
<th class="sort-column voip_protocol"><spring:message code='voip_protocol'/></th>
<th class="sort-column rtp_d_ip"><spring:message code="rtp_d_ip"/></th>
<th class="sort-column rtp_s_ip"><spring:message code="rtp_s_ip"/></th>
<th class="sort-column rtp_d_port"><spring:message code="rtp_d_port"/></th>
<th class="sort-column rtp_s_port"><spring:message code="rtp_s_port"/></th>
<th class="sort-column from_to_store_ip"><spring:message code="from_to_store_ip"/></th>
<th class="sort-column from_to_store_url"><spring:message code="from_to_store_url"/></th>
<th class="sort-column to_from_store_ip"><spring:message code="to_from_store_ip"/></th>
<th class="sort-column to_from_store_url"><spring:message code="to_from_store_url"/></th>
<th class="sort-column pid" column="pid"><spring:message code="pid"/></th>
<th class="sort-column found_time" column="found_time"><spring:message code="found_time"/></th>
<th class="sort-column recv_time" column="recv_time"><spring:message code="recv_time"/></th>
<th class="sort-column cap_ip" column="clj_ip"><spring:message code="clj_ip"/></th>
<th class="sort-column voip_protocol" column="voip_protocol"><spring:message code='voip_protocol'/></th>
<th class="sort-column rtp_d_ip" column="rtp_d_ip"><spring:message code="rtp_d_ip"/></th>
<th class="sort-column rtp_s_ip" column="rtp_s_ip"><spring:message code="rtp_s_ip"/></th>
<th class="sort-column rtp_d_port" column="rtp_d_port"><spring:message code="rtp_d_port"/></th>
<th class="sort-column rtp_s_port" column="rtp_s_port"><spring:message code="rtp_s_port"/></th>
<th class="sort-column from_to_store_ip" column="from_to_store_ip"><spring:message code="from_to_store_ip"/></th>
<th class="sort-column from_to_store_url" column="from_to_store_url"><spring:message code="from_to_store_url"/></th>
<th class="sort-column to_from_store_ip" column="to_from_store_ip"><spring:message code="to_from_store_ip"/></th>
<th class="sort-column to_from_store_url" column="to_from_store_url"><spring:message code="to_from_store_url"/></th>
<th class="sort-column duation"><spring:message code='duation'/></th>
<th class="sort-column sip_d_ip"><spring:message code='sip_d_ip'/></th>
<th class="sort-column sip_s_ip"><spring:message code='sip_s_ip'/></th>
<th class="sort-column sip_d_port"><spring:message code='sip_d_port'/></th>
<th class="sort-column sip_s_port"><spring:message code='sip_s_port'/></th>
<th class="sort-column call_id"><spring:message code='call_id'/></th>
<th class="sort-column request_uri"><spring:message code='request_uri'/></th>
<th class="sort-column calling_account"><spring:message code='calling_account'/></th>
<th class="sort-column called_account"><spring:message code='called_account'/></th>
<th class="sort-column duation" column="duation"><spring:message code='duation'/></th>
<th class="sort-column sip_d_ip" column="sip_d_ip"><spring:message code='sip_d_ip'/></th>
<th class="sort-column sip_s_ip" column="sip_s_ip"><spring:message code='sip_s_ip'/></th>
<th class="sort-column sip_d_port" column="sip_s_port"><spring:message code='sip_d_port'/></th>
<th class="sort-column sip_s_port" column="cfg_id"><spring:message code='sip_s_port'/></th>
<th class="sort-column call_id" column="call_id"><spring:message code='call_id'/></th>
<th class="sort-column request_uri" column="request_uri"><spring:message code='request_uri'/></th>
<th class="sort-column calling_account" column="calling_account"><spring:message code='calling_account'/></th>
<th class="sort-column called_account" column="called_account"><spring:message code='called_account'/></th>
<th class="sort-column contacts">Contacts</th>
<th class="sort-column via">Via</th>
<th class="sort-column route">Route</th>
<th class="sort-column record_route">Record Route</th>
<th class="sort-column user_agent">User Agent</th>
<th class="sort-column server">Server</th>
<th class="sort-column contacts" column="Contacts">Contacts</th>
<th class="sort-column via" column="Via">Via</th>
<th class="sort-column route" column="Route">Route</th>
<th class="sort-column record_route" column=">Record Route">Record Route</th>
<th class="sort-column user_agent" column="User Agent">User Agent</th>
<th class="sort-column server" column="Server">Server</th>
</tr>
</thead>
<tbody>

View File

@@ -141,12 +141,22 @@
<button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
<button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/><i class="fa fa-angle-double-down"></i></button>
</div>
<div class="pull-right">
<a class="btn btn-icon-only btn-default setfields tooltips"
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
<i class="icon-wrench"></i>
</a>
</div>
<div class="pull-right">
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-wrench"></i> <spring:message code="export"></spring:message>
<i class="fa fa-angle-down"></i>
</button>
<ul class="dropdown-menu pull-right" style="min-width: 110px;" >
<li><sys:delRow url="${ctx}/log/ntc/connRecordLogs/exportConnRecord?type=excel" searchUrl="${ctx}/log/ntc/connRecordLogs/list" id="contentTable" maxRow="10000" label="excel"></sys:delRow></li>
<li><sys:delRow url="${ctx}/log/ntc/connRecordLogs/exportConnRecord?type=csv" searchUrl="${ctx}/log/ntc/connRecordLogs/list" id="contentTable" maxRow="10000" label="csv"></sys:delRow></li>
</ul>
</div>
<a class="btn btn-icon-only btn-default setfields tooltips"
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
<i class="icon-wrench"></i>
</a>
</div>
</div>
<!-- 搜索内容与操作按钮栏 -->
@@ -229,42 +239,44 @@
<th><spring:message code="log"/></th>
<%-- <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
<th class="sort-column service" isVisible="false"><spring:message code="action"/></th> --%>
<th class="sort-column found_time"><spring:message code="found_time"/></th>
<th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
<th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
<th class="sort-column found_time" column="found_time"><spring:message code="found_time"/></th>
<th class="sort-column recv_time" isVisible="false" column="recv_time"><spring:message code="recv_time"/></th>
<th class="sort-column entrance_id" isVisible="false" column="entrance_id"><spring:message code="entrance_id"/></th>
<th class="sort-column app_label"><spring:message code='social_app'/></th>
<th class="sort-column c2s_pkt_num"><spring:message code="c2s_pkt_num"/></th>
<th class="sort-column s2c_pkt_num"><spring:message code='s2c_pkt_num'/></th>
<th class="total_pkt_num">Total Pkt</th>
<th class="sort-column c2s_byte_num"><spring:message code="c2s_byte_num"/></th>
<th class="sort-column s2c_byte_num"><spring:message code="s2c_byte_num"/></th>
<th class="Total_byte_num">Total Byte</th>
<th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
<th class="sort-column trans_proto"><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column addr_type"><spring:message code='addr_type'/></th>
<th class="sort-column d_ip"><spring:message code="server_ip"/></th>
<th class="sort-column s_ip"><spring:message code="client_ip"/></th>
<th class="sort-column d_port"><spring:message code="server_port"/></th>
<th class="sort-column s_port"><spring:message code="client_port"/></th>
<th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
<th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
<th class="sort-column encap_type"><spring:message code="encap_type"/></th>
<th class="sort-column direction"><spring:message code="direction"/></th>
<th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
<th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
<th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
<th class="sort-column app_label" column="social_app"><spring:message code='social_app'/></th>
<th class="sort-column c2s_pkt_num" column="c2s_pkt_num"><spring:message code="c2s_pkt_num"/></th>
<th class="sort-column s2c_pkt_num" column="s2c_pkt_num"><spring:message code='s2c_pkt_num'/></th>
<th class="total_pkt_num" column="Total Pkt">Total Pkt</th>
<th class="sort-column c2s_byte_num" column="c2s_byte_num"><spring:message code="c2s_byte_num"/></th>
<th class="sort-column s2c_byte_num" column="s2c_byte_num"><spring:message code="s2c_byte_num"/></th>
<th class="Total_byte_num" column="Total Byte">Total Byte</th>
<th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
<th class="sort-column server_locate"><spring:message code='server_locate'/></th>
<th class="sort-column client_locate"><spring:message code='client_locate'/></th>
<th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
<th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
<th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
<th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
<th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
<th class="sort-column cap_ip" isVisible="false" column="clj_ip"><spring:message code="clj_ip"/></th>
<th class="sort-column trans_proto" column="transport_layer_protocol"><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column addr_type" column="addr_type"><spring:message code='addr_type'/></th>
<th class="sort-column d_ip" column="server_ip"><spring:message code="server_ip"/></th>
<th class="sort-column s_ip" column="client_ip"><spring:message code="client_ip"/></th>
<th class="sort-column d_port" column="server_port"><spring:message code="server_port"/></th>
<th class="sort-column s_port" column="client_port"><spring:message code="client_port"/></th>
<th class="sort-column device_id" isVisible="false" column="deviceid"><spring:message code="deviceid"/></th>
<th class="sort-column link_id" isVisible="false" column="link_id"><spring:message code="link_id"/></th>
<th class="sort-column encap_type" column="encap_type"><spring:message code="encap_type"/></th>
<th class="sort-column direction" column="direction"><spring:message code="direction"/></th>
<th class="sort-column inner_smac" column="inner_smac"><spring:message code="inner_smac"/></th>
<th class="sort-column inner_dmac" column="inner_dmac"><spring:message code="inner_dmac"/></th>
<th class="sort-column stream_dir" column="stream_type"><spring:message code="stream_type"/></th>
<th class="sort-column addr_list" column="nest_addr_list"><spring:message code="nest_addr_list"/></th>
<th class="sort-column server_locate" column="server_locate"><spring:message code='server_locate'/></th>
<th class="sort-column client_locate" column="client_locate"><spring:message code='client_locate'/></th>
<th class="sort-column s_asn" isVisible="false" column="s_asn"><spring:message code='s_asn'/></th>
<th class="sort-column d_asn" isVisible="false" column="d_asn"><spring:message code='d_asn'/></th>
<th class="sort-column s_subscribe_id" isVisible="false" column="s_subscribe_id"><spring:message code='s_subscribe_id'/></th>
<th class="sort-column d_subscribe_id" isVisible="false" column="d_subscribe_id"><spring:message code='d_subscribe_id'/></th>
<th class="sort-column user_region" isVisible="false" column="user_region"><spring:message code='user_region'/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file" column="scene_file"><spring:message code='scene_file'/></th></c:if>
</tr>
</thead>
<tbody>

View File

@@ -128,6 +128,16 @@
<button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/><i class="fa fa-angle-double-down"></i></button>
</div>
<div class="pull-right">
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-wrench"></i> <spring:message code="export"></spring:message>
<i class="fa fa-angle-down"></i>
</button>
<ul class="dropdown-menu pull-right" style="min-width: 110px;" >
<li><sys:delRow url="${ctx}/log/ntc/dns/exportDns?type=excel" searchUrl="${ctx}/log/ntc/dns/list" id="contentTable" maxRow="10000" label="excel"></sys:delRow></li>
<li><sys:delRow url="${ctx}/log/ntc/dns/exportDns?type=csv" searchUrl="${ctx}/log/ntc/dns/list" id="contentTable" maxRow="10000" label="csv"></sys:delRow></li>
</ul>
</div>
<a class="btn btn-icon-only btn-default setfields tooltips"
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
<i class="icon-wrench"></i>
@@ -219,48 +229,48 @@
<thead>
<tr>
<th><spring:message code="log"/></th>
<th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
<th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
<th class="sort-column found_time"><spring:message code="found_time"/></th>
<th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
<th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
<th class="sort-column cfg_id " isVisible="false" column="cfg_id"><spring:message code="cfg_id"/></th>
<th class="sort-column service" isVisible="false" column="action"><spring:message code="action"/></th>
<th class="sort-column found_time" column="found_time"><spring:message code="found_time"/></th>
<th class="sort-column recv_time" isVisible="false" column="recv_time"><spring:message code="recv_time"/></th>
<th class="sort-column entrance_id" isVisible="false" column="entrance_id"><spring:message code="entrance_id"/></th>
<th class="sort-column qr"><spring:message code="qr"/></th>
<th class="sort-column rd"><spring:message code="rd"/></th>
<th class="sort-column ra"><spring:message code="ra"/></th>
<th class="sort-column rr"><spring:message code="rr"/></th>
<th class="sort-column qtype"><spring:message code="qtype"/></th>
<th class="sort-column qclass"><spring:message code="qclass"/></th>
<th class="sort-column opcode"><spring:message code="opcode"/></th>
<th class="sort-column qname"><spring:message code="qname"/></th>
<th class="sort-column cname"><spring:message code="cname"/></th>
<th class="sort-column dns_sub"><spring:message code="dns_sub"/></th>
<th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
<th class="sort-column qr" column="qr"><spring:message code="qr"/></th>
<th class="sort-column rd" column="rd"><spring:message code="rd"/></th>
<th class="sort-column ra" column="ra"><spring:message code="ra"/></th>
<th class="sort-column rr" column="rr"><spring:message code="rr"/></th>
<th class="sort-column qtype" column="qtype"><spring:message code="qtype"/></th>
<th class="sort-column qclass" column="qclass"><spring:message code="qclass"/></th>
<th class="sort-column opcode" column="opcode"><spring:message code="opcode"/></th>
<th class="sort-column qname" column="qname"><spring:message code="qname"/></th>
<th class="sort-column cname" column="cname"><spring:message code="cname"/></th>
<th class="sort-column dns_sub" column="dns_sub"><spring:message code="dns_sub"/></th>
<th class="sort-column trans_proto"><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column addr_type"><spring:message code='addr_type'/></th>
<th class="sort-column d_ip"><spring:message code="server_ip"/></th>
<th class="sort-column s_ip"><spring:message code="client_ip"/></th>
<th class="sort-column d_port"><spring:message code="server_port"/></th>
<th class="sort-column s_port"><spring:message code="client_port"/></th>
<th class="sort-column cap_ip" isVisible="false" column="clj_ip"><spring:message code="clj_ip"/></th>
<th class="sort-column trans_proto" column="transport_layer_protocol"><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column addr_type" column="addr_type"><spring:message code='addr_type'/></th>
<th class="sort-column d_ip" column="server_ip"><spring:message code="server_ip"/></th>
<th class="sort-column s_ip" column="client_ip"><spring:message code="client_ip"/></th>
<th class="sort-column d_port" column="server_port"><spring:message code="server_port"/></th>
<th class="sort-column s_port" column="client_port"><spring:message code="client_port"/></th>
<th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
<th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
<th class="sort-column encap_type"><spring:message code="encap_type"/></th>
<th class="sort-column direction"><spring:message code="direction"/></th>
<th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
<th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
<th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
<th class="sort-column device_id" isVisible="false" column="deviceid"><spring:message code="deviceid"/></th>
<th class="sort-column link_id" isVisible="false" column="link_id"><spring:message code="link_id"/></th>
<th class="sort-column encap_type" column="encap_type"><spring:message code="encap_type"/></th>
<th class="sort-column direction" column="direction"><spring:message code="direction"/></th>
<th class="sort-column inner_smac" column="inner_smac"><spring:message code="inner_smac"/></th>
<th class="sort-column inner_dmac" column="inner_dmac"><spring:message code="inner_dmac"/></th>
<th class="sort-column stream_dir" column="stream_type"><spring:message code="stream_type"/></th>
<th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
<th class="sort-column server_locate"><spring:message code='server_locate'/></th>
<th class="sort-column client_locate"><spring:message code='client_locate'/></th>
<th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
<th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
<th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
<th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
<th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
<th class="sort-column addr_list" column="nest_addr_list"><spring:message code="nest_addr_list"/></th>
<th class="sort-column server_locate" column="server_locate"><spring:message code='server_locate'/></th>
<th class="sort-column client_locate" column="client_locate"><spring:message code='client_locate'/></th>
<th class="sort-column s_asn" isVisible="false" column="s_asn"><spring:message code='s_asn'/></th>
<th class="sort-column d_asn" isVisible="false" column="d_asn"><spring:message code='d_asn'/></th>
<th class="sort-column s_subscribe_id" isVisible="false" column="s_subscribe_id"><spring:message code='s_subscribe_id'/></th>
<th class="sort-column d_subscribe_id" isVisible="false" column="d_subscribe_id"><spring:message code='d_subscribe_id'/></th>
<th class="sort-column user_region" isVisible="false" column="user_region"><spring:message code='user_region'/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file" column="scene_file"><spring:message code='scene_file'/></th></c:if>
</tr>
</thead>
<tbody>

View File

@@ -130,12 +130,22 @@ $(document).ready(function(){
<button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button>
</div>
<div class="pull-right">
<a class="btn btn-icon-only btn-default setfields tooltips"
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
<i class="icon-wrench"></i>
</a>
</div>
<div class="pull-right">
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-wrench"></i> <spring:message code="export"></spring:message>
<i class="fa fa-angle-down"></i>
</button>
<ul class="dropdown-menu pull-right" style="min-width: 110px;" >
<li><sys:delRow url="${ctx}/log/ntc/NtcFtpLogs/exportFtp?type=excel" searchUrl="${ctx}/log/ntc/NtcFtpLogs" id="contentTable" maxRow="10000" label="excel"></sys:delRow></li>
<li><sys:delRow url="${ctx}/log/ntc/NtcFtpLogs/exportFtp?type=csv" searchUrl="${ctx}/log/ntc/NtcFtpLogs" id="contentTable" maxRow="10000" label="csv"></sys:delRow></li>
</ul>
</div>
<a class="btn btn-icon-only btn-default setfields tooltips"
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
<i class="icon-wrench"></i>
</a>
</div>
</div>
<!-- 筛选搜索内容栏默认隐藏-->
@@ -212,40 +222,40 @@ $(document).ready(function(){
<thead>
<tr>
<th><spring:message code="log"/></th>
<th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
<th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
<th class="sort-column found_time"><spring:message code="found_time"/></th>
<th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
<th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
<th class="sort-column cfg_id " isVisible="false" column="cfg_id"><spring:message code="cfg_id"/></th>
<th class="sort-column service" isVisible="false" column="action"><spring:message code="action"/></th>
<th class="sort-column found_time" column="found_time"><spring:message code="found_time"/></th>
<th class="sort-column recv_time" isVisible="false" column="recv_time"><spring:message code="recv_time"/></th>
<th class="sort-column entrance_id" isVisible="false" column="entrance_id"><spring:message code="entrance_id"/></th>
<th class="sort-column ftp_url"><spring:message code='ftp_url'/></th>
<th class="sort-column ftp_content"><spring:message code='ftp_content'/></th>
<th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
<th class="sort-column ftp_url" column="ftp_url"><spring:message code='ftp_url'/></th>
<th class="sort-column ftp_content" column="ftp_content"><spring:message code='ftp_content'/></th>
<th class="sort-column trans_proto"><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column addr_type"><spring:message code='addr_type'/></th>
<th class="sort-column d_ip"><spring:message code="server_ip"/></th>
<th class="sort-column s_ip"><spring:message code="client_ip"/></th>
<th class="sort-column d_port"><spring:message code="server_port"/></th>
<th class="sort-column s_port"><spring:message code="client_port"/></th>
<th class="sort-column cap_ip" isVisible="false" column="clj_ip"><spring:message code="clj_ip"/></th>
<th class="sort-column trans_proto" column="transport_layer_protocol"><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column addr_type" column="addr_type"><spring:message code='addr_type'/></th>
<th class="sort-column d_ip" column="server_ip"><spring:message code="server_ip"/></th>
<th class="sort-column s_ip" column="client_ip"><spring:message code="client_ip"/></th>
<th class="sort-column d_port" column="server_port"><spring:message code="server_port"/></th>
<th class="sort-column s_port" column="client_port"><spring:message code="client_port"/></th>
<th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
<th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
<th class="sort-column encap_type"><spring:message code="encap_type"/></th>
<th class="sort-column direction"><spring:message code="direction"/></th>
<th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
<th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
<th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
<th class="sort-column device_id" isVisible="false" column="deviceid"><spring:message code="deviceid"/></th>
<th class="sort-column link_id" isVisible="false" column="link_id"><spring:message code="link_id"/></th>
<th class="sort-column encap_type" column="encap_type"><spring:message code="encap_type"/></th>
<th class="sort-column direction" column="direction"><spring:message code="direction"/></th>
<th class="sort-column inner_smac" column="inner_smac"><spring:message code="inner_smac"/></th>
<th class="sort-column inner_dmac" column="inner_dmac"><spring:message code="inner_dmac"/></th>
<th class="sort-column stream_dir" column="stream_type"><spring:message code="stream_type"/></th>
<th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
<th class="sort-column server_locate"><spring:message code='server_locate'/></th>
<th class="sort-column client_locate"><spring:message code='client_locate'/></th>
<th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
<th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
<th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
<th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
<th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
<th class="sort-column addr_list" column="nest_addr_list"><spring:message code="nest_addr_list"/></th>
<th class="sort-column server_locate" column="server_locate"><spring:message code='server_locate'/></th>
<th class="sort-column client_locate" column="client_locate"><spring:message code='client_locate'/></th>
<th class="sort-column s_asn" isVisible="false" column="s_asn"><spring:message code='s_asn'/></th>
<th class="sort-column d_asn" isVisible="false" column="d_asn"><spring:message code='d_asn'/></th>
<th class="sort-column s_subscribe_id" isVisible="false" column="s_subscribe_id"><spring:message code='s_subscribe_id'/></th>
<th class="sort-column d_subscribe_id" isVisible="false" column="d_subscribe_id"><spring:message code='d_subscribe_id'/></th>
<th class="sort-column user_region" isVisible="false" column="user_region"><spring:message code='user_region'/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file" column="scene_file"><spring:message code='scene_file'/></th></c:if>
</tr>
</thead>
<tbody>

View File

@@ -154,9 +154,16 @@
<button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/><i class="fa fa-angle-double-down"></i></button>
</div>
<div class="pull-right">
<shiro:hasPermission name="whitelist:domain:config">
<button type="button" class="btn btn-default fa fa-exchange" id="logToUrl"> <spring:message code="log_to_url"/></button>
</shiro:hasPermission>
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-wrench"></i> <spring:message code="export"></spring:message>
<i class="fa fa-angle-down"></i>
</button>
<ul class="dropdown-menu pull-right" style="min-width: 110px;" >
<li><sys:delRow url="${ctx}/log/ntc/httpkey/exportHttpKey?type=excel" searchUrl="${ctx}/log/ntc/httpkey/list" id="contentTable" maxRow="10000" label="excel"></sys:delRow></li>
<li><sys:delRow url="${ctx}/log/ntc/httpkey/exportHttpKey?type=csv" searchUrl="${ctx}/log/ntc/httpkey/list" id="contentTable" maxRow="10000" label="csv"></sys:delRow></li>
</ul>
</div>
<a class="btn btn-icon-only btn-default setfields tooltips"
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
<i class="icon-wrench"></i>
@@ -249,41 +256,40 @@
<thead>
<tr>
<th><input type="checkbox" class="i-checks" id="checkAll"> <spring:message code="log"/></th>
<th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
<th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
<th class="sort-column found_time"><spring:message code="found_time"/></th>
<th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
<th class="sort-column cfg_id " isVisible="false" column="cfg_id"><spring:message code="cfg_id"/></th>
<th class="sort-column service" isVisible="false" column="action"><spring:message code="action"/></th>
<th class="sort-column found_time" column="found_time"><spring:message code="found_time"/></th>
<th class="sort-column recv_time" isVisible="false" column="recv_time"><spring:message code="recv_time"/></th>
<th class="sort-column entrance_id" isVisible="false" column="entrance_id"><spring:message code="entrance_id"/></th>
<th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
<th class="sort-column url" column="URL"> URL &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</th>
<th class="sort-column website" column="website"><spring:message code="website"/></th>
<th class="sort-column url"> URL &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</th>
<th class="sort-column website"><spring:message code="website"/></th>
<th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
<th class="sort-column cap_ip" isVisible="false" column="clj_ip"><spring:message code="clj_ip"/></th>
<th class="sort-column trans_proto" column="transport_layer_protocol"><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column addr_type" column="addr_type"><spring:message code='addr_type'/></th>
<th class="sort-column d_ip" column="server_ip"><spring:message code="server_ip"/></th>
<th class="sort-column s_ip" column="client_ip"><spring:message code="client_ip"/></th>
<th class="sort-column d_port" column="server_port"><spring:message code="server_port"/></th>
<th class="sort-column s_port" column="client_port"><spring:message code="client_port"/></th>
<th class="sort-column trans_proto"><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column addr_type"><spring:message code='addr_type'/></th>
<th class="sort-column d_ip"><spring:message code="server_ip"/></th>
<th class="sort-column s_ip"><spring:message code="client_ip"/></th>
<th class="sort-column d_port"><spring:message code="server_port"/></th>
<th class="sort-column s_port"><spring:message code="client_port"/></th>
<th class="sort-column device_id" isVisible="false" column="deviceid"><spring:message code="deviceid"/></th>
<th class="sort-column link_id" isVisible="false" column="link_id"><spring:message code="link_id"/></th>
<th class="sort-column encap_type" column="encap_type"><spring:message code="encap_type"/></th>
<th class="sort-column direction" column="direction"><spring:message code="direction"/></th>
<th class="sort-column inner_smac" column="inner_smac"><spring:message code="inner_smac"/></th>
<th class="sort-column inner_dmac" column="inner_dmac"><spring:message code="inner_dmac"/></th>
<th class="sort-column stream_dir" column="stream_type"><spring:message code="stream_type"/></th>
<th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
<th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
<th class="sort-column encap_type"><spring:message code="encap_type"/></th>
<th class="sort-column direction"><spring:message code="direction"/></th>
<th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
<th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
<th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
<th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
<th class="sort-column server_locate"><spring:message code='server_locate'/></th>
<th class="sort-column client_locate"><spring:message code='client_locate'/></th>
<th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
<th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
<th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
<th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
<th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
<th class="sort-column addr_list" column="nest_addr_list"><spring:message code="nest_addr_list"/></th>
<th class="sort-column server_locate" column="server_locate"><spring:message code='server_locate'/></th>
<th class="sort-column client_locate" column="client_locate"><spring:message code='client_locate'/></th>
<th class="sort-column s_asn" isVisible="false" column="s_asn"><spring:message code='s_asn'/></th>
<th class="sort-column d_asn" isVisible="false" column="d_asn"><spring:message code='d_asn'/></th>
<th class="sort-column s_subscribe_id" isVisible="false" column="s_subscribe_id"><spring:message code='s_subscribe_id'/></th>
<th class="sort-column d_subscribe_id" isVisible="false" column="d_subscribe_id"><spring:message code='d_subscribe_id'/></th>
<th class="sort-column user_region" isVisible="false" column="user_region"><spring:message code='user_region'/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file" column="scene_file"><spring:message code='scene_file'/></th></c:if>
</tr>
</thead>
<tbody>

View File

@@ -128,6 +128,16 @@
<button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/><i class="fa fa-angle-double-down"></i></button>
</div>
<div class="pull-right">
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-wrench"></i> <spring:message code="export"></spring:message>
<i class="fa fa-angle-down"></i>
</button>
<ul class="dropdown-menu pull-right" style="min-width: 110px;" >
<li><sys:delRow url="${ctx}/log/ntc/http/exportHttp?type=excel" searchUrl="${ctx}/log/ntc/http/list" id="contentTable" maxRow="10000" label="excel"></sys:delRow></li>
<li><sys:delRow url="${ctx}/log/ntc/http/exportHttp?type=csv" searchUrl="${ctx}/log/ntc/http/list" id="contentTable" maxRow="10000" label="csv"></sys:delRow></li>
</ul>
</div>
<a class="btn btn-icon-only btn-default setfields tooltips"
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
<i class="icon-wrench"></i>
@@ -220,50 +230,50 @@
<thead>
<tr>
<th><spring:message code="log"/></th>
<th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
<th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
<th class="sort-column found_time"><spring:message code="found_time"/></th>
<th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
<th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
<th class="sort-column cfg_id " isVisible="false" column="cfg_id"><spring:message code="cfg_id"/></th>
<th class="sort-column service" isVisible="false" column="action"><spring:message code="action"/></th>
<th class="sort-column found_time" column="found_time"><spring:message code="found_time"/></th>
<th class="sort-column recv_time" isVisible="false" column="recv_time"><spring:message code="recv_time"/></th>
<th class="sort-column entrance_id" isVisible="false" column="entrance_id"><spring:message code="entrance_id"/></th>
<th class="sort-column url"> URL &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</th>
<th class="sort-column url" column="URL"> URL &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</th>
<c:if test="${fns:getUser().isAdmin()}">
<th class="sort-column req_hdr_key" isVisible="false"><spring:message code="req_hdr_key"/></th>
<th class="sort-column req_hdr_file"><spring:message code="req_hdr_file"/></th>
<th class="sort-column req_body_key" isVisible="false"><spring:message code="req_body_key"/></th>
<th class="sort-column req_body_file"><spring:message code="req_body_file"/></th>
<th class="sort-column res_hdr_key" isVisible="false"><spring:message code="res_hdr_key"/></th>
<th class="sort-column res_hdr_file"><spring:message code="res_hdr_file"/></th>
<th class="sort-column res_body_key" isVisible="false"><spring:message code="res_body_key"/></th>
<th class="sort-column res_body_file"><spring:message code="res_body_file"/></th>
<th class="sort-column req_hdr_key" isVisible="false" column="req_hdr_key"><spring:message code="req_hdr_key"/></th>
<th class="sort-column req_hdr_file" column="req_hdr_file"><spring:message code="req_hdr_file"/></th>
<th class="sort-column req_body_key" isVisible="false" column="req_body_key"><spring:message code="req_body_key"/></th>
<th class="sort-column req_body_file" column="req_body_file"><spring:message code="req_body_file"/></th>
<th class="sort-column res_hdr_key" isVisible="false" column="res_hdr_key"><spring:message code="res_hdr_key"/></th>
<th class="sort-column res_hdr_file" column="res_hdr_file"><spring:message code="res_hdr_file"/></th>
<th class="sort-column res_body_key" isVisible="false" column="res_body_key"><spring:message code="res_body_key"/></th>
<th class="sort-column res_body_file" column="res_body_file"><spring:message code="res_body_file"/></th>
</c:if>
<th class="sort-column website"><spring:message code="website"/></th>
<th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
<th class="sort-column website" column="website"><spring:message code="website"/></th>
<th class="sort-column cap_ip" isVisible="false" column="clj_ip"><spring:message code="clj_ip"/></th>
<th class="sort-column trans_proto" column="transport_layer_protocol"><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column addr_type" column="addr_type"><spring:message code='addr_type'/></th>
<th class="sort-column d_ip" column="server_ip"><spring:message code="server_ip"/></th>
<th class="sort-column s_ip" column="client_ip"><spring:message code="client_ip"/></th>
<th class="sort-column d_port" column="server_port"><spring:message code="server_port"/></th>
<th class="sort-column s_port" column="client_port"><spring:message code="client_port"/></th>
<th class="sort-column trans_proto"><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column addr_type"><spring:message code='addr_type'/></th>
<th class="sort-column d_ip"><spring:message code="server_ip"/></th>
<th class="sort-column s_ip"><spring:message code="client_ip"/></th>
<th class="sort-column d_port"><spring:message code="server_port"/></th>
<th class="sort-column s_port"><spring:message code="client_port"/></th>
<th class="sort-column device_id" isVisible="false" column="deviceid"><spring:message code="deviceid"/></th>
<th class="sort-column link_id" isVisible="false" column="link_id"><spring:message code="link_id"/></th>
<th class="sort-column encap_type" column="encap_type"><spring:message code="encap_type"/></th>
<th class="sort-column direction" column="direction"><spring:message code="direction"/></th>
<th class="sort-column inner_smac" column="inner_smac"><spring:message code="inner_smac"/></th>
<th class="sort-column inner_dmac" column="inner_dmac"><spring:message code="inner_dmac"/></th>
<th class="sort-column stream_dir" column="stream_type"><spring:message code="stream_type"/></th>
<th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
<th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
<th class="sort-column encap_type"><spring:message code="encap_type"/></th>
<th class="sort-column direction"><spring:message code="direction"/></th>
<th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
<th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
<th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
<th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
<th class="sort-column server_locate"><spring:message code='server_locate'/></th>
<th class="sort-column client_locate"><spring:message code='client_locate'/></th>
<th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
<th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
<th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
<th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
<th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
<th class="sort-column addr_list" column="nest_addr_list"><spring:message code="nest_addr_list"/></th>
<th class="sort-column server_locate" column="server_locate"><spring:message code='server_locate'/></th>
<th class="sort-column client_locate" column="client_locate"><spring:message code='client_locate'/></th>
<th class="sort-column s_asn" isVisible="false" column="s_asn"><spring:message code='s_asn'/></th>
<th class="sort-column d_asn" isVisible="false" column="d_asn"><spring:message code='d_asn'/></th>
<th class="sort-column s_subscribe_id" isVisible="false" column="s_subscribe_id"><spring:message code='s_subscribe_id'/></th>
<th class="sort-column d_subscribe_id" isVisible="false" column="d_subscribe_id"><spring:message code='d_subscribe_id'/></th>
<th class="sort-column user_region" isVisible="false" column="user_region"><spring:message code='user_region'/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file" column="scene_file"><spring:message code='scene_file'/></th></c:if>
</tr>
</thead>
<tbody>

View File

@@ -127,6 +127,16 @@
<button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/><i class="fa fa-angle-double-down"></i></button>
</div>
<div class="pull-right">
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-wrench"></i> <spring:message code="export"></spring:message>
<i class="fa fa-angle-down"></i>
</button>
<ul class="dropdown-menu pull-right" style="min-width: 110px;" >
<li><sys:delRow url="${ctx}/log/ntc/mail/exportMail?type=excel" searchUrl="${ctx}/log/ntc/mail/list" id="contentTable" maxRow="10000" label="excel"></sys:delRow></li>
<li><sys:delRow url="${ctx}/log/ntc/mail/exportMail?type=csv" searchUrl="${ctx}/log/ntc/mail/list" id="contentTable" maxRow="10000" label="csv"></sys:delRow></li>
</ul>
</div>
<a class="btn btn-icon-only btn-default setfields tooltips"
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
<i class="icon-wrench"></i>
@@ -234,43 +244,44 @@
<thead>
<tr>
<th><spring:message code="log"/></th>
<th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
<th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
<th class="sort-column found_time"><spring:message code="found_time"/></th>
<th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
<th class="sort-column cfg_id " isVisible="false" column="cfg_id"><spring:message code="cfg_id"/></th>
<th class="sort-column service" isVisible="false" column="action"><spring:message code="action"/></th>
<th class="sort-column found_time" column="found_time"><spring:message code="found_time"/></th>
<th class="sort-column recv_time" isVisible="false" column="recv_time"><spring:message code="recv_time"/></th>
<th class="sort-column entrance_id" isVisible="false" column="entrance_id"><spring:message code="entrance_id"/></th>
<th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
<th class="sort-column mail_proto" column="mail_proto"><spring:message code="mail_proto"/></th>
<th class="sort-column mail_from" column="mail_from"><spring:message code="mail_from"/></th>
<th class="sort-column mail_to" column="mail_to"><spring:message code="mail_to"/></th>
<th class="sort-column subject" column="subject"><spring:message code="subject"/></th>
<th class="sort-column eml_file" column="eml_file"><spring:message code="eml_file"/></th>
<th class="sort-column eml_key" isVisible="false" column="eml_key"><spring:message code="eml_key"/></th>
<th class="sort-column mail_proto"><spring:message code="mail_proto"/></th>
<th class="sort-column mail_from"><spring:message code="mail_from"/></th>
<th class="sort-column mail_to"><spring:message code="mail_to"/></th>
<th class="sort-column subject"><spring:message code="subject"/></th>
<th class="sort-column eml_file"><spring:message code="eml_file"/></th>
<th class="sort-column eml_key" isVisible="false"><spring:message code="eml_key"/></th>
<th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
<th class="sort-column trans_proto"><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column addr_type"><spring:message code='addr_type'/></th>
<th class="sort-column d_ip"><spring:message code="server_ip"/></th>
<th class="sort-column s_ip"><spring:message code="client_ip"/></th>
<th class="sort-column d_port"><spring:message code="server_port"/></th>
<th class="sort-column s_port"><spring:message code="client_port"/></th>
<th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
<th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
<th class="sort-column encap_type"><spring:message code="encap_type"/></th>
<th class="sort-column direction"><spring:message code="direction"/></th>
<th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
<th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
<th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
<th class="sort-column cap_ip" isVisible="false" column="clj_ip"><spring:message code="clj_ip"/></th>
<th class="sort-column trans_proto" column="transport_layer_protocol"><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column addr_type" column="addr_type"><spring:message code='addr_type'/></th>
<th class="sort-column d_ip" column="server_ip"><spring:message code="server_ip"/></th>
<th class="sort-column s_ip" column="client_ip"><spring:message code="client_ip"/></th>
<th class="sort-column d_port" column="server_port"><spring:message code="server_port"/></th>
<th class="sort-column s_port" column="client_port"><spring:message code="client_port"/></th>
<th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
<th class="sort-column server_locate"><spring:message code='server_locate'/></th>
<th class="sort-column client_locate"><spring:message code='client_locate'/></th>
<th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
<th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
<th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
<th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
<th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
<th class="sort-column device_id" isVisible="false" column="deviceid"><spring:message code="deviceid"/></th>
<th class="sort-column link_id" isVisible="false" column="link_id"><spring:message code="link_id"/></th>
<th class="sort-column encap_type" column="encap_type"><spring:message code="encap_type"/></th>
<th class="sort-column direction" column="direction"><spring:message code="direction"/></th>
<th class="sort-column inner_smac" column="inner_smac"><spring:message code="inner_smac"/></th>
<th class="sort-column inner_dmac" column="inner_dmac"><spring:message code="inner_dmac"/></th>
<th class="sort-column stream_dir" column="stream_type"><spring:message code="stream_type"/></th>
<th class="sort-column addr_list" column="nest_addr_list"><spring:message code="nest_addr_list"/></th>
<th class="sort-column server_locate" column="server_locate"><spring:message code='server_locate'/></th>
<th class="sort-column client_locate" column="client_locate"><spring:message code='client_locate'/></th>
<th class="sort-column s_asn" isVisible="false" column="s_asn"><spring:message code='s_asn'/></th>
<th class="sort-column d_asn" isVisible="false" column="d_asn"><spring:message code='d_asn'/></th>
<th class="sort-column s_subscribe_id" isVisible="false" column="s_subscribe_id"><spring:message code='s_subscribe_id'/></th>
<th class="sort-column d_subscribe_id" isVisible="false" column="d_subscribe_id"><spring:message code='d_subscribe_id'/></th>
<th class="sort-column user_region" isVisible="false" column="user_region"><spring:message code='user_region'/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file" column="scene_file"><spring:message code='scene_file'/></th></c:if>
</tr>
</thead>
<tbody>

View File

@@ -131,12 +131,22 @@ $(document).ready(function(){
<button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button>
</div>
<div class="pull-right">
<a class="btn btn-icon-only btn-default setfields tooltips"
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
<i class="icon-wrench"></i>
</a>
</div>
<div class="pull-right">
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-wrench"></i> <spring:message code="export"></spring:message>
<i class="fa fa-angle-down"></i>
</button>
<ul class="dropdown-menu pull-right" style="min-width: 110px;" >
<li><sys:delRow url="${ctx}/log/ntc/mmVoipIpLogs/exportVoip?type=excel" searchUrl="${ctx}/log/ntc/mmVoipIpLogs" id="contentTable" maxRow="10000" label="excel"></sys:delRow></li>
<li><sys:delRow url="${ctx}/log/ntc/mmVoipIpLogs/exportVoip?type=csv" searchUrl="${ctx}/log/ntc/mmVoipIpLogs" id="contentTable" maxRow="10000" label="csv"></sys:delRow></li>
</ul>
</div>
<a class="btn btn-icon-only btn-default setfields tooltips"
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
<i class="icon-wrench"></i>
</a>
</div>
</div>
<!-- 筛选搜索内容栏默认隐藏-->
@@ -210,54 +220,55 @@ $(document).ready(function(){
<thead>
<tr>
<th><spring:message code="log"/></th>
<th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
<th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
<th class="sort-column found_time"><spring:message code="found_time"/></th>
<th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
<th class="sort-column cfg_id " isVisible="false" column="cfg_id"><spring:message code="cfg_id"/></th>
<th class="sort-column service" isVisible="false" column="action"><spring:message code="action"/></th>
<th class="sort-column found_time" column="found_time"><spring:message code="found_time"/></th>
<th class="sort-column recv_time" isVisible="false" column="recv_time"><spring:message code="recv_time"/></th>
<th class="sort-column entrance_id" isVisible="false" column="entrance_id"><spring:message code="entrance_id"/></th>
<th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column duation"><spring:message code='duation'/></th></c:if>
<th class="sort-column voip_protocol"><spring:message code='voip_protocol'/></th>
<th class="sort-column calling_account"><spring:message code='calling_account'/></th>
<th class="sort-column called_account"><spring:message code='called_account'/></th>
<th class="sort-column calling_number" isVisible="false"><spring:message code='calling_number'/></th>
<th class="sort-column called_number" isVisible="false"><spring:message code='called_number'/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column duation" column="duation"><spring:message code='duation'/></th></c:if>
<th class="sort-column voip_protocol" column="voip_protocol"><spring:message code='voip_protocol'/></th>
<th class="sort-column calling_account" column="calling_account"><spring:message code='calling_account'/></th>
<th class="sort-column called_account" column="called_account"><spring:message code='called_account'/></th>
<th class="sort-column calling_number" isVisible="false" column="calling_number"><spring:message code='calling_number'/></th>
<th class="sort-column called_number" isVisible="false" column="called_number"><spring:message code='called_number'/></th>
<c:if test="${fns:getUser().isAdmin()}">
<th><spring:message code='from_to_store_ip'/></th>
<th><spring:message code='from_to_store_url'/></th>
<th><spring:message code='to_from_store_ip'/></th>
<th><spring:message code='to_from_store_url'/></th>
<th column="from_to_store_ip"><spring:message code='from_to_store_ip'/></th>
<th column="from_to_store_url"><spring:message code='from_to_store_url'/></th>
<th column="to_from_store_ip"><spring:message code='to_from_store_ip'/></th>
<th column="to_from_store_url"><spring:message code='to_from_store_url'/></th>
</c:if>
<th class="sort-column pid" isVisible="false"><spring:message code='pid'/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column log_uri"><spring:message code='log_uri'/></th></c:if>
<th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th>
<th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></th>
<th class="sort-column pid" isVisible="false" column="pid"><spring:message code='pid'/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column log_uri" column="log_uri"><spring:message code='log_uri'/></th></c:if>
<th class="sort-column level" isVisible="false" column="harm_level"><spring:message code='harm_level'/></th>
<th class="sort-column fd_type" isVisible="false" column="fd_type"><spring:message code='fd_type'/></th>
<th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
<th class="sort-column trans_proto"><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column addr_type"><spring:message code='addr_type'/></th>
<th class="sort-column d_ip"><spring:message code="server_ip"/></th>
<th class="sort-column s_ip"><spring:message code="client_ip"/></th>
<th class="sort-column d_port"><spring:message code="server_port"/></th>
<th class="sort-column s_port"><spring:message code="client_port"/></th>
<th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
<th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
<th class="sort-column encap_type"><spring:message code="encap_type"/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column direction"><spring:message code="direction"/></th></c:if>
<th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
<th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
<th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
<th class="sort-column cap_ip" isVisible="false" column="clj_ip"><spring:message code="clj_ip"/></th>
<th class="sort-column trans_proto" column="transport_layer_protocol"><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column addr_type" column="addr_type"><spring:message code='addr_type'/></th>
<th class="sort-column d_ip" column="server_ip"><spring:message code="server_ip"/></th>
<th class="sort-column s_ip" column="client_ip"><spring:message code="client_ip"/></th>
<th class="sort-column d_port" column="server_port"><spring:message code="server_port"/></th>
<th class="sort-column s_port" column="client_port"><spring:message code="client_port"/></th>
<th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
<th class="sort-column server_locate"><spring:message code='server_locate'/></th>
<th class="sort-column client_locate"><spring:message code='client_locate'/></th>
<th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
<th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
<th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
<th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
<th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
<th class="sort-column device_id" isVisible="false" column="deviceid"><spring:message code="deviceid"/></th>
<th class="sort-column link_id" isVisible="false" column="link_id"><spring:message code="link_id"/></th>
<th class="sort-column encap_type" column="encap_type"><spring:message code="encap_type"/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column direction" column="direction"><spring:message code="direction"/></th></c:if>
<th class="sort-column inner_smac" column="inner_smac"><spring:message code="inner_smac"/></th>
<th class="sort-column inner_dmac" column="inner_dmac"><spring:message code="inner_dmac"/></th>
<th class="sort-column stream_dir" column="stream_type"><spring:message code="stream_type"/></th>
<th class="sort-column addr_list" column="nest_addr_list"><spring:message code="nest_addr_list"/></th>
<th class="sort-column server_locate" column="server_locate"><spring:message code='server_locate'/></th>
<th class="sort-column client_locate" column="client_locate"><spring:message code='client_locate'/></th>
<th class="sort-column s_asn" isVisible="false" column="s_asn"><spring:message code='s_asn'/></th>
<th class="sort-column d_asn" isVisible="false" column="d_asn"><spring:message code='d_asn'/></th>
<th class="sort-column s_subscribe_id" isVisible="false" column="s_subscribe_id"><spring:message code='s_subscribe_id'/></th>
<th class="sort-column d_subscribe_id" isVisible="false" column="d_subscribe_id"><spring:message code='d_subscribe_id'/></th>
<th class="sort-column user_region" isVisible="false" column="user_region"><spring:message code='user_region'/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file" column="scene_file"><spring:message code='scene_file'/></th></c:if>
</tr>
</thead>
<tbody>

View File

@@ -130,12 +130,22 @@ $(document).ready(function(){
<button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button>
</div>
<div class="pull-right">
<a class="btn btn-icon-only btn-default setfields tooltips"
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
<i class="icon-wrench"></i>
</a>
</div>
<div class="pull-right">
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-wrench"></i> <spring:message code="export"></spring:message>
<i class="fa fa-angle-down"></i>
</button>
<ul class="dropdown-menu pull-right" style="min-width: 110px;" >
<li><sys:delRow url="${ctx}/log/ntc/mmAvUrlLogs/exportAvUrl?type=excel" searchUrl="${ctx}/log/ntc/mmAvUrlLogs" id="contentTable" maxRow="10000" label="excel"></sys:delRow></li>
<li><sys:delRow url="${ctx}/log/ntc/mmAvUrlLogs/exportAvUrl?type=csv" searchUrl="${ctx}/log/ntc/mmAvUrlLogs" id="contentTable" maxRow="10000" label="csv"></sys:delRow></li>
</ul>
</div>
<a class="btn btn-icon-only btn-default setfields tooltips"
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
<i class="icon-wrench"></i>
</a>
</div>
</div>
<!-- 筛选搜索内容栏默认隐藏-->
@@ -209,38 +219,40 @@ $(document).ready(function(){
<thead>
<tr>
<th><spring:message code="log"/></th>
<th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
<th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
<th class="sort-column found_time"><spring:message code="found_time"/></th>
<th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
<th class="sort-column cfg_id " isVisible="false" column="cfg_id"><spring:message code="cfg_id"/></th>
<th class="sort-column service" isVisible="false" column="action"><spring:message code="action"/></th>
<th class="sort-column found_time" column="found_time"><spring:message code="found_time"/></th>
<th class="sort-column recv_time" isVisible="false" column="recv_time"><spring:message code="recv_time"/></th>
<th class="sort-column entrance_id" isVisible="false" column="entrance_id"><spring:message code="entrance_id"/></th>
<th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
<th class="sort-column url"><spring:message code='access_url'/></th>
<th><spring:message code='stream_media_protocol'/></th>
<th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
<th class="sort-column trans_proto"><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column addr_type"><spring:message code='addr_type'/></th>
<th class="sort-column d_ip"><spring:message code="server_ip"/></th>
<th class="sort-column s_ip"><spring:message code="client_ip"/></th>
<th class="sort-column d_port"><spring:message code="server_port"/></th>
<th class="sort-column s_port"><spring:message code="client_port"/></th>
<th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
<th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
<th class="sort-column encap_type"><spring:message code="encap_type"/></th>
<th class="sort-column direction"><spring:message code="direction"/></th>
<th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
<th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
<th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
<th class="sort-column url" column="access_url"><spring:message code='access_url'/></th>
<th column="stream_media_protocol"><spring:message code='stream_media_protocol'/></th>
<th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
<th class="sort-column server_locate"><spring:message code='server_locate'/></th>
<th class="sort-column client_locate"><spring:message code='client_locate'/></th>
<th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
<th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
<th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
<th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
<th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
<th class="sort-column cap_ip" isVisible="false" column="clj_ip"><spring:message code="clj_ip"/></th>
<th class="sort-column trans_proto" column="transport_layer_protocol"><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column addr_type" column="addr_type"><spring:message code='addr_type'/></th>
<th class="sort-column d_ip" column="server_ip"><spring:message code="server_ip"/></th>
<th class="sort-column s_ip" column="client_ip"><spring:message code="client_ip"/></th>
<th class="sort-column d_port" column="server_port"><spring:message code="server_port"/></th>
<th class="sort-column s_port" column="client_port"><spring:message code="client_port"/></th>
<th class="sort-column device_id" isVisible="false" column="deviceid"><spring:message code="deviceid"/></th>
<th class="sort-column link_id" isVisible="false" column="link_id"><spring:message code="link_id"/></th>
<th class="sort-column encap_type" column="encap_type"><spring:message code="encap_type"/></th>
<th class="sort-column direction" column="direction"><spring:message code="direction"/></th>
<th class="sort-column inner_smac" column="inner_smac"><spring:message code="inner_smac"/></th>
<th class="sort-column inner_dmac" column="inner_dmac"><spring:message code="inner_dmac"/></th>
<th class="sort-column stream_dir" column="stream_type"><spring:message code="stream_type"/></th>
<th class="sort-column addr_list" column="nest_addr_list"><spring:message code="nest_addr_list"/></th>
<th class="sort-column server_locate" column="server_locate"><spring:message code='server_locate'/></th>
<th class="sort-column client_locate" column="client_locate"><spring:message code='client_locate'/></th>
<th class="sort-column s_asn" isVisible="false" column="s_asn"><spring:message code='s_asn'/></th>
<th class="sort-column d_asn" isVisible="false" column="d_asn"><spring:message code='d_asn'/></th>
<th class="sort-column s_subscribe_id" isVisible="false" column="s_subscribe_id"><spring:message code='s_subscribe_id'/></th>
<th class="sort-column d_subscribe_id" isVisible="false" column="d_subscribe_id"><spring:message code='d_subscribe_id'/></th>
<th class="sort-column user_region" isVisible="false" column="user_region"><spring:message code='user_region'/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file" column="scene_file"><spring:message code='scene_file'/></th></c:if>
</tr>
</thead>
<tbody>

View File

@@ -127,6 +127,16 @@
<button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/><i class="fa fa-angle-double-down"></i></button>
</div>
<div class="pull-right">
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-wrench"></i> <spring:message code="export"></spring:message>
<i class="fa fa-angle-down"></i>
</button>
<ul class="dropdown-menu pull-right" style="min-width: 110px;" >
<li><sys:delRow url="${ctx}/log/ntc/p2pLogs/exportP2p?type=excel" searchUrl="${ctx}/log/ntc/p2pLogs" id="contentTable" maxRow="10000" label="excel"></sys:delRow></li>
<li><sys:delRow url="${ctx}/log/ntc/p2pLogs/exportP2p?type=csv" searchUrl="${ctx}/log/ntc/p2pLogs" id="contentTable" maxRow="10000" label="csv"></sys:delRow></li>
</ul>
</div>
<a class="btn btn-icon-only btn-default setfields tooltips"
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
<i class="icon-wrench"></i>
@@ -211,40 +221,41 @@
<thead>
<tr>
<th><spring:message code="log"/></th>
<th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
<th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
<th class="sort-column found_time"><spring:message code="found_time"/></th>
<th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
<th class="sort-column cfg_id " isVisible="false" column="cfg_id"><spring:message code="cfg_id"/></th>
<th class="sort-column service" isVisible="false" column="action"><spring:message code="action"/></th>
<th class="sort-column found_time" column="found_time"><spring:message code="found_time"/></th>
<th class="sort-column recv_time" isVisible="false" column="recv_time"><spring:message code="recv_time"/></th>
<th class="sort-column entrance_id" isVisible="false" column="entrance_id"><spring:message code="entrance_id"/></th>
<th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
<th class="sort-column p2p_proto" column="p2p_proto"><spring:message code="p2p_proto"/></th>
<th class="sort-column p2p_file_id" column="p2p_file_id"><spring:message code="p2p_file_id"/></th>
<th class="sort-column p2p_keyword" column="p2p_keyword"><spring:message code="p2p_keyword"/></th>
<th class="sort-column p2p_proto"><spring:message code="p2p_proto"/></th>
<th class="sort-column p2p_file_id"><spring:message code="p2p_file_id"/></th>
<th class="sort-column p2p_keyword"><spring:message code="p2p_keyword"/></th>
<th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
<th class="sort-column trans_proto"><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column addr_type"><spring:message code='addr_type'/></th>
<th class="sort-column d_ip"><spring:message code="server_ip"/></th>
<th class="sort-column s_ip"><spring:message code="client_ip"/></th>
<th class="sort-column d_port"><spring:message code="server_port"/></th>
<th class="sort-column s_port"><spring:message code="client_port"/></th>
<th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
<th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
<th class="sort-column encap_type"><spring:message code="encap_type"/></th>
<th class="sort-column direction"><spring:message code="direction"/></th>
<th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
<th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
<th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
<th class="sort-column cap_ip" isVisible="false" column="clj_ip"><spring:message code="clj_ip"/></th>
<th class="sort-column trans_proto" column="transport_layer_protocol"><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column addr_type" column="addr_type"><spring:message code='addr_type'/></th>
<th class="sort-column d_ip" column="server_ip"><spring:message code="server_ip"/></th>
<th class="sort-column s_ip" column="client_ip"><spring:message code="client_ip"/></th>
<th class="sort-column d_port" column="server_port"><spring:message code="server_port"/></th>
<th class="sort-column s_port" column="client_port"><spring:message code="client_port"/></th>
<th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
<th class="sort-column server_locate"><spring:message code='server_locate'/></th>
<th class="sort-column client_locate"><spring:message code='client_locate'/></th>
<th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
<th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
<th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
<th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
<th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
<th class="sort-column device_id" isVisible="false" column="deviceid"><spring:message code="deviceid"/></th>
<th class="sort-column link_id" isVisible="false" column="link_id"><spring:message code="link_id"/></th>
<th class="sort-column encap_type" column="encap_type"><spring:message code="encap_type"/></th>
<th class="sort-column direction" column="direction"><spring:message code="direction"/></th>
<th class="sort-column inner_smac" column="inner_smac"><spring:message code="inner_smac"/></th>
<th class="sort-column inner_dmac" column="inner_dmac"><spring:message code="inner_dmac"/></th>
<th class="sort-column stream_dir" column="stream_type"><spring:message code="stream_type"/></th>
<th class="sort-column addr_list" column="nest_addr_list"><spring:message code="nest_addr_list"/></th>
<th class="sort-column server_locate" column="server_locate"><spring:message code='server_locate'/></th>
<th class="sort-column client_locate" column="client_locate"><spring:message code='client_locate'/></th>
<th class="sort-column s_asn" isVisible="false" column="s_asn"><spring:message code='s_asn'/></th>
<th class="sort-column d_asn" isVisible="false" column="d_asn"><spring:message code='d_asn'/></th>
<th class="sort-column s_subscribe_id" isVisible="false" column="s_subscribe_id"><spring:message code='s_subscribe_id'/></th>
<th class="sort-column d_subscribe_id" isVisible="false" column="d_subscribe_id"><spring:message code='d_subscribe_id'/></th>
<th class="sort-column user_region" isVisible="false" column="user_region"><spring:message code='user_region'/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file" column="scene_file"><spring:message code='scene_file'/></th></c:if>
</tr>
</thead>
<tbody>

View File

@@ -144,12 +144,21 @@
</div>
<div class="pull-right">
<a class="btn btn-icon-only btn-default setfields tooltips"
data-container="body" data-placement="top"
data-original-title=<spring:message code="custom_columns"/>
href="javascript:;"> <i class="icon-wrench"></i>
</a>
</div>
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-wrench"></i> <spring:message code="export"></spring:message>
<i class="fa fa-angle-down"></i>
</button>
<ul class="dropdown-menu pull-right" style="min-width: 110px;" >
<li><sys:delRow url="${ctx}/log/ntc/sslLogs/exportSsl?type=excel" searchUrl="${ctx}/log/ntc/sslLogs/list" id="contentTable" maxRow="10000" label="excel"></sys:delRow></li>
<li><sys:delRow url="${ctx}/log/ntc/sslLogs/exportSsl?type=csv" searchUrl="${ctx}/log/ntc/sslLogs/list" id="contentTable" maxRow="10000" label="csv"></sys:delRow></li>
</ul>
</div>
<a class="btn btn-icon-only btn-default setfields tooltips"
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
<i class="icon-wrench"></i>
</a>
</div>
</div>
<!-- /搜索内容与操作按钮栏-->
@@ -224,41 +233,43 @@
<thead>
<tr>
<th><spring:message code="log"/></th>
<th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
<th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
<th class="sort-column found_time"><spring:message code="found_time"/></th>
<th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
<th class="sort-column cfg_id " isVisible="false" column="cfg_id"><spring:message code="cfg_id"/></th>
<th class="sort-column service" isVisible="false" column="action"><spring:message code="action"/></th>
<th class="sort-column found_time" column="found_time"><spring:message code="found_time"/></th>
<th class="sort-column recv_time" isVisible="false" column="recv_time"><spring:message code="recv_time"/></th>
<th class="sort-column entrance_id" isVisible="false" column="entrance_id"><spring:message code="entrance_id"/></th>
<th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
<th class="sort-column version" column="version"><spring:message code="version" /></th>
<th class="sort-column sni" column="SNI">SNI</th>
<th class="sort-column san" column="SAN">SAN</th>
<th class="sort-column cn" column="CN">CN</th>
<th class="sort-column version"><spring:message code="version" /></th>
<th class="sort-column sni">SNI</th>
<th class="sort-column san">SAN</th>
<th class="sort-column cn">CN</th>
<th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
<th class="sort-column trans_proto"><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column addr_type"><spring:message code='addr_type'/></th>
<th class="sort-column d_ip"><spring:message code="server_ip"/></th>
<th class="sort-column s_ip"><spring:message code="client_ip"/></th>
<th class="sort-column d_port"><spring:message code="server_port"/></th>
<th class="sort-column s_port"><spring:message code="client_port"/></th>
<th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
<th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
<th class="sort-column encap_type"><spring:message code="encap_type"/></th>
<th class="sort-column direction"><spring:message code="direction"/></th>
<th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
<th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
<th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
<th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
<th class="sort-column server_locate"><spring:message code='server_locate'/></th>
<th class="sort-column client_locate"><spring:message code='client_locate'/></th>
<th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
<th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
<th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
<th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
<th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
<th class="sort-column cap_ip" isVisible="false" column="clj_ip"><spring:message code="clj_ip"/></th>
<th class="sort-column trans_proto" column="transport_layer_protocol"><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column addr_type" column="addr_type"><spring:message code='addr_type'/></th>
<th class="sort-column d_ip" column="server_ip"><spring:message code="server_ip"/></th>
<th class="sort-column s_ip" column="client_ip"><spring:message code="client_ip"/></th>
<th class="sort-column d_port" column="server_port"><spring:message code="server_port"/></th>
<th class="sort-column s_port" column="client_port"><spring:message code="client_port"/></th>
<th class="sort-column device_id" isVisible="false" column="deviceid"><spring:message code="deviceid"/></th>
<th class="sort-column link_id" isVisible="false" column="link_id"><spring:message code="link_id"/></th>
<th class="sort-column encap_type" column="encap_type"><spring:message code="encap_type"/></th>
<th class="sort-column direction" column="direction"><spring:message code="direction"/></th>
<th class="sort-column inner_smac" column="inner_smac"><spring:message code="inner_smac"/></th>
<th class="sort-column inner_dmac" column="inner_dmac"><spring:message code="inner_dmac"/></th>
<th class="sort-column stream_dir" column="stream_type"><spring:message code="stream_type"/></th>
<th class="sort-column addr_list" column="nest_addr_list"><spring:message code="nest_addr_list"/></th>
<th class="sort-column server_locate" column="server_locate"><spring:message code='server_locate'/></th>
<th class="sort-column client_locate" column="client_locate"><spring:message code='client_locate'/></th>
<th class="sort-column s_asn" isVisible="false" column="s_asn"><spring:message code='s_asn'/></th>
<th class="sort-column d_asn" isVisible="false" column="d_asn"><spring:message code='d_asn'/></th>
<th class="sort-column s_subscribe_id" isVisible="false" column="s_subscribe_id"><spring:message code='s_subscribe_id'/></th>
<th class="sort-column d_subscribe_id" isVisible="false" column="d_subscribe_id"><spring:message code='d_subscribe_id'/></th>
<th class="sort-column user_region" isVisible="false" column="user_region"><spring:message code='user_region'/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file" column="scene_file"><spring:message code='scene_file'/></th></c:if>
</tr>
</thead>
<tbody>