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

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,22 +1,29 @@
package com.nis.domain.log; package com.nis.domain.log;
import com.nis.util.excel.ExcelField;
public class NtcKeywordsUrlLog extends BaseLogEntity<NtcKeywordsUrlLog> { public class NtcKeywordsUrlLog extends BaseLogEntity<NtcKeywordsUrlLog> {
private static final long serialVersionUID = -7697668215327123848L; private static final long serialVersionUID = -7697668215327123848L;
@ExcelField(title = "URL", sort = 8)
private String url; private String url;
private String website;//域名
@ExcelField(title = "website", sort = 9)
private String website;// 域名
public String getUrl() { public String getUrl() {
return url; return url;
} }
public void setUrl(String url) { public void setUrl(String url) {
this.url = url; this.url = url;
} }
public String getWebsite() { public String getWebsite() {
return website; return website;
} }
public void setWebsite(String website) { public void setWebsite(String website) {
this.website = website; this.website = website;
} }

View File

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

View File

@@ -1,32 +1,45 @@
package com.nis.domain.log; 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; private static final long serialVersionUID = -826089417186930465L;
@ExcelField(title = "p2p_proto", sort = 8)
private String p2pProto; private String p2pProto;
@ExcelField(title = "p2p_file_id", sort = 9)
private String p2pFileId; private String p2pFileId;
@ExcelField(title = "p2p_keyword", sort = 10)
private String p2pKeyword; private String p2pKeyword;
public String getP2pProto() { public String getP2pProto() {
return p2pProto; return p2pProto;
} }
public void setP2pProto(String p2pProto) { public void setP2pProto(String p2pProto) {
this.p2pProto = p2pProto; this.p2pProto = p2pProto;
} }
public String getP2pFileId() { public String getP2pFileId() {
return p2pFileId; return p2pFileId;
} }
public void setP2pFileId(String p2pFileId) { public void setP2pFileId(String p2pFileId) {
this.p2pFileId = p2pFileId; this.p2pFileId = p2pFileId;
} }
public String getP2pKeyword() { public String getP2pKeyword() {
return p2pKeyword; return p2pKeyword;
} }
public void setP2pKeyword(String p2pKeyword) { public void setP2pKeyword(String p2pKeyword) {
this.p2pKeyword = p2pKeyword; this.p2pKeyword = p2pKeyword;
} }
} }

View File

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

View File

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

View File

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

View File

@@ -1,5 +1,6 @@
package com.nis.web.controller.log.ntc; package com.nis.web.controller.log.ntc;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -13,6 +14,7 @@ import org.springframework.stereotype.Controller;
import org.springframework.ui.Model; import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
@@ -20,20 +22,24 @@ import com.google.gson.reflect.TypeToken;
import com.nis.domain.FunctionServiceDict; import com.nis.domain.FunctionServiceDict;
import com.nis.domain.Page; import com.nis.domain.Page;
import com.nis.domain.PageLog; import com.nis.domain.PageLog;
import com.nis.domain.SysUser;
import com.nis.domain.log.NtcAppLog; import com.nis.domain.log.NtcAppLog;
import com.nis.domain.log.NtcBGPLog; import com.nis.domain.log.NtcBGPLog;
import com.nis.domain.log.NtcCollectRadiusLog;
import com.nis.domain.maat.LogRecvData; import com.nis.domain.maat.LogRecvData;
import com.nis.util.Constants; import com.nis.util.Constants;
import com.nis.util.DictUtils; import com.nis.util.DictUtils;
import com.nis.util.httpclient.HttpClientUtil; import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController; import com.nis.web.controller.BaseController;
import com.nis.web.security.UserUtils;
@Controller @Controller
@RequestMapping("${adminPath}/log/ntc/other/bgpLogs") @RequestMapping("${adminPath}/log/ntc/other/bgpLogs")
public class BgpLogController extends BaseController { public class BgpLogController extends BaseController {
@RequestMapping(value = {"list", ""}) @RequestMapping(value = { "list", "" })
public String list(@ModelAttribute("log") NtcBGPLog log, Model model, HttpServletRequest request, HttpServletResponse response) { public String list(@ModelAttribute("log") NtcBGPLog log, Model model, HttpServletRequest request,
HttpServletResponse response) {
try { try {
PageLog<NtcBGPLog> page = new PageLog<NtcBGPLog>(request, response); PageLog<NtcBGPLog> page = new PageLog<NtcBGPLog>(request, response);
Map<String, Object> params = new HashMap<String, Object>(); Map<String, Object> params = new HashMap<String, Object>();
@@ -43,22 +49,23 @@ public class BgpLogController extends BaseController {
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId()); List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId());
model.addAttribute("serviceList", serviceList); model.addAttribute("serviceList", serviceList);
String url = Constants.LOG_BASE_URL + Constants.NTC_BGP_LOG; String url = Constants.LOG_BASE_URL + Constants.NTC_BGP_LOG;
String recv = HttpClientUtil.getMsg(url, params, request); String recv = HttpClientUtil.getMsg(url, params, request);
if (StringUtils.isNotBlank(recv)) { if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create(); 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) { if (fromJson.getStatus().intValue() == 200) {
Page<NtcBGPLog> data=fromJson.getData(); Page<NtcBGPLog> data = fromJson.getData();
page.setCount(data.getCount()); page.setCount(data.getCount());
page.setLast(data.getLast()); page.setLast(data.getLast());
page.setList(data.getList()); page.setList(data.getList());
List<NtcBGPLog> list = page.getList(); List<NtcBGPLog> list = page.getList();
for (NtcBGPLog l : list) { for (NtcBGPLog l : list) {
l.setFunctionId(log.getFunctionId()); l.setFunctionId(log.getFunctionId());
setLogAction(l,serviceList); setLogAction(l, serviceList);
} }
model.addAttribute("page", page); model.addAttribute("page", page);
} }
@@ -67,8 +74,67 @@ public class BgpLogController extends BaseController {
logger.error("查询失败", e); logger.error("查询失败", e);
addMessageLog(model, e.getMessage()); addMessageLog(model, e.getMessage());
} }
return "/log/ntc/bgpList"; 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; package com.nis.web.controller.log.ntc;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
@@ -17,6 +18,7 @@ import org.springframework.stereotype.Controller;
import org.springframework.ui.Model; import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
@@ -28,7 +30,11 @@ import com.google.gson.reflect.TypeToken;
import com.nis.domain.FunctionServiceDict; import com.nis.domain.FunctionServiceDict;
import com.nis.domain.Page; import com.nis.domain.Page;
import com.nis.domain.PageLog; import com.nis.domain.PageLog;
import com.nis.domain.SysUser;
import com.nis.domain.log.NtcBGPLog; 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.log.NtcCollectVoipLog;
import com.nis.domain.maat.LogRecvData; import com.nis.domain.maat.LogRecvData;
import com.nis.util.CodeDicUtils; import com.nis.util.CodeDicUtils;
@@ -38,13 +44,15 @@ import com.nis.util.DictUtils;
import com.nis.util.httpclient.HttpClientUtil; import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController; import com.nis.web.controller.BaseController;
import com.nis.web.dao.dashboard.codedic.CodeResult; import com.nis.web.dao.dashboard.codedic.CodeResult;
import com.nis.web.security.UserUtils;
@Controller @Controller
@RequestMapping(value = "${adminPath}/log/ntc/ntcCollectVoipLogs") @RequestMapping(value = "${adminPath}/log/ntc/ntcCollectVoipLogs")
public class CollectVoipLogController extends BaseController{ public class CollectVoipLogController extends BaseController {
/** /**
* voip泛收日志 * voip泛收日志
*
* @param model * @param model
* @param entry * @param entry
* @param request * @param request
@@ -53,16 +61,17 @@ public class CollectVoipLogController extends BaseController{
* @throws ClientProtocolException * @throws ClientProtocolException
* @throws IOException * @throws IOException
*/ */
@RequestMapping(value={"list",""}) @RequestMapping(value = { "list", "" })
public String list(Model model,@ModelAttribute("log")NtcCollectVoipLog entry,HttpServletRequest request, HttpServletResponse response) throws ClientProtocolException, IOException { public String list(Model model, @ModelAttribute("log") NtcCollectVoipLog entry, HttpServletRequest request,
HttpServletResponse response) throws ClientProtocolException, IOException {
try { try {
PageLog<NtcCollectVoipLog> page = new PageLog<NtcCollectVoipLog>(request, response); 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("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo()); params.put("pageNo", page.getPageNo());
//查询值判断 // 查询值判断
if (StringUtils.isNotBlank(entry.getSearchFoundStartTime()) if (StringUtils.isNotBlank(entry.getSearchFoundStartTime())
&& StringUtils.isNotBlank(entry.getSearchFoundEndTime())) { && StringUtils.isNotBlank(entry.getSearchFoundEndTime())) {
params.put("searchFoundStartTime", entry.getSearchFoundStartTime()); params.put("searchFoundStartTime", entry.getSearchFoundStartTime());
@@ -118,19 +127,19 @@ public class CollectVoipLogController extends BaseController{
} }
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(entry.getFunctionId()); List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(entry.getFunctionId());
model.addAttribute("serviceList", serviceList); model.addAttribute("serviceList", serviceList);
//获取字典信息 // 获取字典信息
List<CodeResult> protocolList=CodeDicUtils.getCodeList("protocolCode"); List<CodeResult> protocolList = CodeDicUtils.getCodeList("protocolCode");
List<CodeResult> behaviorList=CodeDicUtils.getCodeList("behaviorCode"); List<CodeResult> behaviorList = CodeDicUtils.getCodeList("behaviorCode");
List<CodeResult> appList=CodeDicUtils.getCodeList("appCode"); List<CodeResult> appList = CodeDicUtils.getCodeList("appCode");
model.addAttribute("protocolList", protocolList); model.addAttribute("protocolList", protocolList);
model.addAttribute("behaviorList", behaviorList); model.addAttribute("behaviorList", behaviorList);
model.addAttribute("appList", appList); model.addAttribute("appList", appList);
String url = ""; String url = "";
url = Constants.LOG_BASE_URL+Constants.NTC_COLLECT_VOIP_LOG; url = Constants.LOG_BASE_URL + Constants.NTC_COLLECT_VOIP_LOG;
String jsonString = HttpClientUtil.getMsg(url,params,request); String jsonString = HttpClientUtil.getMsg(url, params, request);
GsonBuilder builder = new GsonBuilder(); GsonBuilder builder = new GsonBuilder();
builder.registerTypeAdapter(Date.class, new JsonDeserializer<Date>() { 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 gson = builder.setDateFormat("yyyy-MM-dd HH:mm:ss").create();
//gson泛型支持 // gson泛型支持
LogRecvData<NtcCollectVoipLog> fromJson = gson.fromJson(jsonString, new TypeToken<LogRecvData<NtcCollectVoipLog>>(){}.getType()); LogRecvData<NtcCollectVoipLog> fromJson = gson.fromJson(jsonString,
new TypeToken<LogRecvData<NtcCollectVoipLog>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) { if (fromJson.getStatus().intValue() == 200) {
Page<NtcCollectVoipLog> data = fromJson.getData(); Page<NtcCollectVoipLog> data = fromJson.getData();
page.setCount(data.getCount()); page.setCount(data.getCount());
@@ -157,5 +168,151 @@ public class CollectVoipLogController extends BaseController{
} }
return "/log/ntc/collectVoipList"; 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; package com.nis.web.controller.log.ntc;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -13,6 +14,7 @@ import org.springframework.stereotype.Controller;
import org.springframework.ui.Model; import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
@@ -21,20 +23,23 @@ import com.google.gson.reflect.TypeToken;
import com.nis.domain.FunctionServiceDict; import com.nis.domain.FunctionServiceDict;
import com.nis.domain.Page; import com.nis.domain.Page;
import com.nis.domain.PageLog; 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.log.NtcDnsLog;
import com.nis.domain.maat.LogRecvData; import com.nis.domain.maat.LogRecvData;
import com.nis.util.Constants; import com.nis.util.Constants;
import com.nis.util.DictUtils; import com.nis.util.DictUtils;
import com.nis.util.httpclient.HttpClientUtil; import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController; import com.nis.web.controller.BaseController;
import com.nis.web.security.UserUtils;
@Controller @Controller
@RequestMapping("${adminPath}/log/ntc/dns") @RequestMapping("${adminPath}/log/ntc/dns")
public class DnsLogController extends BaseController { public class DnsLogController extends BaseController {
@RequestMapping("list") @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 { try {
PageLog<NtcDnsLog> page = new PageLog<NtcDnsLog>(request, response); PageLog<NtcDnsLog> page = new PageLog<NtcDnsLog>(request, response);
Map<String, Object> params = new HashMap<String, Object>(); Map<String, Object> params = new HashMap<String, Object>();
@@ -44,16 +49,17 @@ public class DnsLogController extends BaseController {
params.put("searchQname", log.getQname()); params.put("searchQname", log.getQname());
} }
initLogSearchValue(log, params); initLogSearchValue(log, params);
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId()); List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId());
model.addAttribute("serviceList", serviceList); model.addAttribute("serviceList", serviceList);
String url = Constants.LOG_BASE_URL + Constants.NTC_DNS_LOG; String url = Constants.LOG_BASE_URL + Constants.NTC_DNS_LOG;
String recv = HttpClientUtil.getMsg(url, params, request); String recv = HttpClientUtil.getMsg(url, params, request);
Gson gson = new GsonBuilder().create(); 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) { if (fromJson.getStatus().intValue() == 200) {
Page<NtcDnsLog> data = fromJson.getData(); Page<NtcDnsLog> data = fromJson.getData();
page.setCount(data.getCount()); page.setCount(data.getCount());
@@ -62,7 +68,7 @@ public class DnsLogController extends BaseController {
List<NtcDnsLog> list = page.getList(); List<NtcDnsLog> list = page.getList();
for (NtcDnsLog l : list) { for (NtcDnsLog l : list) {
l.setFunctionId(log.getFunctionId()); l.setFunctionId(log.getFunctionId());
setLogAction(l,serviceList); setLogAction(l, serviceList);
} }
model.addAttribute("page", page); model.addAttribute("page", page);
} }
@@ -70,7 +76,71 @@ public class DnsLogController extends BaseController {
logger.error("查询失败", e); logger.error("查询失败", e);
addMessageLog(model, e.getMessage()); addMessageLog(model, e.getMessage());
} }
return "/log/ntc/dnsList"; 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; package com.nis.web.controller.log.ntc;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -8,12 +9,14 @@ import java.util.Map;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.client.ClientProtocolException; import org.apache.http.client.ClientProtocolException;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.Model; import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
@@ -21,18 +24,21 @@ import com.google.gson.reflect.TypeToken;
import com.nis.domain.FunctionServiceDict; import com.nis.domain.FunctionServiceDict;
import com.nis.domain.Page; import com.nis.domain.Page;
import com.nis.domain.PageLog; import com.nis.domain.PageLog;
import com.nis.domain.SysUser;
import com.nis.domain.log.NtcDnsLog; import com.nis.domain.log.NtcDnsLog;
import com.nis.domain.log.NtcFtpLog; import com.nis.domain.log.NtcFtpLog;
import com.nis.domain.log.NtcFtpLog;
import com.nis.domain.log.NtcOpenVpnLog; import com.nis.domain.log.NtcOpenVpnLog;
import com.nis.domain.maat.LogRecvData; import com.nis.domain.maat.LogRecvData;
import com.nis.util.Constants; import com.nis.util.Constants;
import com.nis.util.DictUtils; import com.nis.util.DictUtils;
import com.nis.util.httpclient.HttpClientUtil; import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController; import com.nis.web.controller.BaseController;
import com.nis.web.security.UserUtils;
@Controller @Controller
@RequestMapping(value = "${adminPath}/log/ntc/NtcFtpLogs") @RequestMapping(value = "${adminPath}/log/ntc/NtcFtpLogs")
public class FtpLogController extends BaseController{ public class FtpLogController extends BaseController {
/** /**
* @param model * @param model
@@ -43,29 +49,31 @@ public class FtpLogController extends BaseController{
* @throws ClientProtocolException * @throws ClientProtocolException
* @throws IOException * @throws IOException
*/ */
@RequestMapping(value={"list",""}) @RequestMapping(value = { "list", "" })
public String list(Model model,@ModelAttribute("log")NtcFtpLog entry,HttpServletRequest request, HttpServletResponse response) throws ClientProtocolException, IOException { public String list(Model model, @ModelAttribute("log") NtcFtpLog entry, HttpServletRequest request,
HttpServletResponse response) throws ClientProtocolException, IOException {
try { try {
PageLog<NtcFtpLog> page = new PageLog<NtcFtpLog>(request, response); 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("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo()); params.put("pageNo", page.getPageNo());
//查询值判断 // 查询值判断
initLogSearchValue(entry,params); initLogSearchValue(entry, params);
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(entry.getFunctionId()); List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(entry.getFunctionId());
model.addAttribute("serviceList", serviceList); model.addAttribute("serviceList", serviceList);
String url = ""; String url = "";
url = Constants.LOG_BASE_URL+Constants.NTC_FTP_LOG; url = Constants.LOG_BASE_URL + Constants.NTC_FTP_LOG;
String jsonString = HttpClientUtil.getMsg(url,params,request); String jsonString = HttpClientUtil.getMsg(url, params, request);
Gson gson = new GsonBuilder().create(); Gson gson = new GsonBuilder().create();
//gson泛型支持 // gson泛型支持
LogRecvData<NtcFtpLog> fromJson = gson.fromJson(jsonString, new TypeToken<LogRecvData<NtcFtpLog>>(){}.getType()); LogRecvData<NtcFtpLog> fromJson = gson.fromJson(jsonString, new TypeToken<LogRecvData<NtcFtpLog>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) { if (fromJson.getStatus().intValue() == 200) {
Page<NtcFtpLog> data = fromJson.getData(); Page<NtcFtpLog> data = fromJson.getData();
page.setCount(data.getCount()); page.setCount(data.getCount());
@@ -74,7 +82,7 @@ public class FtpLogController extends BaseController{
List<NtcFtpLog> list = page.getList(); List<NtcFtpLog> list = page.getList();
for (NtcFtpLog l : list) { for (NtcFtpLog l : list) {
l.setFunctionId(entry.getFunctionId()); l.setFunctionId(entry.getFunctionId());
setLogAction(l,serviceList); setLogAction(l, serviceList);
} }
model.addAttribute("page", page); model.addAttribute("page", page);
logger.info("查询Ftp日志成功"); logger.info("查询Ftp日志成功");
@@ -85,5 +93,68 @@ public class FtpLogController extends BaseController{
} }
return "/log/ntc/ftpList"; 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; package com.nis.web.controller.log.ntc;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -13,6 +14,7 @@ import org.springframework.stereotype.Controller;
import org.springframework.ui.Model; import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
@@ -20,21 +22,24 @@ import com.google.gson.reflect.TypeToken;
import com.nis.domain.FunctionServiceDict; import com.nis.domain.FunctionServiceDict;
import com.nis.domain.Page; import com.nis.domain.Page;
import com.nis.domain.PageLog; import com.nis.domain.PageLog;
import com.nis.domain.SysUser;
import com.nis.domain.log.NtcFtpLog; 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.log.NtcKeywordsUrlLog;
import com.nis.domain.maat.LogRecvData; import com.nis.domain.maat.LogRecvData;
import com.nis.util.Constants; import com.nis.util.Constants;
import com.nis.util.DictUtils; import com.nis.util.DictUtils;
import com.nis.util.httpclient.HttpClientUtil; import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController; import com.nis.web.controller.BaseController;
import com.nis.web.security.UserUtils;
@Controller @Controller
@RequestMapping("${adminPath}/log/ntc/httpkey") @RequestMapping("${adminPath}/log/ntc/httpkey")
public class HttpKeyLogController extends BaseController { public class HttpKeyLogController extends BaseController {
@RequestMapping("list") @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 { try {
PageLog<NtcKeywordsUrlLog> page = new PageLog<NtcKeywordsUrlLog>(request, response); PageLog<NtcKeywordsUrlLog> page = new PageLog<NtcKeywordsUrlLog>(request, response);
Map<String, Object> params = new HashMap<String, Object>(); Map<String, Object> params = new HashMap<String, Object>();
@@ -44,16 +49,18 @@ public class HttpKeyLogController extends BaseController {
params.put("searchUrl", log.getUrl()); params.put("searchUrl", log.getUrl());
} }
initLogSearchValue(log, params); initLogSearchValue(log, params);
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId()); List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId());
model.addAttribute("serviceList", serviceList); model.addAttribute("serviceList", serviceList);
String url = Constants.LOG_BASE_URL + Constants.NTC_KEYWORDS_URL_LOG; String url = Constants.LOG_BASE_URL + Constants.NTC_KEYWORDS_URL_LOG;
String recv = HttpClientUtil.getMsg(url, params, request); String recv = HttpClientUtil.getMsg(url, params, request);
Gson gson = new GsonBuilder().create(); 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) { if (fromJson.getStatus().intValue() == 200) {
Page<NtcKeywordsUrlLog> data = fromJson.getData(); Page<NtcKeywordsUrlLog> data = fromJson.getData();
page.setCount(data.getCount()); page.setCount(data.getCount());
@@ -62,7 +69,7 @@ public class HttpKeyLogController extends BaseController {
List<NtcKeywordsUrlLog> list = page.getList(); List<NtcKeywordsUrlLog> list = page.getList();
for (NtcKeywordsUrlLog l : list) { for (NtcKeywordsUrlLog l : list) {
l.setFunctionId(log.getFunctionId()); l.setFunctionId(log.getFunctionId());
setLogAction(l,serviceList); setLogAction(l, serviceList);
} }
model.addAttribute("page", page); model.addAttribute("page", page);
} }
@@ -70,7 +77,72 @@ public class HttpKeyLogController extends BaseController {
logger.error("查询失败", e); logger.error("查询失败", e);
addMessageLog(model, e.getMessage()); addMessageLog(model, e.getMessage());
} }
return "/log/ntc/httpKeyList"; 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; package com.nis.web.controller.log.ntc;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -12,6 +13,7 @@ import org.springframework.stereotype.Controller;
import org.springframework.ui.Model; import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
@@ -19,19 +21,23 @@ import com.google.gson.reflect.TypeToken;
import com.nis.domain.FunctionServiceDict; import com.nis.domain.FunctionServiceDict;
import com.nis.domain.Page; import com.nis.domain.Page;
import com.nis.domain.PageLog; 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.log.NtcHttpLog;
import com.nis.domain.maat.LogRecvData; import com.nis.domain.maat.LogRecvData;
import com.nis.util.Constants; import com.nis.util.Constants;
import com.nis.util.DictUtils; import com.nis.util.DictUtils;
import com.nis.util.httpclient.HttpClientUtil; import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController; import com.nis.web.controller.BaseController;
import com.nis.web.security.UserUtils;
@Controller @Controller
@RequestMapping("${adminPath}/log/ntc/http") @RequestMapping("${adminPath}/log/ntc/http")
public class HttpLogController extends BaseController { public class HttpLogController extends BaseController {
@RequestMapping("list") @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 { try {
PageLog<NtcHttpLog> page = new PageLog<NtcHttpLog>(request, response); PageLog<NtcHttpLog> page = new PageLog<NtcHttpLog>(request, response);
Map<String, Object> params = new HashMap<String, Object>(); Map<String, Object> params = new HashMap<String, Object>();
@@ -41,32 +47,33 @@ public class HttpLogController extends BaseController {
params.put("searchUrl", log.getUrl()); params.put("searchUrl", log.getUrl());
} }
initLogSearchValue(log, params); initLogSearchValue(log, params);
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId()); List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId());
serviceList.addAll(DictUtils.getFunctionServiceDictList(635)); serviceList.addAll(DictUtils.getFunctionServiceDictList(635));
for (FunctionServiceDict serviceDict : serviceList) { for (FunctionServiceDict serviceDict : serviceList) {
if(serviceDict.getFunctionId() == log.getFunctionId()){ if (serviceDict.getFunctionId() == log.getFunctionId()) {
if(serviceDict.getAction() == Constants.MONIT_ACTION){ if (serviceDict.getAction() == Constants.MONIT_ACTION) {
serviceDict.setActionCode("log_search_http_monit"); 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"); serviceDict.setActionCode("log_search_http_reject");
} }
}else{ } else {
if(serviceDict.getAction() == Constants.MONIT_ACTION){ if (serviceDict.getAction() == Constants.MONIT_ACTION) {
serviceDict.setActionCode("log_search_keyword_monit"); 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"); serviceDict.setActionCode("log_search_keyword_reject");
} }
} }
} }
model.addAttribute("serviceList", serviceList); model.addAttribute("serviceList", serviceList);
String url = Constants.LOG_BASE_URL + Constants.NTC_HTTP_LOG; String url = Constants.LOG_BASE_URL + Constants.NTC_HTTP_LOG;
String recv = HttpClientUtil.getMsg(url, params, request); String recv = HttpClientUtil.getMsg(url, params, request);
Gson gson = new GsonBuilder().create(); 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) { if (fromJson.getStatus().intValue() == 200) {
Page<NtcHttpLog> data = fromJson.getData(); Page<NtcHttpLog> data = fromJson.getData();
page.setCount(data.getCount()); page.setCount(data.getCount());
@@ -75,7 +82,7 @@ public class HttpLogController extends BaseController {
List<NtcHttpLog> list = page.getList(); List<NtcHttpLog> list = page.getList();
for (NtcHttpLog l : list) { for (NtcHttpLog l : list) {
l.setFunctionId(log.getFunctionId()); l.setFunctionId(log.getFunctionId());
setLogAction(l,serviceList); setLogAction(l, serviceList);
} }
model.addAttribute("page", page); model.addAttribute("page", page);
} }
@@ -83,7 +90,71 @@ public class HttpLogController extends BaseController {
logger.error("查询失败", e); logger.error("查询失败", e);
addMessageLog(model, e.getMessage()); addMessageLog(model, e.getMessage());
} }
return "/log/ntc/httpList"; 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; package com.nis.web.controller.log.ntc;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -14,6 +15,7 @@ import org.springframework.stereotype.Controller;
import org.springframework.ui.Model; import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
@@ -21,27 +23,31 @@ import com.google.gson.reflect.TypeToken;
import com.nis.domain.FunctionServiceDict; import com.nis.domain.FunctionServiceDict;
import com.nis.domain.Page; import com.nis.domain.Page;
import com.nis.domain.PageLog; import com.nis.domain.PageLog;
import com.nis.domain.SysUser;
import com.nis.domain.log.NtcIpLog; import com.nis.domain.log.NtcIpLog;
import com.nis.domain.log.NtcMailLog; import com.nis.domain.log.NtcMailLog;
import com.nis.domain.log.NtcMailLog;
import com.nis.domain.maat.LogRecvData; import com.nis.domain.maat.LogRecvData;
import com.nis.util.Constants; import com.nis.util.Constants;
import com.nis.util.DictUtils; import com.nis.util.DictUtils;
import com.nis.util.httpclient.HttpClientUtil; import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController; import com.nis.web.controller.BaseController;
import com.nis.web.security.UserUtils;
@Controller @Controller
@RequestMapping("${adminPath}/log/ntc/mail") @RequestMapping("${adminPath}/log/ntc/mail")
public class MailLogController extends BaseController { public class MailLogController extends BaseController {
@RequestMapping("list") @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 { try {
PageLog<NtcMailLog> page = new PageLog<NtcMailLog>(request, response); PageLog<NtcMailLog> page = new PageLog<NtcMailLog>(request, response);
Map<String, Object> params = new HashMap<String, Object>(); Map<String, Object> params = new HashMap<String, Object>();
params.put("pageSize", page.getPageSize()); params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo()); params.put("pageNo", page.getPageNo());
initLogSearchValue(log, params); initLogSearchValue(log, params);
// 增加收/发件人、邮件主题查询 // 增加收/发件人、邮件主题查询
if (StringUtils.isNotBlank(log.getMailTo())) { if (StringUtils.isNotBlank(log.getMailTo())) {
params.put("searchMailTo", StringEscapeUtils.unescapeHtml(log.getMailTo())); params.put("searchMailTo", StringEscapeUtils.unescapeHtml(log.getMailTo()));
@@ -52,16 +58,17 @@ public class MailLogController extends BaseController {
if (StringUtils.isNotBlank(log.getSubject())) { if (StringUtils.isNotBlank(log.getSubject())) {
params.put("searchSubject", StringEscapeUtils.unescapeHtml(log.getSubject())); params.put("searchSubject", StringEscapeUtils.unescapeHtml(log.getSubject()));
} }
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId()); List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId());
model.addAttribute("serviceList", serviceList); model.addAttribute("serviceList", serviceList);
String url = Constants.LOG_BASE_URL + Constants.NTC_MAIL_LOG; String url = Constants.LOG_BASE_URL + Constants.NTC_MAIL_LOG;
String recv = HttpClientUtil.getMsg(url, params, request); String recv = HttpClientUtil.getMsg(url, params, request);
if (StringUtils.isNotBlank(recv)) { if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create(); 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) { if (fromJson.getStatus().intValue() == 200) {
Page<NtcMailLog> data = fromJson.getData(); Page<NtcMailLog> data = fromJson.getData();
page.setCount(data.getCount()); page.setCount(data.getCount());
@@ -70,7 +77,7 @@ public class MailLogController extends BaseController {
List<NtcMailLog> list = page.getList(); List<NtcMailLog> list = page.getList();
for (NtcMailLog l : list) { for (NtcMailLog l : list) {
l.setFunctionId(log.getFunctionId()); l.setFunctionId(log.getFunctionId());
setLogAction(l,serviceList); setLogAction(l, serviceList);
} }
model.addAttribute("page", page); model.addAttribute("page", page);
} }
@@ -79,7 +86,71 @@ public class MailLogController extends BaseController {
logger.error("查询失败", e); logger.error("查询失败", e);
addMessageLog(model, e.getMessage()); addMessageLog(model, e.getMessage());
} }
return "/log/ntc/mailList"; 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; package com.nis.web.controller.log.ntc;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -8,12 +9,14 @@ import java.util.Map;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.client.ClientProtocolException; import org.apache.http.client.ClientProtocolException;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.Model; import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
@@ -21,20 +24,24 @@ import com.google.gson.reflect.TypeToken;
import com.nis.domain.FunctionServiceDict; import com.nis.domain.FunctionServiceDict;
import com.nis.domain.Page; import com.nis.domain.Page;
import com.nis.domain.PageLog; import com.nis.domain.PageLog;
import com.nis.domain.SysUser;
import com.nis.domain.log.MmAvIpLog; import com.nis.domain.log.MmAvIpLog;
import com.nis.domain.log.NtcStreamMediaLog; import com.nis.domain.log.NtcStreamMediaLog;
import com.nis.domain.log.NtcStreamMediaLog;
import com.nis.domain.maat.LogRecvData; import com.nis.domain.maat.LogRecvData;
import com.nis.util.Constants; import com.nis.util.Constants;
import com.nis.util.DictUtils; import com.nis.util.DictUtils;
import com.nis.util.httpclient.HttpClientUtil; import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController; import com.nis.web.controller.BaseController;
import com.nis.web.security.UserUtils;
@Controller @Controller
@RequestMapping(value = "${adminPath}/log/ntc/mmAvUrlLogs") @RequestMapping(value = "${adminPath}/log/ntc/mmAvUrlLogs")
public class MmAvUrlLogController extends BaseController{ public class MmAvUrlLogController extends BaseController {
/** /**
* 音视频url日志 * 音视频url日志
*
* @param model * @param model
* @param entry * @param entry
* @param request * @param request
@@ -43,29 +50,32 @@ public class MmAvUrlLogController extends BaseController{
* @throws ClientProtocolException * @throws ClientProtocolException
* @throws IOException * @throws IOException
*/ */
@RequestMapping(value={"list",""}) @RequestMapping(value = { "list", "" })
public String list(Model model,@ModelAttribute("log")NtcStreamMediaLog entry,HttpServletRequest request, HttpServletResponse response) throws ClientProtocolException, IOException { public String list(Model model, @ModelAttribute("log") NtcStreamMediaLog entry, HttpServletRequest request,
HttpServletResponse response) throws ClientProtocolException, IOException {
try { try {
PageLog<NtcStreamMediaLog> page = new PageLog<NtcStreamMediaLog>(request, response); 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("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo()); params.put("pageNo", page.getPageNo());
//查询值判断 // 查询值判断
initLogSearchValue(entry,params); initLogSearchValue(entry, params);
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(entry.getFunctionId()); List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(entry.getFunctionId());
model.addAttribute("serviceList", serviceList); model.addAttribute("serviceList", serviceList);
String url = ""; String url = "";
url = Constants.LOG_BASE_URL+Constants.NTC_STREAMMEDIA_LOG; url = Constants.LOG_BASE_URL + Constants.NTC_STREAMMEDIA_LOG;
String jsonString = HttpClientUtil.getMsg(url,params,request); String jsonString = HttpClientUtil.getMsg(url, params, request);
Gson gson = new GsonBuilder().create(); Gson gson = new GsonBuilder().create();
//gson泛型支持 // gson泛型支持
LogRecvData<NtcStreamMediaLog> fromJson = gson.fromJson(jsonString, new TypeToken<LogRecvData<NtcStreamMediaLog>>(){}.getType()); LogRecvData<NtcStreamMediaLog> fromJson = gson.fromJson(jsonString,
new TypeToken<LogRecvData<NtcStreamMediaLog>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) { if (fromJson.getStatus().intValue() == 200) {
Page<NtcStreamMediaLog> data = fromJson.getData(); Page<NtcStreamMediaLog> data = fromJson.getData();
page.setCount(data.getCount()); page.setCount(data.getCount());
@@ -74,7 +84,7 @@ public class MmAvUrlLogController extends BaseController{
List<NtcStreamMediaLog> list = page.getList(); List<NtcStreamMediaLog> list = page.getList();
for (NtcStreamMediaLog l : list) { for (NtcStreamMediaLog l : list) {
l.setFunctionId(entry.getFunctionId()); l.setFunctionId(entry.getFunctionId());
setLogAction(l,serviceList); setLogAction(l, serviceList);
} }
model.addAttribute("page", page); model.addAttribute("page", page);
logger.info("查询音视频url日志成功"); logger.info("查询音视频url日志成功");
@@ -85,5 +95,70 @@ public class MmAvUrlLogController extends BaseController{
} }
return "/log/ntc/ntcStreamMedia"; 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; package com.nis.web.controller.log.ntc;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -8,12 +9,14 @@ import java.util.Map;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.client.ClientProtocolException; import org.apache.http.client.ClientProtocolException;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.Model; import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
@@ -21,16 +24,19 @@ import com.google.gson.reflect.TypeToken;
import com.nis.domain.FunctionServiceDict; import com.nis.domain.FunctionServiceDict;
import com.nis.domain.Page; import com.nis.domain.Page;
import com.nis.domain.PageLog; 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.log.MmVoipLog;
import com.nis.domain.maat.LogRecvData; import com.nis.domain.maat.LogRecvData;
import com.nis.util.Constants; import com.nis.util.Constants;
import com.nis.util.DictUtils; import com.nis.util.DictUtils;
import com.nis.util.httpclient.HttpClientUtil; import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController; import com.nis.web.controller.BaseController;
import com.nis.web.security.UserUtils;
@Controller @Controller
@RequestMapping(value = "${adminPath}/log/ntc/mmVoipIpLogs") @RequestMapping(value = "${adminPath}/log/ntc/mmVoipIpLogs")
public class MmVoipIpLogController extends BaseController{ public class MmVoipIpLogController extends BaseController {
/** /**
* @param model * @param model
@@ -41,29 +47,31 @@ public class MmVoipIpLogController extends BaseController{
* @throws ClientProtocolException * @throws ClientProtocolException
* @throws IOException * @throws IOException
*/ */
@RequestMapping(value={"list",""}) @RequestMapping(value = { "list", "" })
public String list(Model model,@ModelAttribute("log")MmVoipLog entry,HttpServletRequest request, HttpServletResponse response) throws ClientProtocolException, IOException { public String list(Model model, @ModelAttribute("log") MmVoipLog entry, HttpServletRequest request,
HttpServletResponse response) throws ClientProtocolException, IOException {
try { try {
PageLog<MmVoipLog> page = new PageLog<MmVoipLog>(request, response); 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("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo()); params.put("pageNo", page.getPageNo());
//查询值判断 // 查询值判断
initLogSearchValue(entry,params); initLogSearchValue(entry, params);
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(entry.getFunctionId()); List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(entry.getFunctionId());
model.addAttribute("serviceList", serviceList); model.addAttribute("serviceList", serviceList);
String url = ""; String url = "";
url = Constants.LOG_BASE_URL+Constants.NTC_MMVOIP_LOG; url = Constants.LOG_BASE_URL + Constants.NTC_MMVOIP_LOG;
String jsonString = HttpClientUtil.getMsg(url,params,request); String jsonString = HttpClientUtil.getMsg(url, params, request);
Gson gson = new GsonBuilder().create(); Gson gson = new GsonBuilder().create();
//gson泛型支持 // gson泛型支持
LogRecvData<MmVoipLog> fromJson = gson.fromJson(jsonString, new TypeToken<LogRecvData<MmVoipLog>>(){}.getType()); LogRecvData<MmVoipLog> fromJson = gson.fromJson(jsonString, new TypeToken<LogRecvData<MmVoipLog>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) { if (fromJson.getStatus().intValue() == 200) {
Page<MmVoipLog> data = fromJson.getData(); Page<MmVoipLog> data = fromJson.getData();
page.setCount(data.getCount()); page.setCount(data.getCount());
@@ -72,7 +80,7 @@ public class MmVoipIpLogController extends BaseController{
List<MmVoipLog> list = page.getList(); List<MmVoipLog> list = page.getList();
for (MmVoipLog l : list) { for (MmVoipLog l : list) {
l.setFunctionId(entry.getFunctionId()); l.setFunctionId(entry.getFunctionId());
setLogAction(l,serviceList); setLogAction(l, serviceList);
} }
model.addAttribute("page", page); model.addAttribute("page", page);
logger.info("查询Voip日志成功"); logger.info("查询Voip日志成功");
@@ -83,5 +91,69 @@ public class MmVoipIpLogController extends BaseController{
} }
return "/log/ntc/mmVoipIpList"; 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.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
@@ -26,10 +27,12 @@ import com.google.gson.reflect.TypeToken;
import com.nis.domain.FunctionServiceDict; import com.nis.domain.FunctionServiceDict;
import com.nis.domain.Page; import com.nis.domain.Page;
import com.nis.domain.PageLog; import com.nis.domain.PageLog;
import com.nis.domain.SysUser;
import com.nis.domain.log.IrDnatLog; import com.nis.domain.log.IrDnatLog;
import com.nis.domain.log.IrSnatLog; import com.nis.domain.log.IrSnatLog;
import com.nis.domain.log.NtcCollectRadiusLog; import com.nis.domain.log.NtcCollectRadiusLog;
import com.nis.domain.log.NtcConnRecordLog; import com.nis.domain.log.NtcConnRecordLog;
import com.nis.domain.log.NtcConnRecordLog;
import com.nis.domain.log.SearchReport; import com.nis.domain.log.SearchReport;
import com.nis.domain.maat.LogRecvData; import com.nis.domain.maat.LogRecvData;
import com.nis.domain.report.NtcServiceReport; import com.nis.domain.report.NtcServiceReport;
@@ -42,43 +45,48 @@ import com.nis.util.StringUtil;
import com.nis.util.httpclient.HttpClientUtil; import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController; import com.nis.web.controller.BaseController;
import com.nis.web.dao.dashboard.codedic.CodeResult; import com.nis.web.dao.dashboard.codedic.CodeResult;
import com.nis.web.security.UserUtils;
import net.sf.json.JSONObject; import net.sf.json.JSONObject;
@Controller @Controller
@RequestMapping("${adminPath}/log/ntc/connRecordLogs") @RequestMapping("${adminPath}/log/ntc/connRecordLogs")
public class NtcConnRecordLogController extends BaseController { public class NtcConnRecordLogController extends BaseController {
@RequestMapping(value = {"/list", ""}) @RequestMapping(value = { "/list", "" })
public String connRecordLogs(@ModelAttribute("log") NtcConnRecordLog log, Model model, HttpServletRequest request, HttpServletResponse response) { public String connRecordLogs(@ModelAttribute("log") NtcConnRecordLog log, Model model, HttpServletRequest request,
HttpServletResponse response) {
try { try {
PageLog<NtcConnRecordLog> page = new PageLog<NtcConnRecordLog>(request, response); PageLog<NtcConnRecordLog> page = new PageLog<NtcConnRecordLog>(request, response);
Map<String, Object> params = new HashMap<String, Object>(); Map<String, Object> params = new HashMap<String, Object>();
params.put("pageSize", page.getPageSize()); params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo()); params.put("pageNo", page.getPageNo());
initLogSearchValue(log, params); initLogSearchValue(log, params);
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId()); List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId());
model.addAttribute("serviceList", serviceList); model.addAttribute("serviceList", serviceList);
List<CodeResult> appList=CodeDicUtils.getCodeList("appCode"); List<CodeResult> appList = CodeDicUtils.getCodeList("appCode");
model.addAttribute("appList", appList); 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); String recv = HttpClientUtil.getMsg(url, params, request);
if (StringUtils.isNotBlank(recv)) { if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create(); 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) { if (fromJson.getStatus().intValue() == 200) {
Page<NtcConnRecordLog> data = fromJson.getData(); Page<NtcConnRecordLog> data = fromJson.getData();
page.setCount(data.getCount()); page.setCount(data.getCount());
page.setLast(data.getLast()); page.setLast(data.getLast());
page.setList(data.getList()); page.setList(data.getList());
/*List<NtcCollectRadiusLog> list = page.getList(); /*
for (NtcConnRecordLog l : list) { * List<NtcCollectRadiusLog> list = page.getList(); for
l.setFunctionId(log.getFunctionId()); * (NtcConnRecordLog l : list) {
setLogAction(l,serviceList); * l.setFunctionId(log.getFunctionId());
}*/ * setLogAction(l,serviceList); }
*/
model.addAttribute("page", page); model.addAttribute("page", page);
} }
} }
@@ -86,41 +94,102 @@ public class NtcConnRecordLogController extends BaseController {
logger.error("查询失败", e); logger.error("查询失败", e);
addMessageLog(model, e.getMessage()); addMessageLog(model, e.getMessage());
} }
return "/log/ntc/connRecordLogList"; return "/log/ntc/connRecordLogList";
} }
@RequestMapping("/ajaxConnRecordPercent") @RequestMapping("/ajaxConnRecordPercent")
@ResponseBody @ResponseBody
public JSONObject ajaxConnRecordPercent(String searchFoundStartTime, public JSONObject ajaxConnRecordPercent(String searchFoundStartTime, String searchFoundEndTime,
String searchFoundEndTime, String searchStreamDir, HttpServletRequest request, HttpServletResponse response) {
String searchStreamDir, JSONObject resultAllJson = new JSONObject();
HttpServletRequest request, JSONObject result = new JSONObject();
HttpServletResponse response) { Map<String, Object> params = new HashMap<>();
JSONObject resultAllJson=new JSONObject();
JSONObject result=new JSONObject();
Map<String, Object> params=new HashMap<>();
try { try {
params.put("searchFoundStartTime", searchFoundStartTime); params.put("searchFoundStartTime", searchFoundStartTime);
params.put("searchFoundEndTime", searchFoundEndTime); params.put("searchFoundEndTime", searchFoundEndTime);
StringBuffer url=new StringBuffer(Constants.LOG_BASE_URL+Constants.NTC_CONN_RECORD_PERCENT); StringBuffer url = new StringBuffer(Constants.LOG_BASE_URL + Constants.NTC_CONN_RECORD_PERCENT);
String json=HttpClientUtil.getMsg(url.toString(), params,request); String json = HttpClientUtil.getMsg(url.toString(), params, request);
if(!StringUtil.isEmpty(json)) { if (!StringUtil.isEmpty(json)) {
resultAllJson=JSONObject.fromObject(json); resultAllJson = JSONObject.fromObject(json);
if(!StringUtil.isEmpty(resultAllJson)) { if (!StringUtil.isEmpty(resultAllJson)) {
result=(JSONObject) resultAllJson.get("data"); result = (JSONObject) resultAllJson.get("data");
} }
} }
result.put("success","success"); result.put("success", "success");
} catch (MaatConvertException e) { } catch (MaatConvertException e) {
logger.error("ajaxConnRecordPercent检索失败",e); logger.error("ajaxConnRecordPercent检索失败", e);
result.put("error",getMsgProp().get("request_service_failed")); result.put("error", getMsgProp().get("request_service_failed"));
}catch (Exception e) { } catch (Exception e) {
logger.error("ajaxConnRecordPercent检索失败",e); logger.error("ajaxConnRecordPercent检索失败", e);
result.put("error",getMsgProp().get("search_error")); result.put("error", getMsgProp().get("search_error"));
} }
return result; 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; package com.nis.web.controller.log.ntc;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -13,6 +14,7 @@ import org.springframework.stereotype.Controller;
import org.springframework.ui.Model; import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
@@ -20,6 +22,8 @@ import com.google.gson.reflect.TypeToken;
import com.nis.domain.FunctionServiceDict; import com.nis.domain.FunctionServiceDict;
import com.nis.domain.Page; import com.nis.domain.Page;
import com.nis.domain.PageLog; 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.NtcOpenVpnLog;
import com.nis.domain.log.NtcP2pLog; import com.nis.domain.log.NtcP2pLog;
import com.nis.domain.maat.LogRecvData; import com.nis.domain.maat.LogRecvData;
@@ -27,13 +31,15 @@ import com.nis.util.Constants;
import com.nis.util.DictUtils; import com.nis.util.DictUtils;
import com.nis.util.httpclient.HttpClientUtil; import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController; import com.nis.web.controller.BaseController;
import com.nis.web.security.UserUtils;
@Controller @Controller
@RequestMapping("${adminPath}/log/ntc/p2pLogs") @RequestMapping("${adminPath}/log/ntc/p2pLogs")
public class P2pLogController extends BaseController { public class P2pLogController extends BaseController {
@RequestMapping(value = {"list", ""}) @RequestMapping(value = { "list", "" })
public String list(@ModelAttribute("log") NtcP2pLog log, Model model, HttpServletRequest request, HttpServletResponse response) { public String list(@ModelAttribute("log") NtcP2pLog log, Model model, HttpServletRequest request,
HttpServletResponse response) {
try { try {
PageLog<NtcP2pLog> page = new PageLog<NtcP2pLog>(request, response); PageLog<NtcP2pLog> page = new PageLog<NtcP2pLog>(request, response);
Map<String, Object> params = new HashMap<String, Object>(); Map<String, Object> params = new HashMap<String, Object>();
@@ -43,13 +49,14 @@ public class P2pLogController extends BaseController {
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId()); List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId());
model.addAttribute("serviceList", serviceList); model.addAttribute("serviceList", serviceList);
String url = Constants.LOG_BASE_URL + Constants.NTC_P2P_LOG; 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); logger.error("查询结果:" + recv);
if (StringUtils.isNotBlank(recv)) { if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create(); 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) { if (fromJson.getStatus().intValue() == 200) {
Page<NtcP2pLog> data = fromJson.getData(); Page<NtcP2pLog> data = fromJson.getData();
page.setCount(data.getCount()); page.setCount(data.getCount());
@@ -58,7 +65,7 @@ public class P2pLogController extends BaseController {
List<NtcP2pLog> list = page.getList(); List<NtcP2pLog> list = page.getList();
for (NtcP2pLog l : list) { for (NtcP2pLog l : list) {
l.setFunctionId(log.getFunctionId()); l.setFunctionId(log.getFunctionId());
setLogAction(l,serviceList); setLogAction(l, serviceList);
} }
model.addAttribute("page", page); model.addAttribute("page", page);
} }
@@ -67,8 +74,72 @@ public class P2pLogController extends BaseController {
logger.error("查询失败", e); logger.error("查询失败", e);
addMessageLog(model, e.getMessage()); addMessageLog(model, e.getMessage());
} }
return "/log/ntc/p2pList"; 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; package com.nis.web.controller.log.ntc;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -12,6 +13,7 @@ import org.springframework.stereotype.Controller;
import org.springframework.ui.Model; import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
@@ -20,6 +22,8 @@ import com.google.gson.reflect.TypeToken;
import com.nis.domain.FunctionServiceDict; import com.nis.domain.FunctionServiceDict;
import com.nis.domain.Page; import com.nis.domain.Page;
import com.nis.domain.PageLog; 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.NtcSshLog;
import com.nis.domain.log.NtcSslLog; import com.nis.domain.log.NtcSslLog;
import com.nis.domain.maat.LogRecvData; import com.nis.domain.maat.LogRecvData;
@@ -28,35 +32,39 @@ import com.nis.util.DictUtils;
import com.nis.util.StringUtils; import com.nis.util.StringUtils;
import com.nis.util.httpclient.HttpClientUtil; import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController; import com.nis.web.controller.BaseController;
import com.nis.web.security.UserUtils;
@Controller @Controller
@RequestMapping("${adminPath}/log/ntc/sslLogs") @RequestMapping("${adminPath}/log/ntc/sslLogs")
@SuppressWarnings("all")
public class SslLogController extends BaseController { public class SslLogController extends BaseController {
@RequestMapping(value = {"/list"}) @RequestMapping(value = { "/list" })
public String list(HttpServletRequest request, HttpServletResponse response, Model model, @ModelAttribute("log")NtcSslLog ntcSslLog) { 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>(); PageLog<NtcSslLog> page = new PageLog<NtcSslLog>(request, response);
Map<String, Object> params = new HashMap<String, Object>();
params.put("pageSize", page.getPageSize()); params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo()); params.put("pageNo", page.getPageNo());
// 请求参数判断 // 请求参数判断
initLogSearchValue(ntcSslLog, params); initLogSearchValue(ntcSslLog, params);
if(StringUtils.isNotBlank(ntcSslLog.getSni())) { if (StringUtils.isNotBlank(ntcSslLog.getSni())) {
params.put("SearchSni", ntcSslLog.getSni()); params.put("SearchSni", ntcSslLog.getSni());
} }
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(ntcSslLog.getFunctionId()); List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(ntcSslLog.getFunctionId());
model.addAttribute("serviceList", serviceList); model.addAttribute("serviceList", serviceList);
try { try {
// 请求接口 // 请求接口
String url = Constants.LOG_BASE_URL + Constants.NTC_SSL_LOG; String url = Constants.LOG_BASE_URL + Constants.NTC_SSL_LOG;
String resJson = HttpClientUtil.getMsg(url, params, request); String resJson = HttpClientUtil.getMsg(url, params, request);
Gson gson = new GsonBuilder().create(); Gson gson = new GsonBuilder().create();
LogRecvData<NtcSslLog> fromJson = gson.fromJson(resJson, new TypeToken<LogRecvData<NtcSslLog>>() {}.getType()); LogRecvData<NtcSslLog> fromJson = gson.fromJson(resJson, new TypeToken<LogRecvData<NtcSslLog>>() {
if(fromJson.getStatus().intValue() == 200) { }.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<NtcSslLog> data = fromJson.getData(); Page<NtcSslLog> data = fromJson.getData();
page.setCount(data.getCount()); page.setCount(data.getCount());
page.setLast(data.getLast()); page.setLast(data.getLast());
@@ -64,7 +72,7 @@ public class SslLogController extends BaseController {
List<NtcSslLog> list = page.getList(); List<NtcSslLog> list = page.getList();
for (NtcSslLog log : list) { for (NtcSslLog log : list) {
log.setFunctionId(ntcSslLog.getFunctionId()); log.setFunctionId(ntcSslLog.getFunctionId());
setLogAction(log,serviceList); setLogAction(log, serviceList);
} }
model.addAttribute("page", page); model.addAttribute("page", page);
} }
@@ -72,7 +80,71 @@ public class SslLogController extends BaseController {
logger.error("SSL日志查询失败", e); logger.error("SSL日志查询失败", e);
addMessageLog(model, e.getMessage()); addMessageLog(model, e.getMessage());
} }
return "/log/ntc/sslLogList"; 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> <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>
<div class="pull-right"> <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" <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:;"> data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
<i class="icon-wrench"></i> <i class="icon-wrench"></i>
@@ -211,40 +221,40 @@
<thead> <thead>
<tr> <tr>
<th><spring:message code="log"/></th> <th><spring:message code="log"/></th>
<th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_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"><spring:message code="action"/></th> <th class="sort-column service" isVisible="false" column="action"><spring:message code="action"/></th>
<th class="sort-column found_time"><spring:message code="found_time"/></th> <th class="sort-column found_time" 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 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 entrance_id" isVisible="false" column="entrance_id"><spring:message code="entrance_id"/></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"><spring:message code="transport_layer_protocol"/></th> <th class="sort-column trans_proto" column="transport_layer_protocol"><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column addr_type"><spring:message code='addr_type'/></th> <th class="sort-column addr_type" 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 d_ip" column="server_ip"><spring:message code="server_ip"/></th>
<th class="sort-column s_ip"><spring:message code="client_ip"/></th> <th class="sort-column s_ip" column="client_ip"><spring:message code="client_ip"/></th>
<th class="sort-column d_port"><spring:message code="server_port"/></th> <th class="sort-column d_port" column="server_port"><spring:message code="server_port"/></th>
<th class="sort-column s_port"><spring:message code="client_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 device_id" isVisible="false" column="deviceid"><spring:message code="deviceid"/></th>
<th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> <th class="sort-column link_id" isVisible="false" column="link_id"><spring:message code="link_id"/></th>
<th class="sort-column encap_type"><spring:message code="encap_type"/></th> <th class="sort-column encap_type" column="encap_type"><spring:message code="encap_type"/></th>
<th class="sort-column direction"><spring:message code="direction"/></th> <th class="sort-column direction" column="direction"><spring:message code="direction"/></th>
<th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> <th class="sort-column inner_smac" 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 inner_dmac" 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 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 addr_list" column="nest_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 server_locate" 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 client_locate" 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 s_asn" isVisible="false" column="s_asn"><spring:message code='s_asn'/></th>
<th class="sort-column d_asn" isVisible="false"><spring:message code='d_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"><spring:message code='s_subscribe_id'/></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"><spring:message code='d_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"><spring:message code='user_region'/></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"><spring:message code='scene_file'/></th></c:if> <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"><spring:message code='message_type'/></th> <th class="sort-column type" column="message_type"><spring:message code='message_type'/></th>
<th class="sort-column as_num"><spring:message code='as'/></th> <th class="sort-column as_num" column="as"><spring:message code='as'/></th>
<th class="sort-column route"><spring:message code='route'/></th> <th class="sort-column route" column="route"><spring:message code='route'/></th>
</tr> </tr>
</thead> </thead>
<tbody> <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> <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>
<div class="pull-right"> <div class="pull-right">
<a class="btn btn-icon-only btn-default setfields tooltips" <div class="btn-group">
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;"> <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<i class="icon-wrench"></i> <i class="fa fa-wrench"></i> <spring:message code="export"></spring:message>
</a> <i class="fa fa-angle-down"></i>
</div> </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> </div>
<!-- 筛选搜索内容栏默认隐藏--> <!-- 筛选搜索内容栏默认隐藏-->
@@ -141,36 +151,36 @@ $(document).ready(function(){
<thead> <thead>
<tr> <tr>
<th><spring:message code="log"/></th> <th><spring:message code="log"/></th>
<th class="sort-column pid"><spring:message code="pid"/></th> <th class="sort-column pid" column="pid"><spring:message code="pid"/></th>
<th class="sort-column found_time"><spring:message code="found_time"/></th> <th class="sort-column found_time" 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 recv_time" 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 cap_ip" column="clj_ip"><spring:message code="clj_ip"/></th>
<th class="sort-column voip_protocol"><spring:message code='voip_protocol'/></th> <th class="sort-column voip_protocol" 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_d_ip" 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_s_ip" 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_d_port" 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 rtp_s_port" 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_ip" 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 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"><spring:message code="to_from_store_ip"/></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"><spring:message code="to_from_store_url"/></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 duation" 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_d_ip" 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_s_ip" 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_d_port" column="sip_s_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 sip_s_port" column="cfg_id"><spring:message code='sip_s_port'/></th>
<th class="sort-column call_id"><spring:message code='call_id'/></th> <th class="sort-column call_id" 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 request_uri" 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 calling_account" 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 called_account" column="called_account"><spring:message code='called_account'/></th>
<th class="sort-column contacts">Contacts</th> <th class="sort-column contacts" column="Contacts">Contacts</th>
<th class="sort-column via">Via</th> <th class="sort-column via" column="Via">Via</th>
<th class="sort-column route">Route</th> <th class="sort-column route" column="Route">Route</th>
<th class="sort-column record_route">Record Route</th> <th class="sort-column record_route" column=">Record Route">Record Route</th>
<th class="sort-column user_agent">User Agent</th> <th class="sort-column user_agent" column="User Agent">User Agent</th>
<th class="sort-column server">Server</th> <th class="sort-column server" column="Server">Server</th>
</tr> </tr>
</thead> </thead>
<tbody> <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="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> <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>
<div class="pull-right"> <div class="pull-right">
<a class="btn btn-icon-only btn-default setfields tooltips" <div class="btn-group">
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;"> <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<i class="icon-wrench"></i> <i class="fa fa-wrench"></i> <spring:message code="export"></spring:message>
</a> <i class="fa fa-angle-down"></i>
</div> </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> </div>
<!-- 搜索内容与操作按钮栏 --> <!-- 搜索内容与操作按钮栏 -->
@@ -229,42 +239,44 @@
<th><spring:message code="log"/></th> <th><spring:message code="log"/></th>
<%-- <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></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 service" isVisible="false"><spring:message code="action"/></th> --%>
<th class="sort-column found_time"><spring:message code="found_time"/></th> <th class="sort-column found_time" 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 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 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 app_label" column="social_app"><spring:message code='social_app'/></th>
<th class="sort-column c2s_pkt_num"><spring:message code="c2s_pkt_num"/></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"><spring:message code='s2c_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">Total Pkt</th> <th class="total_pkt_num" column="Total Pkt">Total Pkt</th>
<th class="sort-column c2s_byte_num"><spring:message code="c2s_byte_num"/></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"><spring:message code="s2c_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">Total Byte</th> <th class="Total_byte_num" column="Total Byte">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 addr_list"><spring:message code="nest_addr_list"/></th> <th class="sort-column cap_ip" isVisible="false" column="clj_ip"><spring:message code="clj_ip"/></th>
<th class="sort-column server_locate"><spring:message code='server_locate'/></th> <th class="sort-column trans_proto" column="transport_layer_protocol"><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column client_locate"><spring:message code='client_locate'/></th> <th class="sort-column addr_type" column="addr_type"><spring:message code='addr_type'/></th>
<th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> <th class="sort-column d_ip" column="server_ip"><spring:message code="server_ip"/></th>
<th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> <th class="sort-column s_ip" column="client_ip"><spring:message code="client_ip"/></th>
<th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> <th class="sort-column d_port" column="server_port"><spring:message code="server_port"/></th>
<th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> <th class="sort-column s_port" column="client_port"><spring:message code="client_port"/></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> </tr>
</thead> </thead>
<tbody> <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> <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>
<div class="pull-right"> <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" <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:;"> data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
<i class="icon-wrench"></i> <i class="icon-wrench"></i>
@@ -219,48 +229,48 @@
<thead> <thead>
<tr> <tr>
<th><spring:message code="log"/></th> <th><spring:message code="log"/></th>
<th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_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"><spring:message code="action"/></th> <th class="sort-column service" isVisible="false" column="action"><spring:message code="action"/></th>
<th class="sort-column found_time"><spring:message code="found_time"/></th> <th class="sort-column found_time" 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 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 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 qr" column="qr"><spring:message code="qr"/></th>
<th class="sort-column rd"><spring:message code="rd"/></th> <th class="sort-column rd" column="rd"><spring:message code="rd"/></th>
<th class="sort-column ra"><spring:message code="ra"/></th> <th class="sort-column ra" column="ra"><spring:message code="ra"/></th>
<th class="sort-column rr"><spring:message code="rr"/></th> <th class="sort-column rr" column="rr"><spring:message code="rr"/></th>
<th class="sort-column qtype"><spring:message code="qtype"/></th> <th class="sort-column qtype" column="qtype"><spring:message code="qtype"/></th>
<th class="sort-column qclass"><spring:message code="qclass"/></th> <th class="sort-column qclass" column="qclass"><spring:message code="qclass"/></th>
<th class="sort-column opcode"><spring:message code="opcode"/></th> <th class="sort-column opcode" column="opcode"><spring:message code="opcode"/></th>
<th class="sort-column qname"><spring:message code="qname"/></th> <th class="sort-column qname" column="qname"><spring:message code="qname"/></th>
<th class="sort-column cname"><spring:message code="cname"/></th> <th class="sort-column cname" column="cname"><spring:message code="cname"/></th>
<th class="sort-column dns_sub"><spring:message code="dns_sub"/></th> <th class="sort-column dns_sub" 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 trans_proto"><spring:message code="transport_layer_protocol"/></th> <th class="sort-column cap_ip" isVisible="false" column="clj_ip"><spring:message code="clj_ip"/></th>
<th class="sort-column addr_type"><spring:message code='addr_type'/></th> <th class="sort-column trans_proto" column="transport_layer_protocol"><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column d_ip"><spring:message code="server_ip"/></th> <th class="sort-column addr_type" column="addr_type"><spring:message code='addr_type'/></th>
<th class="sort-column s_ip"><spring:message code="client_ip"/></th> <th class="sort-column d_ip" column="server_ip"><spring:message code="server_ip"/></th>
<th class="sort-column d_port"><spring:message code="server_port"/></th> <th class="sort-column s_ip" column="client_ip"><spring:message code="client_ip"/></th>
<th class="sort-column s_port"><spring:message code="client_port"/></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 device_id" isVisible="false" column="deviceid"><spring:message code="deviceid"/></th>
<th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> <th class="sort-column link_id" isVisible="false" column="link_id"><spring:message code="link_id"/></th>
<th class="sort-column encap_type"><spring:message code="encap_type"/></th> <th class="sort-column encap_type" column="encap_type"><spring:message code="encap_type"/></th>
<th class="sort-column direction"><spring:message code="direction"/></th> <th class="sort-column direction" column="direction"><spring:message code="direction"/></th>
<th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> <th class="sort-column inner_smac" 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 inner_dmac" 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 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 addr_list" column="nest_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 server_locate" 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 client_locate" 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 s_asn" isVisible="false" column="s_asn"><spring:message code='s_asn'/></th>
<th class="sort-column d_asn" isVisible="false"><spring:message code='d_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"><spring:message code='s_subscribe_id'/></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"><spring:message code='d_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"><spring:message code='user_region'/></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"><spring:message code='scene_file'/></th></c:if> <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file" column="scene_file"><spring:message code='scene_file'/></th></c:if>
</tr> </tr>
</thead> </thead>
<tbody> <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> <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>
<div class="pull-right"> <div class="pull-right">
<a class="btn btn-icon-only btn-default setfields tooltips" <div class="btn-group">
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;"> <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<i class="icon-wrench"></i> <i class="fa fa-wrench"></i> <spring:message code="export"></spring:message>
</a> <i class="fa fa-angle-down"></i>
</div> </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> </div>
<!-- 筛选搜索内容栏默认隐藏--> <!-- 筛选搜索内容栏默认隐藏-->
@@ -212,40 +222,40 @@ $(document).ready(function(){
<thead> <thead>
<tr> <tr>
<th><spring:message code="log"/></th> <th><spring:message code="log"/></th>
<th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_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"><spring:message code="action"/></th> <th class="sort-column service" isVisible="false" column="action"><spring:message code="action"/></th>
<th class="sort-column found_time"><spring:message code="found_time"/></th> <th class="sort-column found_time" 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 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 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_url" 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 ftp_content" 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 trans_proto"><spring:message code="transport_layer_protocol"/></th> <th class="sort-column cap_ip" isVisible="false" column="clj_ip"><spring:message code="clj_ip"/></th>
<th class="sort-column addr_type"><spring:message code='addr_type'/></th> <th class="sort-column trans_proto" column="transport_layer_protocol"><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column d_ip"><spring:message code="server_ip"/></th> <th class="sort-column addr_type" column="addr_type"><spring:message code='addr_type'/></th>
<th class="sort-column s_ip"><spring:message code="client_ip"/></th> <th class="sort-column d_ip" column="server_ip"><spring:message code="server_ip"/></th>
<th class="sort-column d_port"><spring:message code="server_port"/></th> <th class="sort-column s_ip" column="client_ip"><spring:message code="client_ip"/></th>
<th class="sort-column s_port"><spring:message code="client_port"/></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 device_id" isVisible="false" column="deviceid"><spring:message code="deviceid"/></th>
<th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> <th class="sort-column link_id" isVisible="false" column="link_id"><spring:message code="link_id"/></th>
<th class="sort-column encap_type"><spring:message code="encap_type"/></th> <th class="sort-column encap_type" column="encap_type"><spring:message code="encap_type"/></th>
<th class="sort-column direction"><spring:message code="direction"/></th> <th class="sort-column direction" column="direction"><spring:message code="direction"/></th>
<th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> <th class="sort-column inner_smac" 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 inner_dmac" 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 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 addr_list" column="nest_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 server_locate" 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 client_locate" 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 s_asn" isVisible="false" column="s_asn"><spring:message code='s_asn'/></th>
<th class="sort-column d_asn" isVisible="false"><spring:message code='d_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"><spring:message code='s_subscribe_id'/></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"><spring:message code='d_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"><spring:message code='user_region'/></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"><spring:message code='scene_file'/></th></c:if> <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file" column="scene_file"><spring:message code='scene_file'/></th></c:if>
</tr> </tr>
</thead> </thead>
<tbody> <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> <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>
<div class="pull-right"> <div class="pull-right">
<shiro:hasPermission name="whitelist:domain:config"> <div class="btn-group">
<button type="button" class="btn btn-default fa fa-exchange" id="logToUrl"> <spring:message code="log_to_url"/></button> <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
</shiro:hasPermission> <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" <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:;"> data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
<i class="icon-wrench"></i> <i class="icon-wrench"></i>
@@ -249,41 +256,40 @@
<thead> <thead>
<tr> <tr>
<th><input type="checkbox" class="i-checks" id="checkAll"> <spring:message code="log"/></th> <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 cfg_id " isVisible="false" column="cfg_id"><spring:message code="cfg_id"/></th>
<th class="sort-column service" isVisible="false"><spring:message code="action"/></th> <th class="sort-column service" isVisible="false" column="action"><spring:message code="action"/></th>
<th class="sort-column found_time"><spring:message code="found_time"/></th> <th class="sort-column found_time" 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 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 cap_ip" isVisible="false" column="clj_ip"><spring:message code="clj_ip"/></th>
<th class="sort-column website"><spring:message code="website"/></th> <th class="sort-column trans_proto" column="transport_layer_protocol"><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></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 device_id" isVisible="false" column="deviceid"><spring:message code="deviceid"/></th>
<th class="sort-column addr_type"><spring:message code='addr_type'/></th> <th class="sort-column link_id" isVisible="false" column="link_id"><spring:message code="link_id"/></th>
<th class="sort-column d_ip"><spring:message code="server_ip"/></th> <th class="sort-column encap_type" column="encap_type"><spring:message code="encap_type"/></th>
<th class="sort-column s_ip"><spring:message code="client_ip"/></th> <th class="sort-column direction" column="direction"><spring:message code="direction"/></th>
<th class="sort-column d_port"><spring:message code="server_port"/></th> <th class="sort-column inner_smac" column="inner_smac"><spring:message code="inner_smac"/></th>
<th class="sort-column s_port"><spring:message code="client_port"/></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 addr_list" column="nest_addr_list"><spring:message code="nest_addr_list"/></th>
<th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> <th class="sort-column server_locate" column="server_locate"><spring:message code='server_locate'/></th>
<th class="sort-column encap_type"><spring:message code="encap_type"/></th> <th class="sort-column client_locate" column="client_locate"><spring:message code='client_locate'/></th>
<th class="sort-column direction"><spring:message code="direction"/></th> <th class="sort-column s_asn" isVisible="false" column="s_asn"><spring:message code='s_asn'/></th>
<th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> <th class="sort-column d_asn" isVisible="false" column="d_asn"><spring:message code='d_asn'/></th>
<th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></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 stream_dir"><spring:message code="stream_type"/></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>
<th class="sort-column addr_list"><spring:message code="nest_addr_list"/></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 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>
</tr> </tr>
</thead> </thead>
<tbody> <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> <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>
<div class="pull-right"> <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" <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:;"> data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
<i class="icon-wrench"></i> <i class="icon-wrench"></i>
@@ -220,50 +230,50 @@
<thead> <thead>
<tr> <tr>
<th><spring:message code="log"/></th> <th><spring:message code="log"/></th>
<th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_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"><spring:message code="action"/></th> <th class="sort-column service" isVisible="false" column="action"><spring:message code="action"/></th>
<th class="sort-column found_time"><spring:message code="found_time"/></th> <th class="sort-column found_time" 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 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 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()}"> <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_key" isVisible="false" column="req_hdr_key"><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_hdr_file" 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_key" isVisible="false" column="req_body_key"><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 req_body_file" 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_key" isVisible="false" column="res_hdr_key"><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_hdr_file" 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_key" isVisible="false" column="res_body_key"><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 res_body_file" column="res_body_file"><spring:message code="res_body_file"/></th>
</c:if> </c:if>
<th class="sort-column website"><spring:message code="website"/></th> <th class="sort-column website" 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 device_id" isVisible="false" column="deviceid"><spring:message code="deviceid"/></th>
<th class="sort-column addr_type"><spring:message code='addr_type'/></th> <th class="sort-column link_id" isVisible="false" column="link_id"><spring:message code="link_id"/></th>
<th class="sort-column d_ip"><spring:message code="server_ip"/></th> <th class="sort-column encap_type" column="encap_type"><spring:message code="encap_type"/></th>
<th class="sort-column s_ip"><spring:message code="client_ip"/></th> <th class="sort-column direction" column="direction"><spring:message code="direction"/></th>
<th class="sort-column d_port"><spring:message code="server_port"/></th> <th class="sort-column inner_smac" column="inner_smac"><spring:message code="inner_smac"/></th>
<th class="sort-column s_port"><spring:message code="client_port"/></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 addr_list" column="nest_addr_list"><spring:message code="nest_addr_list"/></th>
<th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> <th class="sort-column server_locate" column="server_locate"><spring:message code='server_locate'/></th>
<th class="sort-column encap_type"><spring:message code="encap_type"/></th> <th class="sort-column client_locate" column="client_locate"><spring:message code='client_locate'/></th>
<th class="sort-column direction"><spring:message code="direction"/></th> <th class="sort-column s_asn" isVisible="false" column="s_asn"><spring:message code='s_asn'/></th>
<th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> <th class="sort-column d_asn" isVisible="false" column="d_asn"><spring:message code='d_asn'/></th>
<th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></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 stream_dir"><spring:message code="stream_type"/></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>
<th class="sort-column addr_list"><spring:message code="nest_addr_list"/></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 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>
</tr> </tr>
</thead> </thead>
<tbody> <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> <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>
<div class="pull-right"> <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" <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:;"> data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
<i class="icon-wrench"></i> <i class="icon-wrench"></i>
@@ -234,43 +244,44 @@
<thead> <thead>
<tr> <tr>
<th><spring:message code="log"/></th> <th><spring:message code="log"/></th>
<th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_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"><spring:message code="action"/></th> <th class="sort-column service" isVisible="false" column="action"><spring:message code="action"/></th>
<th class="sort-column found_time"><spring:message code="found_time"/></th> <th class="sort-column found_time" 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 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 cap_ip" isVisible="false" column="clj_ip"><spring:message code="clj_ip"/></th>
<th class="sort-column mail_from"><spring:message code="mail_from"/></th> <th class="sort-column trans_proto" column="transport_layer_protocol"><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column mail_to"><spring:message code="mail_to"/></th> <th class="sort-column addr_type" column="addr_type"><spring:message code='addr_type'/></th>
<th class="sort-column subject"><spring:message code="subject"/></th> <th class="sort-column d_ip" column="server_ip"><spring:message code="server_ip"/></th>
<th class="sort-column eml_file"><spring:message code="eml_file"/></th> <th class="sort-column s_ip" column="client_ip"><spring:message code="client_ip"/></th>
<th class="sort-column eml_key" isVisible="false"><spring:message code="eml_key"/></th> <th class="sort-column d_port" column="server_port"><spring:message code="server_port"/></th>
<th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></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"><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 device_id" isVisible="false" column="deviceid"><spring:message code="deviceid"/></th>
<th class="sort-column server_locate"><spring:message code='server_locate'/></th> <th class="sort-column link_id" isVisible="false" column="link_id"><spring:message code="link_id"/></th>
<th class="sort-column client_locate"><spring:message code='client_locate'/></th> <th class="sort-column encap_type" column="encap_type"><spring:message code="encap_type"/></th>
<th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> <th class="sort-column direction" column="direction"><spring:message code="direction"/></th>
<th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> <th class="sort-column inner_smac" column="inner_smac"><spring:message code="inner_smac"/></th>
<th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> <th class="sort-column inner_dmac" column="inner_dmac"><spring:message code="inner_dmac"/></th>
<th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> <th class="sort-column stream_dir" column="stream_type"><spring:message code="stream_type"/></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> </tr>
</thead> </thead>
<tbody> <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> <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>
<div class="pull-right"> <div class="pull-right">
<a class="btn btn-icon-only btn-default setfields tooltips" <div class="btn-group">
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;"> <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<i class="icon-wrench"></i> <i class="fa fa-wrench"></i> <spring:message code="export"></spring:message>
</a> <i class="fa fa-angle-down"></i>
</div> </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> </div>
<!-- 筛选搜索内容栏默认隐藏--> <!-- 筛选搜索内容栏默认隐藏-->
@@ -210,54 +220,55 @@ $(document).ready(function(){
<thead> <thead>
<tr> <tr>
<th><spring:message code="log"/></th> <th><spring:message code="log"/></th>
<th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_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"><spring:message code="action"/></th> <th class="sort-column service" isVisible="false" column="action"><spring:message code="action"/></th>
<th class="sort-column found_time"><spring:message code="found_time"/></th> <th class="sort-column found_time" 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 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" column="duation"><spring:message code='duation'/></th></c:if>
<th class="sort-column voip_protocol" column="voip_protocol"><spring:message code='voip_protocol'/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column duation"><spring:message code='duation'/></th></c:if> <th class="sort-column calling_account" column="calling_account"><spring:message code='calling_account'/></th>
<th class="sort-column voip_protocol"><spring:message code='voip_protocol'/></th> <th class="sort-column called_account" column="called_account"><spring:message code='called_account'/></th>
<th class="sort-column calling_account"><spring:message code='calling_account'/></th> <th class="sort-column calling_number" isVisible="false" column="calling_number"><spring:message code='calling_number'/></th>
<th class="sort-column called_account"><spring:message code='called_account'/></th> <th class="sort-column called_number" isVisible="false" column="called_number"><spring:message code='called_number'/></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()}"> <c:if test="${fns:getUser().isAdmin()}">
<th><spring:message code='from_to_store_ip'/></th> <th column="from_to_store_ip"><spring:message code='from_to_store_ip'/></th>
<th><spring:message code='from_to_store_url'/></th> <th column="from_to_store_url"><spring:message code='from_to_store_url'/></th>
<th><spring:message code='to_from_store_ip'/></th> <th column="to_from_store_ip"><spring:message code='to_from_store_ip'/></th>
<th><spring:message code='to_from_store_url'/></th> <th column="to_from_store_url"><spring:message code='to_from_store_url'/></th>
</c:if> </c:if>
<th class="sort-column pid" isVisible="false"><spring:message code='pid'/></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"><spring:message code='log_uri'/></th></c:if> <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"><spring:message code='harm_level'/></th> <th class="sort-column level" isVisible="false" column="harm_level"><spring:message code='harm_level'/></th>
<th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></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 cap_ip" isVisible="false" column="clj_ip"><spring:message code="clj_ip"/></th>
<th class="sort-column addr_type"><spring:message code='addr_type'/></th> <th class="sort-column trans_proto" column="transport_layer_protocol"><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column d_ip"><spring:message code="server_ip"/></th> <th class="sort-column addr_type" column="addr_type"><spring:message code='addr_type'/></th>
<th class="sort-column s_ip"><spring:message code="client_ip"/></th> <th class="sort-column d_ip" column="server_ip"><spring:message code="server_ip"/></th>
<th class="sort-column d_port"><spring:message code="server_port"/></th> <th class="sort-column s_ip" column="client_ip"><spring:message code="client_ip"/></th>
<th class="sort-column s_port"><spring:message code="client_port"/></th> <th class="sort-column d_port" column="server_port"><spring:message code="server_port"/></th>
<th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th> <th class="sort-column s_port" column="client_port"><spring:message code="client_port"/></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 addr_list"><spring:message code="nest_addr_list"/></th> <th class="sort-column device_id" isVisible="false" column="deviceid"><spring:message code="deviceid"/></th>
<th class="sort-column server_locate"><spring:message code='server_locate'/></th> <th class="sort-column link_id" isVisible="false" column="link_id"><spring:message code="link_id"/></th>
<th class="sort-column client_locate"><spring:message code='client_locate'/></th> <th class="sort-column encap_type" column="encap_type"><spring:message code="encap_type"/></th>
<th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></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 d_asn" isVisible="false"><spring:message code='d_asn'/></th> <th class="sort-column inner_smac" column="inner_smac"><spring:message code="inner_smac"/></th>
<th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> <th class="sort-column inner_dmac" column="inner_dmac"><spring:message code="inner_dmac"/></th>
<th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> <th class="sort-column stream_dir" column="stream_type"><spring:message code="stream_type"/></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> </tr>
</thead> </thead>
<tbody> <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> <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>
<div class="pull-right"> <div class="pull-right">
<a class="btn btn-icon-only btn-default setfields tooltips" <div class="btn-group">
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;"> <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<i class="icon-wrench"></i> <i class="fa fa-wrench"></i> <spring:message code="export"></spring:message>
</a> <i class="fa fa-angle-down"></i>
</div> </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> </div>
<!-- 筛选搜索内容栏默认隐藏--> <!-- 筛选搜索内容栏默认隐藏-->
@@ -209,38 +219,40 @@ $(document).ready(function(){
<thead> <thead>
<tr> <tr>
<th><spring:message code="log"/></th> <th><spring:message code="log"/></th>
<th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_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"><spring:message code="action"/></th> <th class="sort-column service" isVisible="false" column="action"><spring:message code="action"/></th>
<th class="sort-column found_time"><spring:message code="found_time"/></th> <th class="sort-column found_time" 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 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="access_url"><spring:message code='access_url'/></th>
<th class="sort-column url"><spring:message code='access_url'/></th> <th column="stream_media_protocol"><spring:message code='stream_media_protocol'/></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 addr_list"><spring:message code="nest_addr_list"/></th> <th class="sort-column cap_ip" isVisible="false" column="clj_ip"><spring:message code="clj_ip"/></th>
<th class="sort-column server_locate"><spring:message code='server_locate'/></th> <th class="sort-column trans_proto" column="transport_layer_protocol"><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column client_locate"><spring:message code='client_locate'/></th> <th class="sort-column addr_type" column="addr_type"><spring:message code='addr_type'/></th>
<th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> <th class="sort-column d_ip" column="server_ip"><spring:message code="server_ip"/></th>
<th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> <th class="sort-column s_ip" column="client_ip"><spring:message code="client_ip"/></th>
<th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> <th class="sort-column d_port" column="server_port"><spring:message code="server_port"/></th>
<th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> <th class="sort-column s_port" column="client_port"><spring:message code="client_port"/></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> </tr>
</thead> </thead>
<tbody> <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> <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>
<div class="pull-right"> <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" <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:;"> data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
<i class="icon-wrench"></i> <i class="icon-wrench"></i>
@@ -211,40 +221,41 @@
<thead> <thead>
<tr> <tr>
<th><spring:message code="log"/></th> <th><spring:message code="log"/></th>
<th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_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"><spring:message code="action"/></th> <th class="sort-column service" isVisible="false" column="action"><spring:message code="action"/></th>
<th class="sort-column found_time"><spring:message code="found_time"/></th> <th class="sort-column found_time" 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 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 cap_ip" isVisible="false" column="clj_ip"><spring:message code="clj_ip"/></th>
<th class="sort-column p2p_file_id"><spring:message code="p2p_file_id"/></th> <th class="sort-column trans_proto" column="transport_layer_protocol"><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column p2p_keyword"><spring:message code="p2p_keyword"/></th> <th class="sort-column addr_type" column="addr_type"><spring:message code='addr_type'/></th>
<th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th> <th class="sort-column d_ip" column="server_ip"><spring:message code="server_ip"/></th>
<th class="sort-column trans_proto"><spring:message code="transport_layer_protocol"/></th> <th class="sort-column s_ip" column="client_ip"><spring:message code="client_ip"/></th>
<th class="sort-column addr_type"><spring:message code='addr_type'/></th> <th class="sort-column d_port" column="server_port"><spring:message code="server_port"/></th>
<th class="sort-column d_ip"><spring:message code="server_ip"/></th> <th class="sort-column s_port" column="client_port"><spring:message code="client_port"/></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 device_id" isVisible="false" column="deviceid"><spring:message code="deviceid"/></th>
<th class="sort-column server_locate"><spring:message code='server_locate'/></th> <th class="sort-column link_id" isVisible="false" column="link_id"><spring:message code="link_id"/></th>
<th class="sort-column client_locate"><spring:message code='client_locate'/></th> <th class="sort-column encap_type" column="encap_type"><spring:message code="encap_type"/></th>
<th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> <th class="sort-column direction" column="direction"><spring:message code="direction"/></th>
<th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> <th class="sort-column inner_smac" column="inner_smac"><spring:message code="inner_smac"/></th>
<th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> <th class="sort-column inner_dmac" column="inner_dmac"><spring:message code="inner_dmac"/></th>
<th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> <th class="sort-column stream_dir" column="stream_type"><spring:message code="stream_type"/></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> </tr>
</thead> </thead>
<tbody> <tbody>

View File

@@ -144,12 +144,21 @@
</div> </div>
<div class="pull-right"> <div class="pull-right">
<a class="btn btn-icon-only btn-default setfields tooltips" <div class="btn-group">
data-container="body" data-placement="top" <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
data-original-title=<spring:message code="custom_columns"/> <i class="fa fa-wrench"></i> <spring:message code="export"></spring:message>
href="javascript:;"> <i class="icon-wrench"></i> <i class="fa fa-angle-down"></i>
</a> </button>
</div> <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> </div>
<!-- /搜索内容与操作按钮栏--> <!-- /搜索内容与操作按钮栏-->
@@ -224,41 +233,43 @@
<thead> <thead>
<tr> <tr>
<th><spring:message code="log"/></th> <th><spring:message code="log"/></th>
<th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_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"><spring:message code="action"/></th> <th class="sort-column service" isVisible="false" column="action"><spring:message code="action"/></th>
<th class="sort-column found_time"><spring:message code="found_time"/></th> <th class="sort-column found_time" 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 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 cap_ip" isVisible="false" column="clj_ip"><spring:message code="clj_ip"/></th>
<th class="sort-column server_locate"><spring:message code='server_locate'/></th> <th class="sort-column trans_proto" column="transport_layer_protocol"><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column client_locate"><spring:message code='client_locate'/></th> <th class="sort-column addr_type" column="addr_type"><spring:message code='addr_type'/></th>
<th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> <th class="sort-column d_ip" column="server_ip"><spring:message code="server_ip"/></th>
<th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> <th class="sort-column s_ip" column="client_ip"><spring:message code="client_ip"/></th>
<th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> <th class="sort-column d_port" column="server_port"><spring:message code="server_port"/></th>
<th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> <th class="sort-column s_port" column="client_port"><spring:message code="client_port"/></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> </tr>
</thead> </thead>
<tbody> <tbody>