diff --git a/src/main/java/com/nis/domain/log/MmSampleVideoLog.java b/src/main/java/com/nis/domain/log/MmSampleVideoLog.java index 55b17cf4b..7cadf815c 100644 --- a/src/main/java/com/nis/domain/log/MmSampleVideoLog.java +++ b/src/main/java/com/nis/domain/log/MmSampleVideoLog.java @@ -1,16 +1,26 @@ package com.nis.domain.log; +import com.nis.util.excel.ExcelField; + public class MmSampleVideoLog extends BaseLogEntity{ private static final long serialVersionUID = -1160853324359310439L; + @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; } diff --git a/src/main/java/com/nis/web/controller/log/ntc/MmPornAvSampleController.java b/src/main/java/com/nis/web/controller/log/ntc/MmPornAvSampleController.java index 7c658066c..d6843ad90 100644 --- a/src/main/java/com/nis/web/controller/log/ntc/MmPornAvSampleController.java +++ b/src/main/java/com/nis/web/controller/log/ntc/MmPornAvSampleController.java @@ -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.MmPicUrlLog; +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") @@ -115,4 +120,66 @@ public class MmPornAvSampleController extends BaseController { } return "/log/ntc/mmPornVideoSampleList"; } + + //Video配置导出 + @RequestMapping(value = "mmSampleVideoLevelLogs/exportVideo") + public void exportVideo(@ModelAttribute("log") MmAvIpLog log, Model model,String hColumns,String type, HttpServletRequest request, HttpServletResponse response,RedirectAttributes redirectAttributes){ + try { + //export data info + List titleList=new ArrayList(); + Map> classMap=new HashMap>(); + Map dataMap=new HashMap(); + Map noExportMap=new HashMap(); + //--------------------------- + + PageLog page = new PageLog(request, response); + Map params=new HashMap<>(); + params.put("pageSize", page.getPageSize()); + params.put("pageNo", page.getPageNo()); + //查询值判断 + initLogSearchValue(log, params); + + List serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId()); + model.addAttribute("serviceList", serviceList); + List list=new ArrayList(); + String url = ""; + url = Constants.LOG_BASE_URL + Constants.NTC_MMPORNVIDEOSAMPLE_LOG; + String jsonString = HttpClientUtil.getMsg(url,params,request); + + Gson gson = new GsonBuilder().create(); + //gson泛型支持 + LogRecvData fromJson = gson.fromJson(jsonString, new TypeToken>(){}.getType()); + + if (fromJson.getStatus().intValue() == 200) { + Page data = fromJson.getData(); + list= data.getList(); + } + for (MmAvIpLog l : list) { + l.setFunctionId(log.getFunctionId()); + setLogAction(l,serviceList); + } + titleList.add("av_sample_video_porn_control"); + classMap.put("av_sample_video_porn_control", MmSampleVideoLog.class); + SysUser user =UserUtils.getUser(); + if (!user.isAdmin()){ + hColumns+=",scene_file,"; + }else{ + hColumns+=","; + } + String cfgIndexInfoNoExport=","+hColumns; + noExportMap.put("av_sample_video_porn_control",cfgIndexInfoNoExport); + dataMap.put("av_sample_video_porn_control",list); + /*}*/ + if("csv".equals(type)){ + this._exportCsv(model, request, response, redirectAttributes,"av_sample_video_porn_control",titleList,classMap,dataMap,noExportMap); + }else{ + this._export(model, request, response, redirectAttributes,"av_sample_video_porn_control",titleList,classMap,dataMap,noExportMap); + } + } catch (Exception e) { + logger.error("Video export failed",e); + addMessage(redirectAttributes,"error","export_failed"); + } + } + + } diff --git a/src/main/java/com/nis/web/controller/log/ntc/MmSampleVoipLogController.java b/src/main/java/com/nis/web/controller/log/ntc/MmSampleVoipLogController.java index 829e3db47..124ff3d2e 100644 --- a/src/main/java/com/nis/web/controller/log/ntc/MmSampleVoipLogController.java +++ b/src/main/java/com/nis/web/controller/log/ntc/MmSampleVoipLogController.java @@ -1,6 +1,7 @@ package com.nis.web.controller.log.ntc; import java.io.IOException; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -8,12 +9,14 @@ import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.apache.commons.lang3.StringUtils; import org.apache.http.client.ClientProtocolException; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.servlet.mvc.support.RedirectAttributes; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -21,13 +24,14 @@ 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.MmSampleVideoLog; +import com.nis.domain.SysUser; import com.nis.domain.log.MmVoipLog; import com.nis.domain.maat.LogRecvData; import com.nis.util.Constants; import com.nis.util.DictUtils; import com.nis.util.httpclient.HttpClientUtil; import com.nis.web.controller.BaseController; +import com.nis.web.security.UserUtils; @Controller @RequestMapping(value = "${adminPath}/log/ntc/mmSampleVoipLogs") @@ -75,4 +79,67 @@ public class MmSampleVoipLogController extends BaseController { } return "/log/ntc/mmSampleVoipList"; } + + + + + //exportVoip配置导出 + @RequestMapping(value = "exportVoip") + public void exportVoip(@ModelAttribute("log") MmVoipLog log, Model model,String hColumns,String type, HttpServletRequest request, HttpServletResponse response,RedirectAttributes redirectAttributes){ + try { + //export data info + List titleList=new ArrayList(); + Map> classMap=new HashMap>(); + Map dataMap=new HashMap(); + Map noExportMap=new HashMap(); + //--------------------------- + + PageLog page = new PageLog(request, response); + Map params=new HashMap<>(); + params.put("pageSize", page.getPageSize()); + params.put("pageNo", page.getPageNo()); + //查询值判断 + initLogSearchValue(log,params); + + List serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId()); + model.addAttribute("serviceList", serviceList); + List list=new ArrayList(); + String url = Constants.LOG_BASE_URL+Constants.NTC_MMSAMPLE_VOIP_LOG; + String jsonString = HttpClientUtil.getMsg(url,params,request); + + Gson gson = new GsonBuilder().create(); + //gson泛型支持 + LogRecvData fromJson = gson.fromJson(jsonString, new TypeToken>(){}.getType()); + + if (fromJson.getStatus().intValue() == 200) { + Page data = fromJson.getData(); + list= data.getList(); + } + for (MmVoipLog l : list) { + l.setFunctionId(log.getFunctionId()); + setLogAction(l,serviceList); + } + + titleList.add("av_sample_voip_control"); + classMap.put("av_sample_voip_control", MmVoipLog.class); + SysUser user =UserUtils.getUser(); + if (!user.isAdmin()){ + hColumns+=",scene_file,"; + }else{ + hColumns+=","; + } + String cfgIndexInfoNoExport=","+hColumns; + noExportMap.put("av_sample_voip_control",cfgIndexInfoNoExport); + dataMap.put("av_sample_voip_control",list); + /*}*/ + if("csv".equals(type)){ + this._exportCsv(model, request, response, redirectAttributes,"av_sample_voip_control",titleList,classMap,dataMap,noExportMap); + }else{ + this._export(model, request, response, redirectAttributes,"av_sample_voip_control",titleList,classMap,dataMap,noExportMap); + } + } catch (Exception e) { + logger.error("voip export failed",e); + addMessage(redirectAttributes,"error","export_failed"); + } + } } diff --git a/src/main/resources/sql/20181216/add_data_dictionary_item.sql b/src/main/resources/sql/20181216/add_data_dictionary_item.sql new file mode 100644 index 000000000..eb5a853b5 --- /dev/null +++ b/src/main/resources/sql/20181216/add_data_dictionary_item.sql @@ -0,0 +1,7 @@ +#日志查询-封堵类型 +INSERT INTO `sys_data_dictionary_name` (`id`, `module_name`, `mark`, `remark`, `revision`, `create_time`, `modify_time`, `status`) VALUES ('152', '日志查询-封堵类型', 'FD_TYPE', '日志查询-封堵类型', '', '2018-12-17 06:06:23', '2018-12-17 06:06:23', '1'); + + +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('4059', '0', 'black_block_list', '动态黑名单FD', '0', '1', '1', '152'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('4060', '1', 'static_cfg_block', '静态配置FD', '0', '1', '1', '152'); +INSERT INTO `sys_data_dictionary_item` (`id`, `item_code`, `item_value`, `item_desc`, `item_sort`, `status`, `type`, `dictionary_id`) VALUES ('4061', '2', 'first_hit', '首次分析命中', '0', '1', '1', '152'); diff --git a/src/main/webapp/WEB-INF/views/log/ntc/mmPornVideoSampleList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/mmPornVideoSampleList.jsp index 1a8f1ec50..996d2a88c 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/mmPornVideoSampleList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/mmPornVideoSampleList.jsp @@ -131,6 +131,17 @@ $(document).ready(function(){