日志查询-多媒体导出添加

This commit is contained in:
leijun
2018-12-17 08:32:02 +08:00
parent 377ba3289c
commit e793aca0e1
15 changed files with 650 additions and 211 deletions

View File

@@ -1,5 +1,6 @@
package com.nis.domain.log;
import com.nis.util.excel.ExcelField;
import com.wordnik.swagger.annotations.ApiModelProperty;
/**
@@ -11,18 +12,25 @@ import com.wordnik.swagger.annotations.ApiModelProperty;
public class MmAvIpLog extends BaseLogEntity<MmAvIpLog> {
private static final long serialVersionUID = -6177790560553329386L;
@ExcelField(title="pid",sort=8)
@ApiModelProperty(value="节目ID", required=true)
protected String pid;
@ExcelField(title="access_url",sort=9)
@ApiModelProperty(value="节目访问地址", required=true)
protected String url;
@ExcelField(title="log_uri",sort=10)
@ApiModelProperty(value="封堵现场片段路径", required=true)
protected String logUri;
@ExcelField(title="referer",sort=11)
@ApiModelProperty(value="入口页面", required=true)
protected String referer;
@ExcelField(title="harm_level",sort=12)
@ApiModelProperty(value="有害级别", required=true)
protected Integer level;
@ExcelField(title="fd_type",dictType="FD_TYPE",sort=13)
@ApiModelProperty(value="封堵类型", required=true)
protected Integer fdType;
@ExcelField(title="av_protocol",dictType="AV_PROTOCOL",sort=14)
@ApiModelProperty(value="协议", required=true)
protected String protocol;
public String getPid() {

View File

@@ -1,5 +1,6 @@
package com.nis.domain.log;
import com.nis.util.excel.ExcelField;
import com.wordnik.swagger.annotations.ApiModelProperty;
/**
@@ -11,20 +12,22 @@ import com.wordnik.swagger.annotations.ApiModelProperty;
public class MmFileDigestLog extends BaseLogEntity<MmFileDigestLog> {
private static final long serialVersionUID = -6177790560553329386L;
@ApiModelProperty(value="节目ID", required=true)
protected String pid;
@ApiModelProperty(value="节目访问地址", required=true)
protected String url;
@ApiModelProperty(value="封堵现场片段路径", required=true)
protected String logUri;
@ApiModelProperty(value="入口页面", required=true)
protected String referer;
@ApiModelProperty(value="有害级别", required=true)
protected Integer level;
@ApiModelProperty(value="封堵类型", required=true)
protected Integer fdType;
@ApiModelProperty(value="协议", required=true)
protected String protocol;
@ExcelField(title="pid",sort=8)
private String pid;// 节目ID
@ExcelField(title="access_url",sort=9)
private String url;// 节目访问地址
@ExcelField(title="log_uri",sort=10)
private String logUri;// fd现场片段路径
@ExcelField(title="referer",sort=11)
private String referer;// 入口页面
@ExcelField(title="harm_level",sort=12)
private Integer level;// 有害级别
@ExcelField(title="fd_type",dictType="FD_TYPE",sort=13)
private Integer fdType;// fd类型
@ExcelField(title="av_protocol",dictType="AV_PROTOCOL",sort=14)
private String protocol;// 传输协议
public String getPid() {
return pid;
}

View File

@@ -1,15 +1,24 @@
package com.nis.domain.log;
import com.nis.util.excel.ExcelField;
public class MmSampleAudioLog extends BaseLogEntity<MmSampleAudioLog>{
private static final long serialVersionUID = -9107324545841909071L;
@ExcelField(title="pid",sort=8)
private String pid;// 节目ID
@ExcelField(title="access_url",sort=9)
private String url;// 节目访问地址
@ExcelField(title="log_uri",sort=10)
private String logUri;// fd现场片段路径
@ExcelField(title="referer",sort=11)
private String referer;// 入口页面
@ExcelField(title="harm_level",sort=12)
private Integer level;// 有害级别
@ExcelField(title="fd_type",dictType="FD_TYPE",sort=13)
private Integer fdType;// fd类型
@ExcelField(title="av_protocol",dictType="AV_PROTOCOL",sort=14)
private String protocol;// 传输协议
public String getPid() {

View File

@@ -1,16 +1,26 @@
package com.nis.domain.log;
import com.nis.util.excel.ExcelField;
public class MmSamplePicLog extends BaseLogEntity<MmSamplePicLog>{
private static final long serialVersionUID = -8851111472033278357L;
@ExcelField(title="pid",sort=8)
private String pid;// 节目ID
@ExcelField(title="access_url",sort=9)
private String url;// 节目访问地址
@ExcelField(title="log_uri",sort=10)
private String logUri;// fd现场片段路径
@ExcelField(title="referer",sort=11)
private String referer;// 入口页面
@ExcelField(title="harm_level",sort=12)
private Integer level;// 有害级别
@ExcelField(title="fd_type",dictType="FD_TYPE",sort=13)
private Integer fdType;// fd类型
@ExcelField(title="av_protocol",dictType="AV_PROTOCOL",sort=14)
private String protocol;// 传输协议
public String getPid() {
return pid;
}

View File

@@ -2,6 +2,7 @@ package com.nis.domain.log;
import java.util.Date;
import com.nis.util.excel.ExcelField;
import com.wordnik.swagger.annotations.ApiModelProperty;
public class NtcDdosLog extends BaseLogEntity<NtcDdosLog> {
@@ -11,20 +12,28 @@ public class NtcDdosLog extends BaseLogEntity<NtcDdosLog> {
*/
private static final long serialVersionUID = 9080132009178985910L;
@ExcelField(title="attack_type",dictType="ATTACK_TYPE",sort=8)
@ApiModelProperty(value = "攻击类型", required = true)
protected Integer attackType;
@ExcelField(title="attack_start_time",sort=9)
@ApiModelProperty(value = "攻击起始时间", required = true)
protected Date attackStartTime;
@ExcelField(title="last_attack_time",sort=10)
@ApiModelProperty(value = "最后一次攻击包时间", required = true)
protected Date lastAttackTime;
@ExcelField(title="attack_max_pps",sort=11)
@ApiModelProperty(value = "攻击最大流量, 包数/秒", required = true)
protected String attackMaxPps;
@ExcelField(title="attack_max_bps",sort=12)
@ApiModelProperty(value = "攻击最大流量, bit数/秒", required = true)
protected String attackMaxBps;
@ExcelField(title="attack_total_pkt",sort=13)
@ApiModelProperty(value = "攻击累积包数", required = true)
protected String attackTotalPkt;
@ExcelField(title="attack_total_byte",sort=14)
@ApiModelProperty(value = "攻击累积字节数", required = true)
protected String attackTotalByte;
@ExcelField(title="is_blcok ",dictType="SYS_YES_NO",sort=15)
@ApiModelProperty(value = "攻击流量是否被丢弃", required = true)
protected Integer isBlock;

View File

@@ -1,6 +1,7 @@
package com.nis.web.controller.log.ntc;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -15,6 +16,7 @@ import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -26,13 +28,16 @@ import com.google.gson.reflect.TypeToken;
import com.nis.domain.FunctionServiceDict;
import com.nis.domain.Page;
import com.nis.domain.PageLog;
import com.nis.domain.SysUser;
import com.nis.domain.log.NtcCollectVoipLog;
import com.nis.domain.log.NtcDdosLog;
import com.nis.domain.maat.LogRecvData;
import com.nis.util.Constants;
import com.nis.util.DictUtils;
import com.nis.util.StringUtils;
import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController;
import com.nis.web.security.UserUtils;
@Controller
@RequestMapping(value = "${adminPath}/log/ntc/ntcDdosLogs")
@@ -104,4 +109,69 @@ public class DdosLogController extends BaseController{
return "/log/ntc/ddosList";
}
// Ddos配置导出
@RequestMapping(value = "exportDdos")
public void exportDdos(@ModelAttribute("log") NtcDdosLog 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<NtcDdosLog> page = new PageLog<NtcDdosLog>(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());
System.out.print(log.getFunctionId());
model.addAttribute("serviceList", serviceList);
String url = Constants.LOG_BASE_URL + Constants.NTC_DDOS_LOG;
String recv = HttpClientUtil.getMsg(url, params, request);
List<NtcDdosLog> list = new ArrayList<NtcDdosLog>();
if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create();
LogRecvData<NtcDdosLog> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcDdosLog>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<NtcDdosLog> data = fromJson.getData();
list = data.getList();
}
}
for (NtcDdosLog l : list) {
l.setFunctionId(log.getFunctionId());
setLogAction(l, serviceList);
}
titleList.add("target_ip_protect");
classMap.put("target_ip_protect", NtcDdosLog.class);
SysUser user = UserUtils.getUser();
if (!user.isAdmin()) {
hColumns += ",scene_file,";
} else {
hColumns += ",";
}
String cfgIndexInfoNoExport = "," + hColumns;
noExportMap.put("target_ip_protect", cfgIndexInfoNoExport);
dataMap.put("target_ip_protect", list);
if ("csv".equals(type)) {
this._exportCsv(model, request, response, redirectAttributes, "target_ip_protect", titleList, classMap, dataMap,
noExportMap);
} else {
this._export(model, request, response, redirectAttributes, "target_ip_protect", titleList, classMap, dataMap,
noExportMap);
}
} catch (Exception e) {
logger.error("DDOS export failed", e);
addMessage(redirectAttributes, "error", "export_failed");
}
}
}

View File

@@ -1,6 +1,7 @@
package com.nis.web.controller.log.ntc;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -14,6 +15,7 @@ import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -21,13 +23,16 @@ import com.google.gson.reflect.TypeToken;
import com.nis.domain.FunctionServiceDict;
import com.nis.domain.Page;
import com.nis.domain.PageLog;
import com.nis.domain.SysUser;
import com.nis.domain.log.MmFileDigestLog;
import com.nis.domain.log.NtcStreamMediaLog;
import com.nis.domain.maat.LogRecvData;
import com.nis.util.Constants;
import com.nis.util.DictUtils;
import com.nis.util.StringUtils;
import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController;
import com.nis.web.security.UserUtils;
@Controller
@RequestMapping(value = "${adminPath}/log/ntc/mmFileDigestLogs")
@@ -35,6 +40,7 @@ public class MmFileDigestLogController extends BaseController{
/**
* 音视频url日志
*
* @param model
* @param entry
* @param request
@@ -44,7 +50,8 @@ public class MmFileDigestLogController extends BaseController{
* @throws IOException
*/
@RequestMapping(value = { "list", "" })
public String list(Model model,@ModelAttribute("log")MmFileDigestLog entry,HttpServletRequest request, HttpServletResponse response) throws ClientProtocolException, IOException {
public String list(Model model, @ModelAttribute("log") MmFileDigestLog entry, HttpServletRequest request,
HttpServletResponse response) throws ClientProtocolException, IOException {
try {
@@ -64,7 +71,9 @@ public class MmFileDigestLogController extends BaseController{
Gson gson = new GsonBuilder().create();
// gson泛型支持
LogRecvData<MmFileDigestLog> fromJson = gson.fromJson(jsonString, new TypeToken<LogRecvData<MmFileDigestLog>>(){}.getType());
LogRecvData<MmFileDigestLog> fromJson = gson.fromJson(jsonString,
new TypeToken<LogRecvData<MmFileDigestLog>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<MmFileDigestLog> data = fromJson.getData();
@@ -86,4 +95,68 @@ public class MmFileDigestLogController extends BaseController{
return "/log/ntc/mmFileDigestList";
}
// FileDigest配置导出
@RequestMapping(value = "exportFileDigest")
public void exportFileDigest(@ModelAttribute("log") MmFileDigestLog 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<MmFileDigestLog> page = new PageLog<MmFileDigestLog>(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());
System.out.print(log.getFunctionId());
model.addAttribute("serviceList", serviceList);
String url = Constants.LOG_BASE_URL + Constants.NTC_MMFILEDIGEST_LOG;
String recv = HttpClientUtil.getMsg(url, params, request);
List<MmFileDigestLog> list = new ArrayList<MmFileDigestLog>();
if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create();
LogRecvData<MmFileDigestLog> fromJson = gson.fromJson(recv,
new TypeToken<LogRecvData<MmFileDigestLog>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<MmFileDigestLog> data = fromJson.getData();
list = data.getList();
}
}
for (MmFileDigestLog l : list) {
l.setFunctionId(log.getFunctionId());
setLogAction(l, serviceList);
}
titleList.add("file_digest_control");
classMap.put("file_digest_control", MmFileDigestLog.class);
SysUser user = UserUtils.getUser();
if (!user.isAdmin()) {
hColumns += ",scene_file,";
} else {
hColumns += ",";
}
String cfgIndexInfoNoExport = ",log_uri,direction," + hColumns;
noExportMap.put("file_digest_control", cfgIndexInfoNoExport);
dataMap.put("file_digest_control", list);
if ("csv".equals(type)) {
this._exportCsv(model, request, response, redirectAttributes, "file_digest_control", titleList, classMap, dataMap,
noExportMap);
} else {
this._export(model, request, response, redirectAttributes, "file_digest_control", titleList, classMap, dataMap,
noExportMap);
}
} catch (Exception e) {
logger.error("FileDiges export failed", e);
addMessage(redirectAttributes, "error", "export_failed");
}
}
}

View File

@@ -1,5 +1,6 @@
package com.nis.web.controller.log.ntc;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -12,6 +13,7 @@ import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -19,13 +21,16 @@ import com.google.gson.reflect.TypeToken;
import com.nis.domain.FunctionServiceDict;
import com.nis.domain.Page;
import com.nis.domain.PageLog;
import com.nis.domain.SysUser;
import com.nis.domain.log.MmAvIpLog;
import com.nis.domain.log.MmSampleAudioLog;
import com.nis.domain.maat.LogRecvData;
import com.nis.util.Constants;
import com.nis.util.DictUtils;
import com.nis.util.StringUtils;
import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController;
import com.nis.web.security.UserUtils;
@Controller
@RequestMapping(value = "${adminPath}/log/ntc/mmSampleAudioLogs")
@@ -71,4 +76,69 @@ public class MmSampleAudioController extends BaseController{
return "/log/ntc/mmSampleAudioList";
}
// SampleAudio配置导出
@RequestMapping(value = "exportSampleAudio")
public void exportSampleAudio(@ModelAttribute("log") MmSampleAudioLog 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<MmSampleAudioLog> page = new PageLog<MmSampleAudioLog>(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());
System.out.print(log.getFunctionId());
model.addAttribute("serviceList", serviceList);
String url = Constants.LOG_BASE_URL + Constants.NTC_DDOS_LOG;
String recv = HttpClientUtil.getMsg(url, params, request);
List<MmSampleAudioLog> list = new ArrayList<MmSampleAudioLog>();
if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create();
LogRecvData<MmSampleAudioLog> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<MmSampleAudioLog>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<MmSampleAudioLog> data = fromJson.getData();
list = data.getList();
}
}
for (MmSampleAudioLog l : list) {
l.setFunctionId(log.getFunctionId());
setLogAction(l, serviceList);
}
titleList.add("av_sample_audio_control");
classMap.put("av_sample_audio_control", MmSampleAudioLog.class);
SysUser user = UserUtils.getUser();
if (!user.isAdmin()) {
hColumns += ",scene_file,";
} else {
hColumns += ",";
}
String cfgIndexInfoNoExport = ",direction," + hColumns;
noExportMap.put("av_sample_audio_control", cfgIndexInfoNoExport);
dataMap.put("av_sample_audio_control", list);
if ("csv".equals(type)) {
this._exportCsv(model, request, response, redirectAttributes, "av_sample_audio_control", titleList, classMap, dataMap,
noExportMap);
} else {
this._export(model, request, response, redirectAttributes, "av_sample_audio_control", titleList, classMap, dataMap,
noExportMap);
}
} catch (Exception e) {
logger.error("SampleAudio export failed", e);
addMessage(redirectAttributes, "error", "export_failed");
}
}
}

View File

@@ -1,6 +1,7 @@
package com.nis.web.controller.log.ntc;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -13,6 +14,7 @@ import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -20,12 +22,15 @@ import com.google.gson.reflect.TypeToken;
import com.nis.domain.FunctionServiceDict;
import com.nis.domain.Page;
import com.nis.domain.PageLog;
import com.nis.domain.SysUser;
import com.nis.domain.log.MmSamplePicLog;
import com.nis.domain.maat.LogRecvData;
import com.nis.util.Constants;
import com.nis.util.DictUtils;
import com.nis.util.StringUtils;
import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController;
import com.nis.web.security.UserUtils;
@Controller
@RequestMapping(value = "${adminPath}/log/ntc/mmSamplePicLogs")
@@ -71,4 +76,64 @@ public class MmSamplePicController extends BaseController{
return "/log/ntc/mmSamplePicList";
}
// SamplePic配置导出
@RequestMapping(value = "exportSamplePic")
public void exportSamplePic(@ModelAttribute("log") MmSamplePicLog log, Model model, String hColumns, String type,
HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) {
try {
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<MmSamplePicLog> page = new PageLog<MmSamplePicLog>(request,response);
Map<String, Object> params = new HashMap<String,Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
// 请求参数判断
initLogSearchValue(log, params);
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId());
model.addAttribute("serviceList", serviceList);
List<MmSamplePicLog> list=new ArrayList<MmSamplePicLog>();
// 请求接口
String url = Constants.LOG_BASE_URL + Constants.NTC_MMSAMPLEPIC_LOG;
String resJson = HttpClientUtil.getMsg(url, params, request);
Gson gson = new GsonBuilder().create();
LogRecvData<MmSamplePicLog> fromJson = gson.fromJson(resJson, new TypeToken<LogRecvData<MmSamplePicLog>>() {}.getType());
if(fromJson.getStatus().intValue() == 200) {
Page<MmSamplePicLog> data = fromJson.getData();
list = data.getList();
}
for (MmSamplePicLog l : list) {
l.setFunctionId(log.getFunctionId());
setLogAction(l, serviceList);
}
titleList.add("SamplePic");
classMap.put("SamplePic", MmSamplePicLog.class);
SysUser user = UserUtils.getUser();
if (!user.isAdmin()) {
hColumns += ",scene_file,";
} else {
hColumns += ",";
}
String cfgIndexInfoNoExport = ",direction," + hColumns;
noExportMap.put("av_sample_picture_control", cfgIndexInfoNoExport);
dataMap.put("av_sample_picture_control", list);
if ("csv".equals(type)) {
this._exportCsv(model, request, response, redirectAttributes, "av_sample_picture_control", titleList, classMap,
dataMap, noExportMap);
} else {
this._export(model, request, response, redirectAttributes, "av_sample_picture_control", titleList, classMap, dataMap,
noExportMap);
}
} catch (Exception e) {
logger.error("SamplePic export failed", e);
addMessage(redirectAttributes, "error", "export_failed");
}
}
}

View File

@@ -1,31 +1,32 @@
package com.nis.web.controller.log.ntc;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.BeanUtils;
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.FunctionServiceDict;
import com.nis.domain.Page;
import com.nis.domain.PageLog;
import com.nis.domain.log.MmSamplePicLog;
import com.nis.domain.SysUser;
import com.nis.domain.log.MmSampleVideoLog;
import com.nis.domain.maat.LogRecvData;
import com.nis.util.Constants;
import com.nis.util.DictUtils;
import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController;
import com.nis.web.security.UserUtils;
@Controller
@RequestMapping(value = "${adminPath}/log/ntc/mmSampleVideoLogs")
@@ -71,4 +72,69 @@ public class MmSampleVideoController extends BaseController{
return "/log/ntc/mmSampleVideoList";
}
// SampleVideo配置导出
@RequestMapping(value = "exportSampleVideo")
public void exportSampleVideo(@ModelAttribute("log") MmSampleVideoLog 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<MmSampleVideoLog> page = new PageLog<MmSampleVideoLog>(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());
System.out.print(log.getFunctionId());
model.addAttribute("serviceList", serviceList);
String url = Constants.LOG_BASE_URL + Constants.NTC_DDOS_LOG;
String recv = HttpClientUtil.getMsg(url, params, request);
List<MmSampleVideoLog> list = new ArrayList<MmSampleVideoLog>();
if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create();
LogRecvData<MmSampleVideoLog> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<MmSampleVideoLog>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<MmSampleVideoLog> data = fromJson.getData();
list = data.getList();
}
}
for (MmSampleVideoLog l : list) {
l.setFunctionId(log.getFunctionId());
setLogAction(l, serviceList);
}
titleList.add("av_sample_video_control");
classMap.put("av_sample_video_control", MmSampleVideoLog.class);
SysUser user = UserUtils.getUser();
if (!user.isAdmin()) {
hColumns += ",scene_file,";
} else {
hColumns += ",";
}
String cfgIndexInfoNoExport = ",direction," + hColumns;
noExportMap.put("av_sample_video_control", cfgIndexInfoNoExport);
dataMap.put("av_sample_video_control", list);
if ("csv".equals(type)) {
this._exportCsv(model, request, response, redirectAttributes, "av_sample_video_control", titleList, classMap, dataMap,
noExportMap);
} else {
this._export(model, request, response, redirectAttributes, "av_sample_video_control", titleList, classMap, dataMap,
noExportMap);
}
} catch (Exception e) {
logger.error("SampleVideo export failed", e);
addMessage(redirectAttributes, "error", "export_failed");
}
}
}

View File

@@ -133,6 +133,16 @@ $(document).ready(function(){
</div>
<div class="pull-right">
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-wrench"></i> <spring:message code="export"></spring:message>
<i class="fa fa-angle-down"></i>
</button>
<ul class="dropdown-menu pull-right" style="min-width: 110px;" >
<li><sys:delRow url="${ctx}/log/ntc/ntcDdosLogs/exportDdos?type=excel" searchUrl="${ctx}/log/ntc/ntcDdosLogs" id="contentTable" maxRow="10000" label="excel"></sys:delRow></li>
<li><sys:delRow url="${ctx}/log/ntc/ntcDdosLogs/exportDdos?type=csv" searchUrl="${ctx}/log/ntc/ntcDdosLogs" 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>
@@ -215,46 +225,46 @@ $(document).ready(function(){
<thead>
<tr>
<th><spring:message code="log"/></th>
<th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
<th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
<th class="sort-column found_time"><spring:message code="found_time"/></th>
<th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
<th class="sort-column cfg_id " isVisible="false" column="cfg_id" ><spring:message code="cfg_id"/></th>
<th class="sort-column service" isVisible="false" column="action" ><spring:message code="action"/></th>
<th class="sort-column found_time" column="found_time" ><spring:message code="found_time"/></th>
<th class="sort-column recv_time" isVisible="false" column="recv_time" ><spring:message code="recv_time"/></th>
<th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
<th class="sort-column attack_type"><spring:message code='attack_type'/></th>
<th class="sort-column attack_start_time"><spring:message code='attack_start_time'/></th>
<th class="sort-column last_attack_time"><spring:message code='last_attack_time'/></th>
<th class="sort-column attack_max_pps"><spring:message code='attack_max_pps'/></th>
<th class="sort-column attack_max_bps"><spring:message code='attack_max_bps'/></th>
<th class="sort-column attack_total_pkt"><spring:message code='attack_total_pkt'/></th>
<th class="sort-column attack_total_byte"><spring:message code='attack_total_byte'/></th>
<th class="sort-column is_blcok"><spring:message code='is_blcok'/></th>
<th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
<th class="sort-column entrance_id" isVisible="false" column="entrance_id" ><spring:message code="entrance_id"/></th>
<th class="sort-column attack_type" column="attack_type" ><spring:message code='attack_type'/></th>
<th class="sort-column attack_start_time" column="attack_start_time" ><spring:message code='attack_start_time'/></th>
<th class="sort-column last_attack_time" column="last_attack_time" ><spring:message code='last_attack_time'/></th>
<th class="sort-column attack_max_pps" column="attack_max_pps" ><spring:message code='attack_max_pps'/></th>
<th class="sort-column attack_max_bps" column="attack_max_bps" ><spring:message code='attack_max_bps'/></th>
<th class="sort-column attack_total_pkt" column="attack_total_pkt" ><spring:message code='attack_total_pkt'/></th>
<th class="sort-column attack_total_byte" column="attack_total_byte" ><spring:message code='attack_total_byte'/></th>
<th class="sort-column is_blcok" column="is_blcok" ><spring:message code='is_blcok'/></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="protocol_type"/></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 trans_proto" column="protocol_type" ><spring:message code="protocol_type"/></th>
<th class="sort-column addr_type" column="addr_type" ><spring:message code='addr_type'/></th>
<th class="sort-column d_ip" column="server_ip" ><spring:message code="server_ip"/></th>
<th class="sort-column s_ip" column="client_ip" ><spring:message code="client_ip"/></th>
<th class="sort-column d_port" column="server_port" ><spring:message code="server_port"/></th>
<th class="sort-column s_port" column="client_port" ><spring:message code="client_port"/></th>
<th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
<th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
<th class="sort-column encap_type"><spring:message code="encap_type"/></th>
<th class="sort-column direction"><spring:message code="direction"/></th>
<th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
<th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
<th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
<th class="sort-column device_id" isVisible="false" column="deviceid" ><spring:message code="deviceid"/></th>
<th class="sort-column link_id" isVisible="false" column="link_id" ><spring:message code="link_id"/></th>
<th class="sort-column encap_type" column="encap_type" ><spring:message code="encap_type"/></th>
<th class="sort-column direction" column="direction" ><spring:message code="direction"/></th>
<th class="sort-column inner_smac" column="inner_smac" ><spring:message code="inner_smac"/></th>
<th class="sort-column inner_dmac" column="inner_dmac" ><spring:message code="inner_dmac"/></th>
<th class="sort-column stream_dir" column="stream_type" ><spring:message code="stream_type"/></th>
<th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
<th class="sort-column server_locate"><spring:message code='server_locate'/></th>
<th class="sort-column client_locate"><spring:message code='client_locate'/></th>
<th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
<th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
<th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
<th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
<th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
<th class="sort-column addr_list" column="nest_addr_list" ><spring:message code="nest_addr_list"/></th>
<th class="sort-column server_locate" column="server_locate" ><spring:message code='server_locate'/></th>
<th class="sort-column client_locate" column="client_locate" ><spring:message code='client_locate'/></th>
<th class="sort-column s_asn" isVisible="false" column="s_asn" ><spring:message code='s_asn'/></th>
<th class="sort-column d_asn" isVisible="false" column="d_asn" ><spring:message code='d_asn'/></th>
<th class="sort-column s_subscribe_id" isVisible="false" column="s_subscribe_id" ><spring:message code='s_subscribe_id'/></th>
<th class="sort-column d_subscribe_id" isVisible="false" column="d_subscribe_id" ><spring:message code='d_subscribe_id'/></th>
<th class="sort-column user_region" isVisible="false" column="user_region" ><spring:message code='user_region'/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file" column="scene_file" ><spring:message code='scene_file'/></th></c:if>
</tr>
</thead>
<tbody>

View File

@@ -130,6 +130,16 @@ $(document).ready(function(){
</div>
<div class="pull-right">
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-wrench"></i> <spring:message code="export"></spring:message>
<i class="fa fa-angle-down"></i>
</button>
<ul class="dropdown-menu pull-right" style="min-width: 110px;" >
<li><sys:delRow url="${ctx}/log/ntc/mmFileDigestLogs/exportFileDigest?type=excel" searchUrl="${ctx}/log/ntc/mmSampleAudioLogs" id="contentTable" maxRow="10000" label="excel"></sys:delRow></li>
<li><sys:delRow url="${ctx}/log/ntc/mmFileDigestLogs/exportFileDigest?type=csv" searchUrl="${ctx}/log/ntc/mmSampleAudioLogs" 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>
@@ -210,44 +220,44 @@ $(document).ready(function(){
<thead>
<tr>
<th><spring:message code="log"/></th>
<th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
<th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
<th class="sort-column found_time"><spring:message code="found_time"/></th>
<th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
<th class="sort-column cfg_id " isVisible="false" column="cfg_id" ><spring:message code="cfg_id"/></th>
<th class="sort-column service" isVisible="false" column="action" ><spring:message code="action"/></th>
<th class="sort-column found_time" column="found_time" ><spring:message code="found_time"/></th>
<th class="sort-column recv_time" isVisible="false" column="recv_time" ><spring:message code="recv_time"/></th>
<th class="sort-column entrance_id" isVisible="false"><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 pid" isVisible="false"><spring:message code='pid'/></th>
<th class="sort-column url"><spring:message code='access_url'/></th>
<th class="sort-column pid" isVisible="false" column="pid" ><spring:message code='pid'/></th>
<th class="sort-column url" column="access_url" ><spring:message code='access_url'/></th>
<%-- <th class="sort-column log_uri"><spring:message code='log_uri'/></th> --%>
<th class="sort-column referer"><spring:message code='referer'/></th>
<th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th>
<th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></th>
<th class="sort-column protocol" ><spring:message code='av_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 referer" column="referer" ><spring:message code='referer'/></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" column="fd_type" ><spring:message code='fd_type'/></th>
<th class="sort-column protocol" column="av_protocol" ><spring:message code='av_protocol'/></th>
<th class="sort-column cap_ip" isVisible="false" column="clj_ip" ><spring:message code="clj_ip"/></th>
<th class="sort-column trans_proto" column="transport_layer_protocol" ><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column addr_type" column="addr_type" ><spring:message code='addr_type'/></th>
<th class="sort-column d_ip" column="server_ip" ><spring:message code="server_ip"/></th>
<th class="sort-column s_ip" column="client_ip" ><spring:message code="client_ip"/></th>
<th class="sort-column d_port" column="server_port" ><spring:message code="server_port"/></th>
<th class="sort-column s_port" column="client_port" ><spring:message code="client_port"/></th>
<th class="sort-column device_id" isVisible="false" 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"><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 inner_smac" column="inner_smac" ><spring:message code="inner_smac"/></th>
<th class="sort-column inner_dmac" column="inner_dmac" ><spring:message code="inner_dmac"/></th>
<th class="sort-column stream_dir" column="stream_type" ><spring:message code="stream_type"/></th>
<th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
<th class="sort-column server_locate"><spring:message code='server_locate'/></th>
<th class="sort-column client_locate"><spring:message code='client_locate'/></th>
<th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
<th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
<th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
<th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
<th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
<th class="sort-column addr_list" column="nest_addr_list" ><spring:message code="nest_addr_list"/></th>
<th class="sort-column server_locate" column="server_locate" ><spring:message code='server_locate'/></th>
<th class="sort-column client_locate" column="client_locate" ><spring:message code='client_locate'/></th>
<th class="sort-column s_asn" isVisible="false" column="s_asn" ><spring:message code='s_asn'/></th>
<th class="sort-column d_asn" isVisible="false" column="d_asn" ><spring:message code='d_asn'/></th>
<th class="sort-column s_subscribe_id" isVisible="false" column="s_subscribe_id" ><spring:message code='s_subscribe_id'/></th>
<th class="sort-column d_subscribe_id" isVisible="false" column="d_subscribe_id" ><spring:message code='d_subscribe_id'/></th>
<th class="sort-column user_region" isVisible="false" column="user_region" ><spring:message code='user_region'/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file" column="scene_file" ><spring:message code='scene_file'/></th></c:if>
</tr>
</thead>
<tbody>

View File

@@ -165,6 +165,17 @@
</div>
<div class="pull-right">
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-wrench"></i> <spring:message code="export"></spring:message>
<i class="fa fa-angle-down"></i>
</button>
<ul class="dropdown-menu pull-right" style="min-width: 110px;" >
<li><sys:delRow url="${ctx}/log/ntc/mmSampleAudioLogs/exportSampleAudio?type=excel" searchUrl="${ctx}/log/ntc/mmSampleAudioLogs" id="contentTable" maxRow="10000" label="excel"></sys:delRow></li>
<li><sys:delRow url="${ctx}/log/ntc/mmSampleAudioLogs/exportSampleAudio?type=csv" searchUrl="${ctx}/log/ntc/mmSampleAudioLogs" 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"/>
@@ -268,45 +279,45 @@
<thead>
<tr>
<th><spring:message code="log"/></th>
<th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
<th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
<th class="sort-column found_time"><spring:message code="found_time"/></th>
<th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
<th class="sort-column cfg_id " isVisible="false" column="cfg_id" ><spring:message code="cfg_id"/></th>
<th class="sort-column service" isVisible="false" column="action" ><spring:message code="action"/></th>
<th class="sort-column found_time" column="found_time" ><spring:message code="found_time"/></th>
<th class="sort-column recv_time" isVisible="false" column="recv_time" ><spring:message code="recv_time"/></th>
<th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
<th class="sort-column entrance_id" isVisible="false" column="entrance_id" ><spring:message code="entrance_id"/></th>
<th class="sort-column pid" isVisible="false"><spring:message code='pid'/></th>
<th class="sort-column url"><spring:message code='access_url'/></th>
<th class="sort-column log_uri"><spring:message code='log_uri'/></th>
<th class="sort-column referer"><spring:message code='referer'/></th>
<th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th>
<th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></th>
<th class="sort-column protocol" ><spring:message code='av_protocol'/></th>
<th class="sort-column pid" isVisible="false" column="access_url" ><spring:message code='pid'/></th>
<th class="sort-column url" column="" ><spring:message code='access_url'/></th>
<th class="sort-column log_uri" column="log_uri" ><spring:message code='log_uri'/></th>
<th class="sort-column referer" column="referer" ><spring:message code='referer'/></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" column="fd_type" ><spring:message code='fd_type'/></th>
<th class="sort-column protocol" column="av_protocol" ><spring:message code='av_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 cap_ip" isVisible="false" column="clj_ip" ><spring:message code="clj_ip"/></th>
<th class="sort-column trans_proto" column="transport_layer_protocol" ><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column addr_type" column="addr_type" ><spring:message code='addr_type'/></th>
<th class="sort-column d_ip" column="server_ip" ><spring:message code="server_ip"/></th>
<th class="sort-column s_ip" column="client_ip" ><spring:message code="client_ip"/></th>
<th class="sort-column d_port" column="server_port" ><spring:message code="server_port"/></th>
<th class="sort-column s_port" column="client_port" ><spring:message code="client_port"/></th>
<th class="sort-column device_id" isVisible="false" column="deviceid" ><spring:message code="deviceid"/></th>
<th class="sort-column link_id" isVisible="false" column="link_id" ><spring:message code="link_id"/></th>
<th class="sort-column encap_type" column="encap_type" ><spring:message code="encap_type"/></th>
<%-- <th class="sort-column direction"><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 inner_smac" column="inner_smac" ><spring:message code="inner_smac"/></th>
<th class="sort-column inner_dmac" column="inner_dmac" ><spring:message code="inner_dmac"/></th>
<th class="sort-column stream_dir" column="stream_type" ><spring:message code="stream_type"/></th>
<th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
<th class="sort-column server_locate"><spring:message code='server_locate'/></th>
<th class="sort-column client_locate"><spring:message code='client_locate'/></th>
<th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
<th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
<th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
<th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
<th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
<th class="sort-column addr_list" column="nest_addr_list" ><spring:message code="nest_addr_list"/></th>
<th class="sort-column server_locate" column="server_locate" ><spring:message code='server_locate'/></th>
<th class="sort-column client_locate" column="client_locate" ><spring:message code='client_locate'/></th>
<th class="sort-column s_asn" isVisible="false" column="s_asn" ><spring:message code='s_asn'/></th>
<th class="sort-column d_asn" isVisible="false" column="d_asn" ><spring:message code='d_asn'/></th>
<th class="sort-column s_subscribe_id" isVisible="false" column="s_subscribe_id" ><spring:message code='s_subscribe_id'/></th>
<th class="sort-column d_subscribe_id" isVisible="false" column="d_subscribe_id" ><spring:message code='d_subscribe_id'/></th>
<th class="sort-column user_region" isVisible="false" column="user_region" ><spring:message code='user_region'/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file" column="scene_file" ><spring:message code='scene_file'/></th></c:if>
</tr>
</thead>
<tbody>

View File

@@ -131,6 +131,16 @@ $(document).ready(function(){
</div>
<div class="pull-right">
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-wrench"></i> <spring:message code="export"></spring:message>
<i class="fa fa-angle-down"></i>
</button>
<ul class="dropdown-menu pull-right" style="min-width: 110px;" >
<li><sys:delRow url="${ctx}/log/ntc/mmSamplePicLogs/exportSamplePic?type=excel" searchUrl="${ctx}/log/ntc/mmSamplePicLogs" id="contentTable" maxRow="10000" label="excel"></sys:delRow></li>
<li><sys:delRow url="${ctx}/log/ntc/mmSamplePicLogs/exportSamplePic?type=csv" searchUrl="${ctx}/log/ntc/mmSamplePicLogs" 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>
@@ -209,44 +219,44 @@ $(document).ready(function(){
<thead>
<tr>
<th><spring:message code="log"/></th>
<th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
<th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
<th class="sort-column found_time"><spring:message code="found_time"/></th>
<th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
<th class="sort-column cfg_id " isVisible="false" column="cfg_id" ><spring:message code="cfg_id"/></th>
<th class="sort-column service" isVisible="false" column="action" ><spring:message code="action"/></th>
<th class="sort-column found_time" column="found_time" ><spring:message code="found_time"/></th>
<th class="sort-column recv_time" isVisible="false" column="recv_time" ><spring:message code="recv_time"/></th>
<th class="sort-column entrance_id" isVisible="false"><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 pid" isVisible="false"><spring:message code='pid'/></th>
<th class="sort-column url"><spring:message code='access_url'/></th>
<th class="sort-column log_uri"><spring:message code='log_uri'/></th>
<th class="sort-column referer"><spring:message code='referer'/></th>
<th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th>
<th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></th>
<th class="sort-column protocol" ><spring:message code='av_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 pid" isVisible="false" column="pid" ><spring:message code='pid'/></th>
<th class="sort-column url" column="access_url" ><spring:message code='access_url'/></th>
<th class="sort-column log_uri" column="log_uri" ><spring:message code='log_uri'/></th>
<th class="sort-column referer" column="referer" ><spring:message code='referer'/></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" column="fd_type" ><spring:message code='fd_type'/></th>
<th class="sort-column protocol" column="av_protocol" ><spring:message code='av_protocol'/></th>
<th class="sort-column cap_ip" isVisible="false" column="clj_ip" ><spring:message code="clj_ip"/></th>
<th class="sort-column trans_proto" column="transport_layer_protocol" ><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column addr_type" column="addr_type" ><spring:message code='addr_type'/></th>
<th class="sort-column d_ip" column="server_ip" ><spring:message code="server_ip"/></th>
<th class="sort-column s_ip" column="client_ip" ><spring:message code="client_ip"/></th>
<th class="sort-column d_port" column="server_port" ><spring:message code="server_port"/></th>
<th class="sort-column s_port" column="client_port" ><spring:message code="client_port"/></th>
<th class="sort-column device_id" isVisible="false" 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"><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 inner_smac" column="inner_smac" ><spring:message code="inner_smac"/></th>
<th class="sort-column inner_dmac" column="inner_dmac" ><spring:message code="inner_dmac"/></th>
<th class="sort-column stream_dir" column="stream_type" ><spring:message code="stream_type"/></th>
<th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
<th class="sort-column server_locate"><spring:message code='server_locate'/></th>
<th class="sort-column client_locate"><spring:message code='client_locate'/></th>
<th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
<th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
<th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
<th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
<th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
<th class="sort-column addr_list" column="nest_addr_list" ><spring:message code="nest_addr_list"/></th>
<th class="sort-column server_locate" column="server_locate" ><spring:message code='server_locate'/></th>
<th class="sort-column client_locate" column="client_locate" ><spring:message code='client_locate'/></th>
<th class="sort-column s_asn" isVisible="false" column="s_asn" ><spring:message code='s_asn'/></th>
<th class="sort-column d_asn" isVisible="false" column="d_asn" ><spring:message code='d_asn'/></th>
<th class="sort-column s_subscribe_id" isVisible="false" column="s_subscribe_id" ><spring:message code='s_subscribe_id'/></th>
<th class="sort-column d_subscribe_id" isVisible="false" column="d_subscribe_id" ><spring:message code='d_subscribe_id'/></th>
<th class="sort-column user_region" isVisible="false" column="user_region" ><spring:message code='user_region'/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file" column="scene_file" ><spring:message code='scene_file'/></th></c:if>
</tr>
</thead>
<tbody>

View File

@@ -132,6 +132,16 @@ $(document).ready(function(){
</div>
<div class="pull-right">
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-wrench"></i> <spring:message code="export"></spring:message>
<i class="fa fa-angle-down"></i>
</button>
<ul class="dropdown-menu pull-right" style="min-width: 110px;" >
<li><sys:delRow url="${ctx}/log/ntc/mmSampleVideoLogs/exportSampleVideo?type=excel" searchUrl="${ctx}/log/ntc/mmSampleVideoLogs" id="contentTable" maxRow="10000" label="excel"></sys:delRow></li>
<li><sys:delRow url="${ctx}/log/ntc/mmSampleVideoLogs/exportSampleVideo?type=csv" searchUrl="${ctx}/log/ntc/mmSampleVideoLogs" 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>
@@ -210,44 +220,44 @@ $(document).ready(function(){
<thead>
<tr>
<th><spring:message code="log"/></th>
<th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
<th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
<th class="sort-column found_time"><spring:message code="found_time"/></th>
<th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
<th class="sort-column cfg_id " isVisible="false" column="cfg_id"><spring:message code="cfg_id"/></th>
<th class="sort-column service" isVisible="false" column="action"><spring:message code="action"/></th>
<th class="sort-column found_time" column="found_time"><spring:message code="found_time"/></th>
<th class="sort-column recv_time" isVisible="false" column="recv_time"><spring:message code="recv_time"/></th>
<th class="sort-column entrance_id" isVisible="false"><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 pid" isVisible="false"><spring:message code='pid'/></th>
<th class="sort-column url"><spring:message code='access_url'/></th>
<th class="sort-column log_uri"><spring:message code='log_uri'/></th>
<th class="sort-column referer"><spring:message code='referer'/></th>
<th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th>
<th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></th>
<th class="sort-column protocol" ><spring:message code='av_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 pid" isVisible="false" column="pid"><spring:message code='pid'/></th>
<th class="sort-column url" column="access_url"><spring:message code='access_url'/></th>
<th class="sort-column log_uri" column="log_uri"><spring:message code='log_uri'/></th>
<th class="sort-column referer" column="referer"><spring:message code='referer'/></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" column="fd_type"><spring:message code='fd_type'/></th>
<th class="sort-column protocol" column="av_protocol"><spring:message code='av_protocol'/></th>
<th class="sort-column cap_ip" isVisible="false" column="clj_ip"><spring:message code="clj_ip"/></th>
<th class="sort-column trans_proto" column="transport_layer_protocol"><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column addr_type" column="addr_type"><spring:message code='addr_type'/></th>
<th class="sort-column d_ip" column="server_ip"><spring:message code="server_ip"/></th>
<th class="sort-column s_ip" column="client_ip"><spring:message code="client_ip"/></th>
<th class="sort-column d_port" column="server_port"><spring:message code="server_port"/></th>
<th class="sort-column s_port" column="client_port"><spring:message code="client_port"/></th>
<th class="sort-column device_id" isVisible="false" 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"><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 inner_smac" column="inner_smac"><spring:message code="inner_smac"/></th>
<th class="sort-column inner_dmac" column="inner_dmac"><spring:message code="inner_dmac"/></th>
<th class="sort-column stream_dir" column="stream_type"><spring:message code="stream_type"/></th>
<th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
<th class="sort-column server_locate"><spring:message code='server_locate'/></th>
<th class="sort-column client_locate"><spring:message code='client_locate'/></th>
<th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
<th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
<th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
<th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
<th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
<th class="sort-column addr_list" column="nest_addr_list"><spring:message code="nest_addr_list"/></th>
<th class="sort-column server_locate" column="server_locate"><spring:message code='server_locate'/></th>
<th class="sort-column client_locate" column="client_locate"><spring:message code='client_locate'/></th>
<th class="sort-column s_asn" isVisible="false" column="s_asn"><spring:message code='s_asn'/></th>
<th class="sort-column d_asn" isVisible="false" column="d_asn"><spring:message code='d_asn'/></th>
<th class="sort-column s_subscribe_id" isVisible="false" column="s_subscribe_id"><spring:message code='s_subscribe_id'/></th>
<th class="sort-column d_subscribe_id" isVisible="false" column="d_subscribe_id"><spring:message code='d_subscribe_id'/></th>
<th class="sort-column user_region" isVisible="false" column="user_region"><spring:message code='user_region'/></th>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file" column="scene_file"><spring:message code='scene_file'/></th></c:if>
</tr>
</thead>
<tbody>
@@ -310,9 +320,14 @@ $(document).ready(function(){
<td>${log.level}</td>
<!--0动态黑名单FD1静态配置FD2首次分析命中 -->
<td>
<c:if test="${log.fdType eq 0 }"><spring:message code="black_block_list"/></c:if>
<c:if test="${log.fdType eq 1 }"><spring:message code="static_cfg_block"/></c:if>
<c:if test="${log.fdType eq 2 }"><spring:message code="first_hit"/></c:if>
<c:set var="fdTypes">${log.fdType }</c:set>
<c:forEach items="${fns:getDictList('FD_TYPE')}" var="dic">
<c:if test="${dic.itemCode eq log.fdType}">
<c:set var="fdTypes">${dic.itemValue}</c:set>
</c:if>
</c:forEach>
<spring:message code="${fdTypes}"/>
</td>
<td><c:set var="avProtocol" value="${log.protocol}"></c:set>
<c:forEach items="${fns:getDictList('AV_PROTOCOL')}" var="dic">