From c812bebb2d6e21432a0b7a5145f130a4b8db01c3 Mon Sep 17 00:00:00 2001 From: wangwei Date: Sun, 23 Jun 2019 18:19:06 +0800 Subject: [PATCH] =?UTF-8?q?ResponsePage=E5=A2=9E=E5=8A=A0=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../callback/ProxyFileResponsePageCfg.java | 4 ++ .../proxy/FileResponsePageController.java | 64 +++++++++++++++++++ .../ProxyFileResponsePageDao.java | 2 +- .../ProxyFileResponsePageDao.xml | 16 ++++- .../ProxyFileResponsePageService.java | 4 ++ .../views/cfg/proxy/fileResponsePage/list.jsp | 58 ++++++++++------- 6 files changed, 122 insertions(+), 26 deletions(-) diff --git a/src/main/java/com/nis/domain/callback/ProxyFileResponsePageCfg.java b/src/main/java/com/nis/domain/callback/ProxyFileResponsePageCfg.java index 4f09d4a72..720d871f6 100644 --- a/src/main/java/com/nis/domain/callback/ProxyFileResponsePageCfg.java +++ b/src/main/java/com/nis/domain/callback/ProxyFileResponsePageCfg.java @@ -1,6 +1,7 @@ package com.nis.domain.callback; import com.nis.domain.configuration.BaseCfg; +import com.nis.util.excel.ExcelField; /** * http代理文件策略 * @author nanfang @@ -11,8 +12,11 @@ public class ProxyFileResponsePageCfg extends BaseCfg private static final long serialVersionUID = -1989406217948847813L; public final static String TABLE_NAME = "pxy_profile_response_pages";//对应表名 private String indexTable = "pxy_profile_response_pages"; + @ExcelField(title="file_desc",sort=1) private String fileDesc;//文件描述 + @ExcelField(title="response_file",sort=2) private String url;//文件保存的url + @ExcelField(title="format",sort=3) private String contentType;//内容类型,如text/html,取字典表contentType private String md5;//文件md5值 private Long contentLength;//文件长度 diff --git a/src/main/java/com/nis/web/controller/configuration/proxy/FileResponsePageController.java b/src/main/java/com/nis/web/controller/configuration/proxy/FileResponsePageController.java index c1dd788d2..d11dee65d 100644 --- a/src/main/java/com/nis/web/controller/configuration/proxy/FileResponsePageController.java +++ b/src/main/java/com/nis/web/controller/configuration/proxy/FileResponsePageController.java @@ -9,7 +9,10 @@ package com.nis.web.controller.configuration.proxy; import java.io.File; +import java.util.ArrayList; import java.util.Date; +import java.util.HashMap; +import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; @@ -26,11 +29,14 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes; import com.google.common.collect.Maps; import com.nis.domain.Page; +import com.nis.domain.callback.ProxyFileHijackCfg; import com.nis.domain.callback.ProxyFileResponsePageCfg; +import com.nis.domain.configuration.IpPortCfg; import com.nis.domain.maat.ToMaatResult; import com.nis.domain.maat.ToMaatResult.ResponseData; import com.nis.exceptions.MaatConvertException; import com.nis.util.ConfigServiceUtil; +import com.nis.util.Constants; import com.nis.util.FileUtils; import com.nis.util.JsonMapper; import com.nis.util.LogUtils; @@ -219,4 +225,62 @@ public class FileResponsePageController extends CommonController { } return "redirect:" + adminPath +"/proxy/fileResponsePage/list?functionId="+functionId; } + @RequestMapping(value = "exportFileResponsePage") + public void exportPxy(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") ProxyFileResponsePageCfg entity, String ids, RedirectAttributes redirectAttributes) { + try { + // export data info + List titleList = new ArrayList(); + Map> classMap = new HashMap>(); + Map dataMap = new HashMap(); + Map noExportMap = new HashMap(); + + List ipLists = new ArrayList(); + // 导出选中记录 + if (!StringUtil.isEmpty(ids)) { + ipLists = proxyFileResponsePageService.findByList(ids); + } else { + entity.setTableName(IpPortCfg.getTablename()); + Page pageInfo = new Page(request, response, "a"); + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + Page page = proxyFileResponsePageService.findPage(pageInfo, entity); + ipLists = page.getList(); + } + titleList.add(entity.getMenuNameCode()); + classMap.put(entity.getMenuNameCode(), ProxyFileResponsePageCfg.class); + String cfgIndexInfoNoExport = ",config_describe,whether_area_block,block_type,do_log,client_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + + // 时间过滤 + if (entity.getSearch_create_time_start() == null && entity.getSearch_create_time_end() == null) { + cfgIndexInfoNoExport = ",config_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_edit_time_start() == null && entity.getSearch_edit_time_end() == null) { + cfgIndexInfoNoExport = ",edit_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_audit_time_start() == null && entity.getSearch_audit_time_end() == null) { + cfgIndexInfoNoExport = ",audit_time" + cfgIndexInfoNoExport; + } + if (!StringUtil.isEmpty(entity.gethColumns())) { + cfgIndexInfoNoExport = "," + entity.gethColumns() + "," + cfgIndexInfoNoExport; + } + + noExportMap.put(entity.getMenuNameCode(), cfgIndexInfoNoExport); + dataMap.put(entity.getMenuNameCode(), ipLists); + + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } + } catch (Exception e) { + logger.error("proxyFileHijack export failed", e); + addMessage(redirectAttributes, "error", "export_failed"); + LogUtils.saveLog(request, null, e, null); + } + } } diff --git a/src/main/java/com/nis/web/dao/configuration/ProxyFileResponsePageDao.java b/src/main/java/com/nis/web/dao/configuration/ProxyFileResponsePageDao.java index 17c1148df..6c419324b 100644 --- a/src/main/java/com/nis/web/dao/configuration/ProxyFileResponsePageDao.java +++ b/src/main/java/com/nis/web/dao/configuration/ProxyFileResponsePageDao.java @@ -20,6 +20,6 @@ public interface ProxyFileResponsePageDao { public ProxyFileResponsePageCfg getCfgById(@Param("cfgId")Long cfgId); public void insert(ProxyFileResponsePageCfg entity); public void update(ProxyFileResponsePageCfg entity); - + List findByList(@Param("ids")String ids); } diff --git a/src/main/java/com/nis/web/dao/configuration/ProxyFileResponsePageDao.xml b/src/main/java/com/nis/web/dao/configuration/ProxyFileResponsePageDao.xml index 56cdc6d08..777104fb2 100644 --- a/src/main/java/com/nis/web/dao/configuration/ProxyFileResponsePageDao.xml +++ b/src/main/java/com/nis/web/dao/configuration/ProxyFileResponsePageDao.xml @@ -326,7 +326,21 @@ where cfg_id = #{cfgId,jdbcType=BIGINT} - + + \ No newline at end of file diff --git a/src/main/java/com/nis/web/service/configuration/ProxyFileResponsePageService.java b/src/main/java/com/nis/web/service/configuration/ProxyFileResponsePageService.java index a19104328..515c64bd8 100644 --- a/src/main/java/com/nis/web/service/configuration/ProxyFileResponsePageService.java +++ b/src/main/java/com/nis/web/service/configuration/ProxyFileResponsePageService.java @@ -132,5 +132,9 @@ public class ProxyFileResponsePageService extends BaseService{ List list=proxyFileDao.findPage(entity); return list; } + public List findByList(String ids) { + List list=proxyFileDao.findByList(ids); + return list; + } } diff --git a/src/main/webapp/WEB-INF/views/cfg/proxy/fileResponsePage/list.jsp b/src/main/webapp/WEB-INF/views/cfg/proxy/fileResponsePage/list.jsp index 2076a6d97..3fb6f4381 100644 --- a/src/main/webapp/WEB-INF/views/cfg/proxy/fileResponsePage/list.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/proxy/fileResponsePage/list.jsp @@ -121,6 +121,16 @@ +
+ + +