多媒体、IP复用、增加导出excel和csv

This commit is contained in:
leijun
2018-12-23 00:36:58 +08:00
parent 9080960e95
commit df32c39736
42 changed files with 730 additions and 209 deletions

View File

@@ -1,7 +1,6 @@
package com.nis.web.controller.configuration.maintenance;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -21,7 +20,6 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.nis.domain.Page;
import com.nis.domain.basics.IpReuseIpCfg;
import com.nis.domain.configuration.BaseIpCfg;
import com.nis.domain.configuration.IpAddrPoolCfg;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.ConfigServiceUtil;
@@ -224,5 +222,67 @@ public class IpAddrPoolController extends BaseController{
List<IpReuseIpCfg> ipList = ipReuseIpCfgService.getPolicyIpInfo(addrPoolId);
return ipList;
}
@RequestMapping(value = "exportIpPool")
public void exportIpPool(Model model, HttpServletRequest request, HttpServletResponse response,
@ModelAttribute("cfg") IpAddrPoolCfg entity, String ids, 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>();
List<IpAddrPoolCfg> ipLists = new ArrayList<IpAddrPoolCfg>();
// 导出选中记录
if (!StringUtil.isEmpty(ids)) {
ipLists = ipAddrPoolCfgService.findByPage(ids);
} else {
Page<IpAddrPoolCfg> pageInfo = new Page<IpAddrPoolCfg>(request, response, "r");
pageInfo.setPageNo(1);
pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE);
Page<IpAddrPoolCfg> page = ipAddrPoolCfgService.findPage(pageInfo, entity);
ipLists = page.getList();
}
for (IpAddrPoolCfg ipAddrPoolCfg : ipLists) {
Integer compId=ipAddrPoolCfg.getCfgId().intValue();
ipAddrPoolCfg.setCompileId(compId);
}
titleList.add(entity.getMenuNameCode());
classMap.put(entity.getMenuNameCode(), IpAddrPoolCfg.class);
String cfgIndexInfoNoExport = ",cfg_id,config_describe,block_type,policy_name,do_log,,whether_area_block,do_blacklist,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("ip white export failed", e);
addMessage(redirectAttributes, "error", "export_failed");
}
}
}

View File

@@ -23,9 +23,14 @@ import com.google.common.collect.Maps;
import com.nis.domain.Page;
import com.nis.domain.basics.IpReuseIpCfg;
import com.nis.domain.basics.ServiceDictInfo;
import com.nis.domain.configuration.BaseCfg;
import com.nis.domain.configuration.BaseStringCfg;
import com.nis.domain.configuration.CfgIndexInfo;
import com.nis.domain.configuration.IpPortCfg;
import com.nis.domain.configuration.UserManage;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.Constants;
import com.nis.util.DateUtils;
import com.nis.util.StringUtil;
import com.nis.util.StringUtils;
import com.nis.web.controller.BaseController;
@@ -352,4 +357,87 @@ public class UserManageController extends BaseController{
model.addAttribute("user", user);
return "/cfg/maintenance/userManage/userView";
}*/
// 配置导出
@RequestMapping(value = "exportUser")
public void exportbgp(Model model, HttpServletRequest request, HttpServletResponse response,String hColumns,String exType,
@ModelAttribute("cfg") UserManage entity, String ids, 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>();
List<UserManage> ipLists = new ArrayList<UserManage>();
// 导出选中记录
if (!StringUtil.isEmpty(ids)) {
ipLists = userManageService.findByPage(ids);
} else {
Page<UserManage> pageInfo = new Page<UserManage>(request, response, "a");
pageInfo.setPageNo(1);
pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE);
Page<UserManage> page = userManageService.findPage(pageInfo, entity);
ipLists = page.getList();
}
titleList.add("user_manage");
classMap.put("user_manage", UserManage.class);
String cfgIndexInfoNoExport = ",";
// 时间过滤
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 (!StringUtil.isEmpty(hColumns)) {
cfgIndexInfoNoExport = "," + hColumns + "," + cfgIndexInfoNoExport;
}
for (UserManage userManage : ipLists) {
if(!StringUtils.isEmpty( userManage.getServerIp())){
userManage.setServerIp(userManage.getServerIp().substring(0,userManage.getServerIp().length()-1).replaceAll(",", ""));
}
}
noExportMap.put("user_manage", cfgIndexInfoNoExport);
dataMap.put("user_manage", ipLists);
String timeRange = initUserMap(entity);
noExportMap.put("timeRange", timeRange);
if ("csv".equals(exType)) {
this._exportCsv(model, request, response, redirectAttributes, "user_manage", titleList,
classMap, dataMap, noExportMap);
} else {
this._export(model, request, response, redirectAttributes, "user_manage", titleList,
classMap, dataMap, noExportMap);
}
} catch (Exception e) {
logger.error("user export failed", e);
addMessage(redirectAttributes, "error", "export_failed");
}
// return "redirect:" + adminPath
// +"/ntc/iplist/list?functionId="+entity.getFunctionId();
}
public String initUserMap(UserManage cfg){
Properties msgProp = getMsgProp();
String titleTime=msgProp.getProperty("user_manage","user_manage");
if(cfg.getSearch_create_time_start()!=null){
titleTime+=" "+msgProp.getProperty("config_time")+""+DateUtils.formatDateTime(cfg.getSearch_create_time_start());
if(cfg.getSearch_create_time_end()!=null){
titleTime+=""+DateUtils.formatDateTime(cfg.getSearch_create_time_end());
}
}else{
if(cfg.getSearch_create_time_end()!=null){
titleTime+=" "+msgProp.getProperty("config_time")+":—"+DateUtils.formatDateTime(cfg.getSearch_create_time_end());
}
}
if(cfg.getSearch_edit_time_start()!=null){
titleTime+=" "+msgProp.getProperty("edit_time")+""+DateUtils.formatDateTime(cfg.getSearch_edit_time_start());
if(cfg.getSearch_edit_time_end()!=null){
titleTime+=""+DateUtils.formatDateTime(cfg.getSearch_edit_time_end());
}
}else{
if(cfg.getSearch_edit_time_end()!=null){
titleTime+=" "+msgProp.getProperty("edit_time")+":—"+DateUtils.formatDateTime(cfg.getSearch_edit_time_end());
}
}
return titleTime;
}
}