From b294a8ced0a489dd4b86eef7da36e2269b875f85 Mon Sep 17 00:00:00 2001 From: wangwei Date: Mon, 17 Dec 2018 04:38:49 +0800 Subject: [PATCH] =?UTF-8?q?stream=E5=AF=BC=E5=87=BA=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/nis/domain/log/DkBehaviorLog.java | 5 +- .../manipulation/DkBehaviorLogController.java | 79 ++++++++++++++++++ .../controller/log/ntc/IpLogController.java | 70 ++++++++++++++++ .../views/log/manipulation/dkBehaviorList.jsp | 83 ++++++++++--------- .../webapp/WEB-INF/views/log/ntc/ipList.jsp | 64 ++++++++------ 5 files changed, 236 insertions(+), 65 deletions(-) diff --git a/src/main/java/com/nis/domain/log/DkBehaviorLog.java b/src/main/java/com/nis/domain/log/DkBehaviorLog.java index bb37a1a61..b526a73c0 100644 --- a/src/main/java/com/nis/domain/log/DkBehaviorLog.java +++ b/src/main/java/com/nis/domain/log/DkBehaviorLog.java @@ -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; /** @@ -13,11 +14,13 @@ import com.wordnik.swagger.annotations.ApiModelProperty; */ public class DkBehaviorLog extends BaseLogEntity { private static final long serialVersionUID = -589390375816690510L; - + @ExcelField(title="basic_protocol",sort=8) protected Integer labelProtoId; //协议类型id protected Integer labelOsId;//操作系统id protected Integer labelBsId; //浏览器id + @ExcelField(title="behaviour_type",sort=9) protected Integer labelBehavId; //行为id + @ExcelField(title="social_app",sort=10) protected Integer labelAppId; //应用id protected Integer labelProtoSource; //应用id protected Integer labelBehavSource; //应用id diff --git a/src/main/java/com/nis/web/controller/log/manipulation/DkBehaviorLogController.java b/src/main/java/com/nis/web/controller/log/manipulation/DkBehaviorLogController.java index b0648a6d3..c33601f09 100644 --- a/src/main/java/com/nis/web/controller/log/manipulation/DkBehaviorLogController.java +++ b/src/main/java/com/nis/web/controller/log/manipulation/DkBehaviorLogController.java @@ -1,6 +1,7 @@ package com.nis.web.controller.log.manipulation; 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,8 +24,10 @@ 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.DkBehaviorLog; import com.nis.domain.log.NtcHttpLog; +import com.nis.domain.log.DkBehaviorLog; import com.nis.domain.maat.LogRecvData; import com.nis.util.CodeDicUtils; import com.nis.util.Constants; @@ -31,6 +36,7 @@ import com.nis.util.StringUtil; import com.nis.util.httpclient.HttpClientUtil; import com.nis.web.controller.BaseController; import com.nis.web.dao.dashboard.codedic.CodeResult; +import com.nis.web.security.UserUtils; @Controller @RequestMapping(value = "${adminPath}/log/manipulation/dkbehaviorLogs") @@ -101,5 +107,78 @@ public class DkBehaviorLogController extends BaseController{ return "/log/manipulation/dkBehaviorList"; } + // Stream配置导出 + @RequestMapping(value = "exportStream") + public void exportStream(@ModelAttribute("log") DkBehaviorLog log, Model model, String hColumns, String type, + HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) { + String name= "Stream"; + 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); + page.setPageNo(1); + page.setPageSize(Constants.MAX_LOG_EXPORT_SIZE); + Map params = new HashMap(); + params.put("pageSize", page.getPageSize()); + params.put("pageNo", page.getPageNo()); + initLogSearchValue(log, params); + + List serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId()); + System.out.print(log.getFunctionId()); + model.addAttribute("serviceList", serviceList); + + + String url = Constants.LOG_BASE_URL + Constants.NTC_DKBEHAVIOR_LOG; + String recv = HttpClientUtil.getMsg(url, params, request); + List list = new ArrayList(); + if (StringUtils.isNotBlank(recv)) { + Gson gson = new GsonBuilder().create(); + LogRecvData fromJson = gson.fromJson(recv, new TypeToken>() { + }.getType()); + if (fromJson.getStatus().intValue() == 200) { + Page data = fromJson.getData(); + list = data.getList(); + } + } + for (DkBehaviorLog l : list) { + l.setFunctionId(log.getFunctionId()); + setLogAction(l, serviceList); + } + if(log.getFunctionId()==407){ + name="protocol_identify"; + }else if(log.getFunctionId()==63){ + name="social_app_control"; + }else if(log.getFunctionId()==408){ + name="encrypted_tunnel_behavior"; + } + titleList.add(name); + classMap.put(name, DkBehaviorLog.class); + SysUser user = UserUtils.getUser(); + if (!user.isAdmin()) { + hColumns += ",scene_file,"; + } else { + hColumns += ","; + } + String cfgIndexInfoNoExport = "," + hColumns; + noExportMap.put(name, cfgIndexInfoNoExport); + dataMap.put(name, list); + + if ("csv".equals(type)) { + this._exportCsv(model, request, response, redirectAttributes, name, titleList, classMap, + dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, name, titleList, classMap, dataMap, + noExportMap); + } + } catch (Exception e) { + logger.error(name +" export failed", e); + addMessage(redirectAttributes, "error", "export_failed"); + } + } + } diff --git a/src/main/java/com/nis/web/controller/log/ntc/IpLogController.java b/src/main/java/com/nis/web/controller/log/ntc/IpLogController.java index 0fbf42732..26eefdb35 100644 --- a/src/main/java/com/nis/web/controller/log/ntc/IpLogController.java +++ b/src/main/java/com/nis/web/controller/log/ntc/IpLogController.java @@ -2,6 +2,7 @@ package com.nis.web.controller.log.ntc; import java.io.File; import java.io.IOException; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -17,6 +18,7 @@ import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.servlet.mvc.support.RedirectAttributes; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -24,14 +26,17 @@ import com.google.gson.reflect.TypeToken; import com.nis.domain.FunctionServiceDict; import com.nis.domain.Page; import com.nis.domain.PageLog; +import com.nis.domain.SysUser; import com.nis.domain.log.NtcHttpLog; import com.nis.domain.log.NtcIpLog; +import com.nis.domain.log.NtcIpLog; import com.nis.domain.maat.LogRecvData; import com.nis.exceptions.MaatConvertException; import com.nis.util.Constants; import com.nis.util.DictUtils; import com.nis.util.httpclient.HttpClientUtil; import com.nis.web.controller.BaseController; +import com.nis.web.security.UserUtils; @Controller @RequestMapping("${adminPath}/log/ntc/ip") @@ -111,4 +116,69 @@ public class IpLogController extends BaseController { return "/log/ntc/ipList"; } + // Ip配置导出 + @RequestMapping(value = "exportIp") + public void exportIp(@ModelAttribute("log") NtcIpLog 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); + page.setPageNo(1); + page.setPageSize(Constants.MAX_LOG_EXPORT_SIZE); + 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); + + + String url = Constants.LOG_BASE_URL + Constants.NTC_IP_LOG; + String recv = HttpClientUtil.getMsg(url, params, request); + List list = new ArrayList(); + if (StringUtils.isNotBlank(recv)) { + Gson gson = new GsonBuilder().create(); + LogRecvData fromJson = gson.fromJson(recv, new TypeToken>() { + }.getType()); + if (fromJson.getStatus().intValue() == 200) { + Page data = fromJson.getData(); + list = data.getList(); + } + } + for (NtcIpLog l : list) { + l.setFunctionId(log.getFunctionId()); + setLogAction(l, serviceList); + } + + titleList.add("Ip"); + classMap.put("Ip", NtcIpLog.class); + SysUser user = UserUtils.getUser(); + if (!user.isAdmin()) { + hColumns += ",scene_file,"; + } else { + hColumns += ","; + } + String cfgIndexInfoNoExport = "," + hColumns; + noExportMap.put("Ip", cfgIndexInfoNoExport); + dataMap.put("Ip", list); + + if ("csv".equals(type)) { + this._exportCsv(model, request, response, redirectAttributes, "Ip", titleList, classMap, + dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, "Ip", titleList, classMap, dataMap, + noExportMap); + } + } catch (Exception e) { + logger.error("Ip" +" export failed", e); + addMessage(redirectAttributes, "error", "export_failed"); + } + } + } diff --git a/src/main/webapp/WEB-INF/views/log/manipulation/dkBehaviorList.jsp b/src/main/webapp/WEB-INF/views/log/manipulation/dkBehaviorList.jsp index 01193ded9..67c8d7358 100644 --- a/src/main/webapp/WEB-INF/views/log/manipulation/dkBehaviorList.jsp +++ b/src/main/webapp/WEB-INF/views/log/manipulation/dkBehaviorList.jsp @@ -143,12 +143,21 @@ $(document).ready(function(){ - +
+ + +
+ href="javascript:;"> + + +
@@ -223,46 +232,46 @@ $(document).ready(function(){ - - - - + + + + - + - + <%-- --%> - + <%-- --%> - + <%-- --%> - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - + + + + + + + + + diff --git a/src/main/webapp/WEB-INF/views/log/ntc/ipList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/ipList.jsp index 154596b41..0392a8ab4 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/ipList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/ipList.jsp @@ -129,6 +129,16 @@