实时报表->事件报表(查询,界面,导出):1.事件监测 2.事件封堵 3.重点保障

This commit is contained in:
lihaochen
2018-12-25 18:40:58 +08:00
parent b6b5bf190a
commit 84c4423a78
11 changed files with 1642 additions and 4 deletions

View File

@@ -0,0 +1,153 @@
package com.nis.domain.report;
import java.util.Date;
import com.nis.util.excel.ExcelField;
/**
* 重点保障事件实体对象
*
* @author A.Chen
*
*/
public class NtcEventKeyProtectionReport {
/**
*
*/
@ExcelField(title = "task_id", sort = 1)
private String taskId;
@ExcelField(title = "task_name", sort = 2)
private String taskName;
@ExcelField(title = "letter_num", sort = 3)
private long letterNum;
@ExcelField(title = "config_num", sort = 4)
private long configNum;
@ExcelField(title = "monitor_num", sort = 5)
private long monitorNum;
@ExcelField(title = "control_num", sort = 6)
private long controlNum;
@ExcelField(title = "task_time", sort = 7)
private String taskTime;
@ExcelField(title = "stat_time", sort = 8)
private String reportTime;
private String searchReportStartTime;
private String searchReportEndTime;
private String searchTaskStartTime;
private String searchTaskEndTime;
public String getTaskTime() {
return taskTime;
}
public void setTaskTime(String taskTime) {
this.taskTime = taskTime;
}
public String getTaskName() {
return taskName;
}
public void setTaskName(String taskName) {
this.taskName = taskName;
}
public long getLetterNum() {
return letterNum;
}
public void setLetterNum(long letterNum) {
this.letterNum = letterNum;
}
public long getConfigNum() {
return configNum;
}
public void setConfigNum(long configNum) {
this.configNum = configNum;
}
public long getMonitorNum() {
return monitorNum;
}
public void setMonitorNum(long monitorNum) {
this.monitorNum = monitorNum;
}
public long getControlNum() {
return controlNum;
}
public void setControlNum(long controlNum) {
this.controlNum = controlNum;
}
public String getSearchReportStartTime() {
return searchReportStartTime;
}
public void setSearchReportStartTime(String searchReportStartTime) {
this.searchReportStartTime = searchReportStartTime;
}
public String getSearchReportEndTime() {
return searchReportEndTime;
}
public void setSearchReportEndTime(String searchReportEndTime) {
this.searchReportEndTime = searchReportEndTime;
}
public String getSearchTaskStartTime() {
return searchTaskStartTime;
}
public void setSearchTaskStartTime(String searchTaskStartTime) {
this.searchTaskStartTime = searchTaskStartTime;
}
public String getSearchTaskEndTime() {
return searchTaskEndTime;
}
public void setSearchTaskEndTime(String searchTaskEndTime) {
this.searchTaskEndTime = searchTaskEndTime;
}
public String getTaskId() {
return taskId;
}
public void setTaskId(String taskId) {
this.taskId = taskId;
}
public String getReportTime() {
return reportTime;
}
public void setReportTime(String reportTime) {
this.reportTime = reportTime;
}
@Override
public String toString() {
return "NtcEventKeyProtectionReport [taskTime=" + taskTime + ", taskName=" + taskName + ", letterNum="
+ letterNum + ", configNum=" + configNum + ", monitorNum=" + monitorNum + ", controlNum=" + controlNum
+ ", taskId=" + taskId + ", reportTime=" + reportTime + ", searchReportStartTime="
+ searchReportStartTime + ", searchReportEndTime=" + searchReportEndTime + ", searchTaskStartTime="
+ searchTaskStartTime + ", searchTaskEndTime=" + searchTaskEndTime + "]";
}
}

View File

@@ -0,0 +1,167 @@
package com.nis.domain.report;
import com.nis.util.excel.ExcelField;
/**
* 监测事件和封堵事件实体对象
*
* @author A.Chen
*
*/
public class NtcEventMonitorOrBlockReport {
@ExcelField(title = "task_time", sort = 8)
private String taskTime;// 审核时间
@ExcelField(title = "task_name", sort = 2)
private String taskName;// 事件名称
@ExcelField(title = "ip_count", sort = 3)
private long ipNum;// ip数量
@ExcelField(title = "http_num", sort = 4)
private long httpNum;// http数量
@ExcelField(title = "mail_num", sort = 5)
private long mailNum;// 邮件数量
@ExcelField(title = "vedio_count", sort = 6)
private long vedioNum;// 视频次数
@ExcelField(title = "agent_count", sort = 7)
private long agentNum;// 代理次数
@ExcelField(title = "task_id", sort = 1)
private String taskId;// 审核ID
@ExcelField(title = "stat_time", sort = 9)
private String reportTime;// 统计时间
//
private String searchReportStartTime;// 统计开始时间
private String searchReportEndTime;// 统计结束时间
private String searchTaskStartTime;// 审核开始时间
private String searchTaskEndTime;// 审核结束时间
private int reportType;// 查询类型 1.封堵 2.监测
public String getReportTime() {
return reportTime;
}
public void setReportTime(String reportTime) {
this.reportTime = reportTime;
}
public String getTaskTime() {
return taskTime;
}
public void setTaskTime(String taskTime) {
this.taskTime = taskTime;
}
public String getTaskName() {
return taskName;
}
public void setTaskName(String taskName) {
this.taskName = taskName;
}
public long getIpNum() {
return ipNum;
}
public void setIpNum(long ipNum) {
this.ipNum = ipNum;
}
public long getHttpNum() {
return httpNum;
}
public void setHttpNum(long httpNum) {
this.httpNum = httpNum;
}
public long getMailNum() {
return mailNum;
}
public void setMailNum(long mailNum) {
this.mailNum = mailNum;
}
public long getVedioNum() {
return vedioNum;
}
public void setVedioNum(long vedioNum) {
this.vedioNum = vedioNum;
}
public long getAgentNum() {
return agentNum;
}
public void setAgentNum(long agentNum) {
this.agentNum = agentNum;
}
public String getSearchReportStartTime() {
return searchReportStartTime;
}
public void setSearchReportStartTime(String searchReportStartTime) {
this.searchReportStartTime = searchReportStartTime;
}
public String getSearchReportEndTime() {
return searchReportEndTime;
}
public void setSearchReportEndTime(String searchReportEndTime) {
this.searchReportEndTime = searchReportEndTime;
}
public String getSearchTaskStartTime() {
return searchTaskStartTime;
}
public void setSearchTaskStartTime(String searchTaskStartTime) {
this.searchTaskStartTime = searchTaskStartTime;
}
public String getSearchTaskEndTime() {
return searchTaskEndTime;
}
public void setSearchTaskEndTime(String searchTaskEndTime) {
this.searchTaskEndTime = searchTaskEndTime;
}
public int getReportType() {
return reportType;
}
public void setReportType(int reportType) {
this.reportType = reportType;
}
public String getTaskId() {
return taskId;
}
public void setTaskId(String taskId) {
this.taskId = taskId;
}
@Override
public String toString() {
return "NtcEventMonitorOrBlockReport [taskTime=" + taskTime + ", taskName=" + taskName + ", ipNum=" + ipNum
+ ", httpNum=" + httpNum + ", mailNum=" + mailNum + ", vedioNum=" + vedioNum + ", agentNum=" + agentNum
+ ", searchReportStartTime=" + searchReportStartTime + ", searchReportEndTime=" + searchReportEndTime
+ ", searchTaskStartTime=" + searchTaskStartTime + ", searchTaskEndTime=" + searchTaskEndTime
+ ", reportType=" + reportType + ", taskId=" + taskId + ", reportTime=" + reportTime + "]";
}
}

View File

@@ -0,0 +1,228 @@
package com.nis.web.controller.report;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import com.nis.domain.Page;
import com.nis.domain.PageLog;
import com.nis.domain.maat.LogRecvData;
import com.nis.domain.report.NtcEventMonitorOrBlockReport;
import com.nis.util.Constants;
import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController;
@Controller
@RequestMapping("${adminPath}/eventBlock")
public class NtcEventBlockController extends BaseController {
/**
* EventBlock
*
* @param log
* @param model
* @param request
* @param response
* @return
*/
@RequestMapping(value = { "/eventBlockList", "" })
public String eventBlockList(@ModelAttribute("log") NtcEventMonitorOrBlockReport log, Model model,
HttpServletRequest request, HttpServletResponse response) {
try {
PageLog<NtcEventMonitorOrBlockReport> page = new PageLog<NtcEventMonitorOrBlockReport>(request, response);
Map<String, Object> params = new HashMap<String, Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
// 判断请求参数
if (StringUtils.isNotBlank(log.getSearchReportStartTime())
&& StringUtils.isNotBlank(log.getSearchReportEndTime())) {
params.put("searchReportStartTime", log.getSearchReportStartTime());
params.put("searchReportEndTime", log.getSearchReportEndTime());
}
if (StringUtils.isNotBlank(log.getSearchTaskStartTime())
&& StringUtils.isNotBlank(log.getSearchTaskEndTime())) {
params.put("searchTaskStartTime", log.getSearchTaskStartTime());
params.put("searchTaskEndTime", log.getSearchTaskEndTime());
}
if (StringUtils.isNotBlank(log.getTaskName())) {
params.put("taskName", log.getTaskName());
}
if (StringUtils.isNotBlank(log.getTaskId())) {
params.put("taskId", log.getTaskId());
}
params.put("reportType", 1);
String url = Constants.LOG_BASE_URL + Constants.NTC_EVENT_MONITOR_OR_BLOCK_Report;
// String url =
// "http://192.168.11.56:8080/galaxy-service/service/log/v1/ntcEventsMonitorOrBlock?reportType=1";
String recv = HttpClientUtil.getMsg(url, params, request);
if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create();
LogRecvData<NtcEventMonitorOrBlockReport> fromJson = gson.fromJson(recv,
new TypeToken<LogRecvData<NtcEventMonitorOrBlockReport>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<NtcEventMonitorOrBlockReport> data = fromJson.getData();
page.setCount(data.getCount());
page.setLast(data.getLast());
page.setList(data.getList());
model.addAttribute("page", page);
}
}
} catch (Exception e) {
logger.error("查询失败", e);
addMessageLog(model, e.getMessage());
}
return "/report/eventBlockList";
}
// eventMonitorExport
@RequestMapping(value = "eventBlockExport")
public void eventBlockExport(@ModelAttribute("log") NtcEventMonitorOrBlockReport log, Model model, String hColumns,
String type, HttpServletRequest request, HttpServletResponse response,
RedirectAttributes redirectAttributes) {
try {
// export data info
List<String> titleList = new ArrayList<String>();
Map<String, Class<?>> classMap = new HashMap<String, Class<?>>();
Map<String, List> dataMap = new HashMap<String, List>();
Map<String, String> noExportMap = new HashMap<String, String>();
// ---------------------------
PageLog<NtcEventMonitorOrBlockReport> page = new PageLog<NtcEventMonitorOrBlockReport>(request, response);
Map<String, Object> params = new HashMap<String, Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
// 判断请求参数
if (StringUtils.isNotBlank(log.getSearchReportStartTime())
&& StringUtils.isNotBlank(log.getSearchReportEndTime())) {
params.put("searchReportStartTime", log.getSearchReportStartTime());
params.put("searchReportEndTime", log.getSearchReportEndTime());
}
if (StringUtils.isNotBlank(log.getSearchTaskStartTime())
&& StringUtils.isNotBlank(log.getSearchTaskEndTime())) {
params.put("searchTaskStartTime", log.getSearchTaskStartTime());
params.put("searchTaskEndTime", log.getSearchTaskEndTime());
}
if (StringUtils.isNotBlank(log.getTaskName())) {
params.put("taskName", log.getTaskName());
}
if (StringUtils.isNotBlank(log.getTaskId())) {
params.put("taskId", log.getTaskId());
}
params.put("reportType", 1);
String url = Constants.LOG_BASE_URL + Constants.NTC_EVENT_MONITOR_OR_BLOCK_Report;
// String url =
// "http://192.168.11.56:8080/galaxy-service/service/log/v1/ntcEventsMonitorOrBlock?reportType=1";
String recv = HttpClientUtil.getMsg(url, params, request);
List<NtcEventMonitorOrBlockReport> list = new ArrayList<>();
if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create();
LogRecvData<NtcEventMonitorOrBlockReport> fromJson = gson.fromJson(recv,
new TypeToken<LogRecvData<NtcEventMonitorOrBlockReport>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<NtcEventMonitorOrBlockReport> data = fromJson.getData();
list = data.getList();
}
}
//
titleList.add("ntc_event_block_report");
classMap.put("ntc_event_block_report", NtcEventMonitorOrBlockReport.class);
String cfgIndexInfoNoExport = "";
noExportMap.put("ntc_event_block_report", cfgIndexInfoNoExport);
Properties msgProp = getMsgProp();
NtcEventMonitorOrBlockReport ntcEventMonitorOrBlockReport = new NtcEventMonitorOrBlockReport();
long ipNum = 0;
long httpNum = 0;
long mailNum = 0;
long vedioNum = 0;
long agentNum = 0;
for (NtcEventMonitorOrBlockReport entity : list) {
ipNum += entity.getIpNum();
httpNum += entity.getHttpNum();
mailNum += entity.getMailNum();
vedioNum += entity.getVedioNum();
agentNum += entity.getAgentNum();
}
String report_total = msgProp.getProperty("report_total");
ntcEventMonitorOrBlockReport.setIpNum(ipNum);
ntcEventMonitorOrBlockReport.setHttpNum(httpNum);
ntcEventMonitorOrBlockReport.setMailNum(mailNum);
ntcEventMonitorOrBlockReport.setVedioNum(vedioNum);
ntcEventMonitorOrBlockReport.setAgentNum(agentNum);
ntcEventMonitorOrBlockReport.setTaskId(report_total);
ntcEventMonitorOrBlockReport.setTaskName("    一   ");
ntcEventMonitorOrBlockReport.setTaskTime("    一   ");
ntcEventMonitorOrBlockReport.setReportTime("    一   ");
list.add(ntcEventMonitorOrBlockReport);
dataMap.put("ntc_event_block_report", list);
String timeRange = initHttpMap(log, "ntc_event_block_report");
noExportMap.put("timeRange", timeRange);
/* } */
if ("csv".equals(type)) {
this._exportCsv(model, request, response, redirectAttributes, "ntc_event_block_report", titleList,
classMap, dataMap, noExportMap);
} else {
this._export(model, request, response, redirectAttributes, "ntc_event_block_report", titleList,
classMap, dataMap, noExportMap);
}
} catch (Exception e) {
logger.error("ntc_event_block_report export failed", e);
addMessage(redirectAttributes, "error", "export_failed");
}
}
public String initHttpMap(NtcEventMonitorOrBlockReport log, String title) {
Properties msgProp = getMsgProp();
String logTime = msgProp.getProperty(title, title);
;
if (StringUtils.isNotBlank(log.getSearchReportStartTime())) {
logTime += " " + msgProp.getProperty("begin_date") + "" + log.getSearchReportStartTime();
}
if (StringUtils.isNotBlank(log.getSearchReportEndTime())) {
logTime += " " + msgProp.getProperty("end_date") + "" + log.getSearchReportEndTime();
}
if (StringUtils.isNotBlank(log.getSearchTaskStartTime())) {
logTime += " " + msgProp.getProperty("task_begin_time") + "" + log.getSearchTaskStartTime();
}
if (StringUtils.isNotBlank(log.getSearchTaskEndTime())) {
logTime += " " + msgProp.getProperty("task_end_time") + "" + log.getSearchTaskEndTime();
}
return logTime;
}
}

View File

@@ -0,0 +1,221 @@
package com.nis.web.controller.report;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import com.nis.domain.Page;
import com.nis.domain.PageLog;
import com.nis.domain.maat.LogRecvData;
import com.nis.domain.report.NtcEventKeyProtectionReport;
import com.nis.util.Constants;
import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController;
@Controller
@RequestMapping("${adminPath}/eventKeyProtection")
public class NtcEventKeyProtectionController extends BaseController {
/**
* EventBlock
*
* @param log
* @param model
* @param request
* @param response
* @return
*/
@RequestMapping(value = { "/eventKeyProtectionList", "" })
public String eventKeyProtectionList(@ModelAttribute("log") NtcEventKeyProtectionReport log, Model model,
HttpServletRequest request, HttpServletResponse response) {
try {
PageLog<NtcEventKeyProtectionReport> page = new PageLog<NtcEventKeyProtectionReport>(request, response);
Map<String, Object> params = new HashMap<String, Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
// 判断请求参数
if (StringUtils.isNotBlank(log.getSearchReportStartTime())
&& StringUtils.isNotBlank(log.getSearchReportEndTime())) {
params.put("searchReportStartTime", log.getSearchReportStartTime());
params.put("searchReportEndTime", log.getSearchReportEndTime());
}
if (StringUtils.isNotBlank(log.getSearchTaskStartTime())
&& StringUtils.isNotBlank(log.getSearchTaskEndTime())) {
params.put("searchTaskStartTime", log.getSearchTaskStartTime());
params.put("searchTaskEndTime", log.getSearchTaskEndTime());
}
if (StringUtils.isNotBlank(log.getTaskName())) {
params.put("taskName", log.getTaskName());
}
if (StringUtils.isNotBlank(log.getTaskId())) {
params.put("taskId", log.getTaskId());
}
String url = Constants.LOG_BASE_URL + Constants.NTC_EVENT_MONITOR_OR_BLOCK_Report;
// String url =
// "http://192.168.11.56:8080/galaxy-service/service/log/v1/ntcEventKeyProtection";
String recv = HttpClientUtil.getMsg(url, params, request);
if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create();
LogRecvData<NtcEventKeyProtectionReport> fromJson = gson.fromJson(recv,
new TypeToken<LogRecvData<NtcEventKeyProtectionReport>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<NtcEventKeyProtectionReport> data = fromJson.getData();
page.setCount(data.getCount());
page.setLast(data.getLast());
page.setList(data.getList());
model.addAttribute("page", page);
}
}
} catch (Exception e) {
logger.error("查询失败", e);
addMessageLog(model, e.getMessage());
}
return "/report/eventKeyProtectionList";
}
// eventMonitorExport
@RequestMapping(value = "eventKeyProtectionExport")
public void eventKeyProtectionExport(@ModelAttribute("log") NtcEventKeyProtectionReport log, Model model,
String hColumns, String type, HttpServletRequest request, HttpServletResponse response,
RedirectAttributes redirectAttributes) {
try {
// export data info
List<String> titleList = new ArrayList<String>();
Map<String, Class<?>> classMap = new HashMap<String, Class<?>>();
Map<String, List> dataMap = new HashMap<String, List>();
Map<String, String> noExportMap = new HashMap<String, String>();
// ---------------------------
PageLog<NtcEventKeyProtectionReport> page = new PageLog<NtcEventKeyProtectionReport>(request, response);
Map<String, Object> params = new HashMap<String, Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
// 判断请求参数
if (StringUtils.isNotBlank(log.getSearchReportStartTime())
&& StringUtils.isNotBlank(log.getSearchReportEndTime())) {
params.put("searchReportStartTime", log.getSearchReportStartTime());
params.put("searchReportEndTime", log.getSearchReportEndTime());
}
if (StringUtils.isNotBlank(log.getSearchTaskStartTime())
&& StringUtils.isNotBlank(log.getSearchTaskEndTime())) {
params.put("searchTaskStartTime", log.getSearchTaskStartTime());
params.put("searchTaskEndTime", log.getSearchTaskEndTime());
}
if (StringUtils.isNotBlank(log.getTaskName())) {
params.put("taskName", log.getTaskName());
}
if (StringUtils.isNotBlank(log.getTaskId())) {
params.put("taskId", log.getTaskId());
}
String url = Constants.LOG_BASE_URL + Constants.NTC_EVENT_MONITOR_OR_BLOCK_Report;
// String url =
// "http://192.168.11.56:8080/galaxy-service/service/log/v1/ntcEventKeyProtection";
String recv = HttpClientUtil.getMsg(url, params, request);
List<NtcEventKeyProtectionReport> list = new ArrayList<>();
if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create();
LogRecvData<NtcEventKeyProtectionReport> fromJson = gson.fromJson(recv,
new TypeToken<LogRecvData<NtcEventKeyProtectionReport>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<NtcEventKeyProtectionReport> data = fromJson.getData();
list = data.getList();
}
}
//
titleList.add("ntc_event_key_protection_report");
classMap.put("ntc_event_key_protection_report", NtcEventKeyProtectionReport.class);
String cfgIndexInfoNoExport = "";
noExportMap.put("ntc_event_key_protection_report", cfgIndexInfoNoExport);
Properties msgProp = getMsgProp();
NtcEventKeyProtectionReport ntcEventKeyProtectionReport = new NtcEventKeyProtectionReport();
long letterNum = 0;
long configNum = 0;
long monitorNum = 0;
long controlNum = 0;
for (NtcEventKeyProtectionReport entity : list) {
letterNum += entity.getLetterNum();
configNum += entity.getConfigNum();
monitorNum += entity.getMonitorNum();
controlNum += entity.getControlNum();
}
String report_total = msgProp.getProperty("report_total");
ntcEventKeyProtectionReport.setLetterNum(letterNum);
ntcEventKeyProtectionReport.setConfigNum(configNum);
ntcEventKeyProtectionReport.setMonitorNum(monitorNum);
ntcEventKeyProtectionReport.setControlNum(controlNum);
ntcEventKeyProtectionReport.setTaskId(report_total);
ntcEventKeyProtectionReport.setTaskName("     一     ");
ntcEventKeyProtectionReport.setTaskTime("     一     ");
ntcEventKeyProtectionReport.setReportTime("    一     ");
list.add(ntcEventKeyProtectionReport);
dataMap.put("ntc_event_key_protection_report", list);
String timeRange = initHttpMap(log, "ntc_event_key_protection_report");
noExportMap.put("timeRange", timeRange);
/* } */
if ("csv".equals(type)) {
this._exportCsv(model, request, response, redirectAttributes, "ntc_event_key_protection_report",
titleList, classMap, dataMap, noExportMap);
} else {
this._export(model, request, response, redirectAttributes, "ntc_event_key_protection_report", titleList,
classMap, dataMap, noExportMap);
}
} catch (Exception e) {
logger.error("ntc_event_key_protection_report export failed", e);
addMessage(redirectAttributes, "error", "export_failed");
}
}
public String initHttpMap(NtcEventKeyProtectionReport log, String title) {
Properties msgProp = getMsgProp();
String logTime = msgProp.getProperty(title, title);
;
if (StringUtils.isNotBlank(log.getSearchReportStartTime())) {
logTime += " " + msgProp.getProperty("begin_date") + "" + log.getSearchReportStartTime();
}
if (StringUtils.isNotBlank(log.getSearchReportEndTime())) {
logTime += " " + msgProp.getProperty("end_date") + "" + log.getSearchReportEndTime();
}
if (StringUtils.isNotBlank(log.getSearchTaskStartTime())) {
logTime += " " + msgProp.getProperty("task_begin_time") + "" + log.getSearchTaskStartTime();
}
if (StringUtils.isNotBlank(log.getSearchTaskEndTime())) {
logTime += " " + msgProp.getProperty("task_end_time") + "" + log.getSearchTaskEndTime();
}
return logTime;
}
}

View File

@@ -0,0 +1,231 @@
package com.nis.web.controller.report;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import com.nis.domain.Page;
import com.nis.domain.PageLog;
import com.nis.domain.maat.LogRecvData;
import com.nis.domain.report.BaseReport;
import com.nis.domain.report.NtcEventMonitorOrBlockReport;
import com.nis.domain.report.NtcURLReport;
import com.nis.util.Constants;
import com.nis.util.DateUtils;
import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController;
@Controller
@RequestMapping("${adminPath}/eventMonitor")
public class NtcEventMonitorController extends BaseController {
/**
* EventMonitor
*
* @param log
* @param model
* @param request
* @param response
* @return
*/
@RequestMapping(value = { "/eventMonitorList", "" })
public String eventMonitorList(@ModelAttribute("log") NtcEventMonitorOrBlockReport log, Model model,
HttpServletRequest request, HttpServletResponse response) {
try {
PageLog<NtcEventMonitorOrBlockReport> page = new PageLog<NtcEventMonitorOrBlockReport>(request, response);
Map<String, Object> params = new HashMap<String, Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
// 判断请求参数
if (StringUtils.isNotBlank(log.getSearchReportStartTime())
&& StringUtils.isNotBlank(log.getSearchReportEndTime())) {
params.put("searchReportStartTime", log.getSearchReportStartTime());
params.put("searchReportEndTime", log.getSearchReportEndTime());
}
if (StringUtils.isNotBlank(log.getSearchTaskStartTime())
&& StringUtils.isNotBlank(log.getSearchTaskEndTime())) {
params.put("searchTaskStartTime", log.getSearchTaskStartTime());
params.put("searchTaskEndTime", log.getSearchTaskEndTime());
}
if (StringUtils.isNotBlank(log.getTaskName())) {
params.put("taskName", log.getTaskName());
}
if (StringUtils.isNotBlank(log.getTaskId())) {
params.put("taskId", log.getTaskId());
}
params.put("reportType", 2);
String url = Constants.LOG_BASE_URL + Constants.NTC_EVENT_MONITOR_OR_BLOCK_Report;
// String url =
// "http://192.168.11.56:8080/galaxy-service/service/log/v1/ntcEventsMonitorOrBlock?reportType=2";
String recv = HttpClientUtil.getMsg(url, params, request);
if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create();
LogRecvData<NtcEventMonitorOrBlockReport> fromJson = gson.fromJson(recv,
new TypeToken<LogRecvData<NtcEventMonitorOrBlockReport>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<NtcEventMonitorOrBlockReport> data = fromJson.getData();
page.setCount(data.getCount());
page.setLast(data.getLast());
page.setList(data.getList());
model.addAttribute("page", page);
}
}
} catch (Exception e) {
logger.error("查询失败", e);
addMessageLog(model, e.getMessage());
}
return "/report/eventMonitorList";
}
// eventMonitorExport
@RequestMapping(value = "eventMonitorExport")
public void eventMonitorExport(@ModelAttribute("log") NtcEventMonitorOrBlockReport log, Model model,
String hColumns, String type, HttpServletRequest request, HttpServletResponse response,
RedirectAttributes redirectAttributes) {
try {
// export data info
List<String> titleList = new ArrayList<String>();
Map<String, Class<?>> classMap = new HashMap<String, Class<?>>();
Map<String, List> dataMap = new HashMap<String, List>();
Map<String, String> noExportMap = new HashMap<String, String>();
// ---------------------------
PageLog<NtcEventMonitorOrBlockReport> page = new PageLog<NtcEventMonitorOrBlockReport>(request, response);
Map<String, Object> params = new HashMap<String, Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
// 判断请求参数
if (StringUtils.isNotBlank(log.getSearchReportStartTime())
&& StringUtils.isNotBlank(log.getSearchReportEndTime())) {
params.put("searchReportStartTime", log.getSearchReportStartTime());
params.put("searchReportEndTime", log.getSearchReportEndTime());
}
if (StringUtils.isNotBlank(log.getSearchTaskStartTime())
&& StringUtils.isNotBlank(log.getSearchTaskEndTime())) {
params.put("searchTaskStartTime", log.getSearchTaskStartTime());
params.put("searchTaskEndTime", log.getSearchTaskEndTime());
}
if (StringUtils.isNotBlank(log.getTaskName())) {
params.put("taskName", log.getTaskName());
}
if (StringUtils.isNotBlank(log.getTaskId())) {
params.put("taskId", log.getTaskId());
}
params.put("reportType", 2);
String url = Constants.LOG_BASE_URL + Constants.NTC_EVENT_MONITOR_OR_BLOCK_Report;
// String url =
// "http://192.168.11.56:8080/galaxy-service/service/log/v1/ntcEventsMonitorOrBlock?reportType=2";
String recv = HttpClientUtil.getMsg(url, params, request);
List<NtcEventMonitorOrBlockReport> list = new ArrayList<>();
if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create();
LogRecvData<NtcEventMonitorOrBlockReport> fromJson = gson.fromJson(recv,
new TypeToken<LogRecvData<NtcEventMonitorOrBlockReport>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<NtcEventMonitorOrBlockReport> data = fromJson.getData();
list = data.getList();
}
}
//
titleList.add("ntc_event_monitor_report");
classMap.put("ntc_event_monitor_report", NtcEventMonitorOrBlockReport.class);
String cfgIndexInfoNoExport = "";
noExportMap.put("ntc_event_monitor_report", cfgIndexInfoNoExport);
Properties msgProp = getMsgProp();
NtcEventMonitorOrBlockReport ntcEventMonitorOrBlockReport = new NtcEventMonitorOrBlockReport();
long ipNum = 0;
long httpNum = 0;
long mailNum = 0;
long vedioNum = 0;
long agentNum = 0;
for (NtcEventMonitorOrBlockReport entity : list) {
ipNum += entity.getIpNum();
httpNum += entity.getHttpNum();
mailNum += entity.getMailNum();
vedioNum += entity.getVedioNum();
agentNum += entity.getAgentNum();
}
String report_total = msgProp.getProperty("report_total");
ntcEventMonitorOrBlockReport.setIpNum(ipNum);
ntcEventMonitorOrBlockReport.setHttpNum(httpNum);
ntcEventMonitorOrBlockReport.setMailNum(mailNum);
ntcEventMonitorOrBlockReport.setVedioNum(vedioNum);
ntcEventMonitorOrBlockReport.setAgentNum(agentNum);
ntcEventMonitorOrBlockReport.setTaskId(report_total);
ntcEventMonitorOrBlockReport.setTaskName("    一   ");
ntcEventMonitorOrBlockReport.setTaskTime("    一   ");
ntcEventMonitorOrBlockReport.setReportTime("    一   ");
list.add(ntcEventMonitorOrBlockReport);
dataMap.put("ntc_event_monitor_report", list);
String timeRange = initHttpMap(log, "ntc_event_monitor_report");
noExportMap.put("timeRange", timeRange);
/* } */
if ("csv".equals(type)) {
this._exportCsv(model, request, response, redirectAttributes, "ntc_event_monitor_report", titleList,
classMap, dataMap, noExportMap);
} else {
this._export(model, request, response, redirectAttributes, "ntc_event_monitor_report", titleList,
classMap, dataMap, noExportMap);
}
} catch (Exception e) {
logger.error("ntc_event_monitor_report export failed", e);
addMessage(redirectAttributes, "error", "export_failed");
}
}
public String initHttpMap(NtcEventMonitorOrBlockReport log, String title) {
Properties msgProp = getMsgProp();
String logTime = msgProp.getProperty(title, title);
;
if (StringUtils.isNotBlank(log.getSearchReportStartTime())) {
logTime += " " + msgProp.getProperty("begin_date") + "" + log.getSearchReportStartTime();
}
if (StringUtils.isNotBlank(log.getSearchReportEndTime())) {
logTime += " " + msgProp.getProperty("end_date") + "" + log.getSearchReportEndTime();
}
if (StringUtils.isNotBlank(log.getSearchTaskStartTime())) {
logTime += " " + msgProp.getProperty("task_begin_time") + "" + log.getSearchTaskStartTime();
}
if (StringUtils.isNotBlank(log.getSearchTaskEndTime())) {
logTime += " " + msgProp.getProperty("task_end_time") + "" + log.getSearchTaskEndTime();
}
return logTime;
}
}

View File

@@ -1361,7 +1361,7 @@ nas_ip=NAS IP Address
framed_ip=Framed IP Address
log_user_name=User Name
av_tips=The system does not support the index information of audio and video coding in the tail of the audio and video files. The system does not support video with resolution greater than 1080P.
asn_ip_group_delete=\uFF08IP configuration under this ASN group will also be deleted.)
asn_ip_group_delete=\uff08IP configuration under this ASN group will also be deleted.)
keyword_log_tips=Deduplicate http body keywords log,for the control status of http body keywords is not ideal, configure the http url of the hit keyword as URL control configuration.
conn_record=Connection Records
bps=Gbps
@@ -1416,3 +1416,18 @@ IP_HEADER=IP Header
ICMP_HEADER=ICMP Header
offset_expression=Offset Expression
cfg_custom=Custom Columns
event_report=Event Report
ntc_event_monitor_report=Event Monitor Report
ntc_event_block_report=Event Block Report
ntc_event_key_protection_report=Event Key Protection Report
task_id=Task ID
task_begin_time=Task Begin Time
task_end_time=Task End Time
http_num=HTTP
mail_num=MAIL
vedio_count=VEDIO
agent_count=AGENT
letter_num=LETTER
config_num=CONFIG
monitor_num=MONITOR
control_num=CONTROL

View File

@@ -1416,3 +1416,18 @@ IP_HEADER=IP Header
ICMP_HEADER=ICMP Header
offset_expression=Offset Expression
cfg_custom=Custom Columns
event_report=\u4e8b\u4ef6\u62a5\u8868
ntc_event_monitor_report=\u4e8b\u4ef6\u76d1\u6d4b\u62a5\u8868
ntc_event_block_report=\u4e8b\u4ef6\u5c01\u5835\u62a5\u8868
ntc_event_key_protection_report=\u91cd\u70b9\u4fdd\u969c\u4e8b\u4ef6\u62a5\u8868
task_id=\u4e13\u9879ID
task_begin_time=\u62a5\u9001\u5f00\u59cb\u65f6\u95f4
task_end_time=\u62a5\u9001\u7ed3\u675f\u65f6\u95f4
http_num=HTTP\u6570\u91cf
mail_num=\u90ae\u4ef6\u6570\u91cf
vedio_count=\u89c6\u9891\u6b21\u6570
agent_count=\u4ee3\u7406\u6b21\u6570
letter_num=\u6765\u51fd\u4ef6\u6570
config_num=\u914d\u7f6e\u603b\u6570
monitor_num=\u76d1\u6d4b\u6570\u91cf
control_num=\u7ba1\u63a7\u6570\u91cf

View File

@@ -605,3 +605,7 @@ trafficDomainTrans=trafficDomainTrans
import_limit=10
trafficPortActiveFiveMinute=trafficPortActiveFiveMinute
trendTotalReport=trendTotalReport
#\u4e8b\u4ef6\u76d1\u6d4b/\u5c01\u5835
ntcEventsMonitorOrBlockReport=ntcEventsMonitorOrBlockReport
#\u91cd\u70b9\u4fdd\u969c\u4e8b\u4ef6
ntcEventKeyProtectionReport=ntcEventKeyProtectionReport

View File

@@ -0,0 +1,202 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<html>
<head>
<title>
<spring:message code="https_url_report"/>
</title>
<script>
$(document).ready(function() {
//reset
//reset
$("#resetBtn").on("click",function(){
$("select.selectpicker").each(function(){
$(this).selectpicker('val',$(this).find('option:first').val());
$(this).find("option").attr("selected",false);
$(this).find("option:first").attr("selected",true);
});
$(".Wdate").attr("value",'');
// $("#searchForm")[0].clear();
$("#searchForm")[0].reset();
});
$("#contentTable").find("tr").each(function(index){
// $(this).find("th").eq(0).width=300;
if(index > 0 ){
var title=$(this).find("td").eq(0).attr("title");
console.log(title);
if(title != undefined && title != null){
if(title.length > 80){
$(this).find("td").eq(0).text(title.substring(0,80));
}else{
$(this).find("td").eq(0).text(title);
}
}
}
});
//筛选功能
// filterActionInit();
// $("span[id^=close]").on("click",function(){
// var closeId=$(this).attr("id");
// var openId=$(this).attr("id").replace("close","open");
// $("#"+closeId).hide();
// $("#"+openId).show();
// $("#"+closeId).parent().parent().next("tr").hide();
// });
// ajaxConnPercent();
});
</script>
</head>
<body>
<div class="page-content">
<h3 class="page-title">
<spring:message code="ntc_event_block_report"/>
</h3>
<h5 class="page-header"></h5>
<div class="col-md-12">
<div class="portlet">
<div class="portlet-body">
<div class="row" >
<form:form id="searchForm" modelAttribute="log" action="${ctx}/eventBlock/eventBlockList" method="post" class="form-search">
<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
<div class="col-md-12">
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="task_id"/></span>
</div>
<input name="taskId" type="text" class="form-control Wdate input-medium" maxlength="20" value="${log.taskId}" />
</div>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="task_name"/></span>
</div>
<input name="taskName" type="text" class="form-control Wdate input-medium" maxlength="20" value="${log.taskName }" />
</div>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
</div>
<input name="searchReportStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
value="${log.searchReportStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="end_date"/></span>
</div>
<input name="searchReportEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
value="${log.searchReportEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
<div class="pull-left">
<button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
<button type="button" class="btn btn-default" id="resetBtn" > <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
</div>
<div class="pull-right">
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-wrench"></i> <spring:message code="export"></spring:message>
<i class="fa fa-angle-down"></i>
</button>
<ul class="dropdown-menu pull-right" style="min-width: 110px;" >
<li><sys:delRow url="${ctx}/eventBlock/eventBlockExport?type=excel" searchUrl="${ctx}/eventBlock/eventBlockList" id="contentTable" maxRow="10000" label="excel"></sys:delRow></li>
<li><sys:delRow url="${ctx}/eventBlock/eventBlockExport?type=csv" searchUrl="${ctx}/eventBlock/eventBlockList" 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 class="col-md-12">
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="task_begin_time"/></span>
</div>
<input name="searchTaskStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
value="${log.searchTaskStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="task_end_time"/></span>
</div>
<input name="searchTaskEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
value="${log.searchTaskEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
</div>
<!-- 搜索内容与操作按钮栏 -->
</form:form>
</div>
<sys:message content="${message}"/>
<div class="table-responsive">
<table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap">
<thead>
<tr>
<%-- <th><spring:message code="log"/></th> --%>
<%-- <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
<th class="sort-column service" isVisible="false"><spring:message code="action"/></th> --%>
<%--<th class="sort-column url" column="url" style="width: 350px;"><spring:message code="url"/></th>
<th class="sort-column ip_addr" column="ip_addr"><spring:message code="ip_addr"/></th>
<th class="sort-column sum" column="sum"><spring:message code="sum"/></th>
<th class="sort-column url_count" column="url_count"><spring:message code="url_count"/></th> --%>
<th class="sort-column task_id" column="taskId"><spring:message code="task_id"/></th>
<th class="sort-column task_name" column="taskName"><spring:message code="task_name"/></th>
<th class="sort-column ip_count" column="ipNum"><spring:message code="ip_count"/></th>
<th class="sort-column http_num" column="httpNum"><spring:message code="http_num"/></th>
<th class="sort-column mail_num" column="mailNum"><spring:message code="mail_num"/></th>
<th class="sort-column vedio_count" column="vedioNum"><spring:message code="vedio_count"/></th>
<th class="sort-column agent_count" column="agentNum"><spring:message code="agent_count"/></th>
<th class="sort-column task_time" column="taskTime"><spring:message code="task_time"/></th>
<th class="sort-column stat_time" column="reportTime"><spring:message code="stat_time"/></th>
<%-- <th class="sort-column url_count" column="reportTime"><spring:message code="statistic_time"/></th> --%>
</tr>
</thead>
<tbody>
<c:forEach var="log" items="${page.list }" varStatus="status">
<tr>
<td>${log.taskId }</td>
<td>${log.taskName }</td>
<td>${log.ipNum }</td>
<td>${log.httpNum }</td>
<td>${log.mailNum }</td>
<td>${log.vedioNum }</td>
<td>${log.agentNum }</td>
<td>${log.taskTime }</td>
<td>${log.reportTime }</td>
<%-- <td >${log.reportTime}</td> --%>
</tr>
</c:forEach>
</tbody>
</table>
<div class="page">${page}</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,200 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<html>
<head>
<title>
<spring:message code="https_url_report"/>
</title>
<script>
$(document).ready(function() {
//reset
//reset
$("#resetBtn").on("click",function(){
$("select.selectpicker").each(function(){
$(this).selectpicker('val',$(this).find('option:first').val());
$(this).find("option").attr("selected",false);
$(this).find("option:first").attr("selected",true);
});
$(".Wdate").attr("value",'');
// $("#searchForm")[0].clear();
$("#searchForm")[0].reset();
});
$("#contentTable").find("tr").each(function(index){
// $(this).find("th").eq(0).width=300;
if(index > 0 ){
var title=$(this).find("td").eq(0).attr("title");
console.log(title);
if(title != undefined && title != null){
if(title.length > 80){
$(this).find("td").eq(0).text(title.substring(0,80));
}else{
$(this).find("td").eq(0).text(title);
}
}
}
});
// //筛选功能
// filterActionInit();
// $("span[id^=close]").on("click",function(){
// var closeId=$(this).attr("id");
// var openId=$(this).attr("id").replace("close","open");
// $("#"+closeId).hide();
// $("#"+openId).show();
// $("#"+closeId).parent().parent().next("tr").hide();
// });
// ajaxConnPercent();
// });
</script>
</head>
<body>
<div class="page-content">
<h3 class="page-title">
<spring:message code="ntc_event_key_protection_report"/>
</h3>
<h5 class="page-header"></h5>
<div class="col-md-12">
<div class="portlet">
<div class="portlet-body">
<div class="row" >
<form:form id="searchForm" modelAttribute="log" action="${ctx}/eventKeyProtection/eventKeyProtectionList" method="post" class="form-search">
<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
<div class="col-md-12">
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="task_id"/></span>
</div>
<input name="taskId" type="text" class="form-control Wdate input-medium" maxlength="20" value="${log.taskId}" />
</div>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="task_name"/></span>
</div>
<input name="taskName" type="text" class="form-control Wdate input-medium" maxlength="20" value="${log.taskName }" />
</div>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
</div>
<input name="searchReportStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
value="${log.searchReportStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="end_date"/></span>
</div>
<input name="searchReportEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
value="${log.searchReportEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
<div class="pull-left">
<button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
<button type="button" class="btn btn-default" id="resetBtn" > <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
</div>
<div class="pull-right">
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-wrench"></i> <spring:message code="export"></spring:message>
<i class="fa fa-angle-down"></i>
</button>
<ul class="dropdown-menu pull-right" style="min-width: 110px;" >
<li><sys:delRow url="${ctx}/eventKeyProtection/eventKeyProtectionExport?type=excel" searchUrl="${ctx}/eventKeyProtection/eventKeyProtectionList" id="contentTable" maxRow="10000" label="excel"></sys:delRow></li>
<li><sys:delRow url="${ctx}/eventKeyProtection/eventKeyProtectionExport?type=csv" searchUrl="${ctx}/eventKeyProtection/eventKeyProtectionList" 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 class="col-md-12">
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="task_begin_time"/></span>
</div>
<input name="searchTaskStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
value="${log.searchTaskStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="task_end_time"/></span>
</div>
<input name="searchTaskEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
value="${log.searchTaskEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
</div>
<!-- 搜索内容与操作按钮栏 -->
</form:form>
</div>
<sys:message content="${message}"/>
<div class="table-responsive">
<table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap">
<thead>
<tr>
<%-- <th><spring:message code="log"/></th> --%>
<%-- <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
<th class="sort-column service" isVisible="false"><spring:message code="action"/></th> --%>
<%--<th class="sort-column url" column="url" style="width: 350px;"><spring:message code="url"/></th>
<th class="sort-column ip_addr" column="ip_addr"><spring:message code="ip_addr"/></th>
<th class="sort-column sum" column="sum"><spring:message code="sum"/></th>
<th class="sort-column url_count" column="url_count"><spring:message code="url_count"/></th> --%>
<th class="sort-column task_id" column="taskId"><spring:message code="task_id"/></th>
<th class="sort-column task_name" column="taskName"><spring:message code="task_name"/></th>
<th class="sort-column letter_num" column="letterNum"><spring:message code="letter_num"/></th>
<th class="sort-column config_num" column="configNum"><spring:message code="config_num"/></th>
<th class="sort-column monitor_num" column="monitorNum"><spring:message code="monitor_num"/></th>
<th class="sort-column control_num" column="controlNum"><spring:message code="control_num"/></th>
<th class="sort-column task_time" column="taskTime"><spring:message code="task_time"/></th>
<th class="sort-column stat_time" column="reportTime"><spring:message code="stat_time"/></th>
<%-- <th class="sort-column url_count" column="reportTime"><spring:message code="statistic_time"/></th> --%>
</tr>
</thead>
<tbody>
<c:forEach var="log" items="${page.list }" varStatus="status">
<tr>
<td>${log.taskId }</td>
<td>${log.taskName }</td>
<td>${log.letterNum }</td>
<td>${log.configNum }</td>
<td>${log.monitorNum }</td>
<td>${log.controlNum }</td>
<td>${log.taskTime }</td>
<td>${log.reportTime }</td>
<%-- <td >${log.reportTime}</td> --%>
</tr>
</c:forEach>
</tbody>
</table>
<div class="page">${page}</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,202 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<html>
<head>
<title>
<spring:message code="https_url_report"/>
</title>
<script>
$(document).ready(function() {
//reset
//reset
$("#resetBtn").on("click",function(){
$("select.selectpicker").each(function(){
$(this).selectpicker('val',$(this).find('option:first').val());
$(this).find("option").attr("selected",false);
$(this).find("option:first").attr("selected",true);
});
$(".Wdate").attr("value",'');
// $("#searchForm")[0].clear();
$("#searchForm")[0].reset();
});
$("#contentTable").find("tr").each(function(index){
// $(this).find("th").eq(0).width=300;
if(index > 0 ){
var title=$(this).find("td").eq(0).attr("title");
console.log(title);
if(title != undefined && title != null){
if(title.length > 80){
$(this).find("td").eq(0).text(title.substring(0,80));
}else{
$(this).find("td").eq(0).text(title);
}
}
}
});
//筛选功能
// filterActionInit();
// $("span[id^=close]").on("click",function(){
// var closeId=$(this).attr("id");
// var openId=$(this).attr("id").replace("close","open");
// $("#"+closeId).hide();
// $("#"+openId).show();
// $("#"+closeId).parent().parent().next("tr").hide();
// });
// ajaxConnPercent();
});
</script>
</head>
<body>
<div class="page-content">
<h3 class="page-title">
<spring:message code="ntc_event_monitor_report"/>
</h3>
<h5 class="page-header"></h5>
<div class="col-md-12">
<div class="portlet">
<div class="portlet-body">
<div class="row" >
<form:form id="searchForm" modelAttribute="log" action="${ctx}/eventMonitor/eventMonitorList" method="post" class="form-search">
<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
<div class="col-md-12">
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="task_id"/></span>
</div>
<input name="taskId" type="text" class="form-control Wdate input-medium" maxlength="20" value="${log.taskId}" />
</div>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="task_name"/></span>
</div>
<input name="taskName" type="text" class="form-control Wdate input-medium" maxlength="20" value="${log.taskName }" />
</div>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
</div>
<input name="searchReportStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
value="${log.searchReportStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="end_date"/></span>
</div>
<input name="searchReportEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
value="${log.searchReportEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
<div class="pull-left">
<button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
<button type="button" class="btn btn-default" id="resetBtn" > <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
</div>
<div class="pull-right">
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-wrench"></i> <spring:message code="export"></spring:message>
<i class="fa fa-angle-down"></i>
</button>
<ul class="dropdown-menu pull-right" style="min-width: 110px;" >
<li><sys:delRow url="${ctx}/eventMonitor/eventMonitorExport?type=excel" searchUrl="${ctx}/event/eventMonitorList" id="contentTable" maxRow="10000" label="excel"></sys:delRow></li>
<li><sys:delRow url="${ctx}/eventMonitor/eventMonitorExport?type=csv" searchUrl="${ctx}/event/eventMonitorList" 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 class="col-md-12">
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="task_begin_time"/></span>
</div>
<input name="searchTaskStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
value="${log.searchTaskStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="task_end_time"/></span>
</div>
<input name="searchTaskEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
value="${log.searchTaskEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
</div>
<!-- 搜索内容与操作按钮栏 -->
</form:form>
</div>
<sys:message content="${message}"/>
<div class="table-responsive">
<table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap">
<thead>
<tr>
<%-- <th><spring:message code="log"/></th> --%>
<%-- <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
<th class="sort-column service" isVisible="false"><spring:message code="action"/></th> --%>
<%--<th class="sort-column url" column="url" style="width: 350px;"><spring:message code="url"/></th>
<th class="sort-column ip_addr" column="ip_addr"><spring:message code="ip_addr"/></th>
<th class="sort-column sum" column="sum"><spring:message code="sum"/></th>
<th class="sort-column url_count" column="url_count"><spring:message code="url_count"/></th> --%>
<th class="sort-column task_id" column="taskId"><spring:message code="task_id"/></th>
<th class="sort-column task_name" column="taskName"><spring:message code="task_name"/></th>
<th class="sort-column ip_count" column="ipNum"><spring:message code="ip_count"/></th>
<th class="sort-column http_num" column="httpNum"><spring:message code="http_num"/></th>
<th class="sort-column mail_num" column="mailNum"><spring:message code="mail_num"/></th>
<th class="sort-column vedio_count" column="vedioNum"><spring:message code="vedio_count"/></th>
<th class="sort-column agent_count" column="agentNum"><spring:message code="agent_count"/></th>
<th class="sort-column task_time" column="taskTime"><spring:message code="task_time"/></th>
<th class="sort-column stat_time" column="reportTime"><spring:message code="stat_time"/></th>
<%-- <th class="sort-column url_count" column="reportTime"><spring:message code="statistic_time"/></th> --%>
</tr>
</thead>
<tbody>
<c:forEach var="log" items="${page.list }" varStatus="status">
<tr>
<td>${log.taskId }</td>
<td>${log.taskName }</td>
<td>${log.ipNum }</td>
<td>${log.httpNum }</td>
<td>${log.mailNum }</td>
<td>${log.vedioNum }</td>
<td>${log.agentNum }</td>
<td>${log.taskTime }</td>
<td>${log.reportTime }</td>
<%-- <td >${log.reportTime}</td> --%>
</tr>
</c:forEach>
</tbody>
</table>
<div class="page">${page}</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>