IP配置导出提交

This commit is contained in:
wangxin
2018-07-03 14:55:36 +08:00
parent abe373ced3
commit c74e75f306
14 changed files with 224 additions and 31 deletions

View File

@@ -10,31 +10,36 @@ package com.nis.web.controller.configuration;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.jets3t.service.ServiceException;
import org.datanucleus.store.types.wrappers.backed.Set;
import org.springframework.beans.BeanUtils;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.nis.domain.Page;
import com.nis.domain.SysDataDictionaryItem;
import com.nis.domain.SysUser;
import com.nis.domain.basics.ServiceDictInfo;
import com.nis.domain.configuration.BaseIpCfg;
import com.nis.domain.configuration.HttpUrlCfg;
import com.nis.domain.configuration.IpCfgTemplate;
import com.nis.domain.configuration.IpPortCfg;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.Constants;
import com.nis.util.DictUtils;
import com.nis.util.DateUtils;
import com.nis.util.StringUtil;
import com.nis.util.excel.ExportExcel;
import com.nis.util.excel.ImportExcel;
import com.nis.web.controller.BaseController;
import com.nis.web.dao.configuration.IpCfgDao;
@@ -213,7 +218,8 @@ public class CommonController extends BaseController {
addMessage(redirectAttributes, "audit_failed");
}
}
public void _importIp(RedirectAttributes redirectAttributes,MultipartFile file,IpPortCfg ipCfg) {
public void _importIp(String cfgName,RedirectAttributes redirectAttributes,MultipartFile file,IpPortCfg ipCfg) {
redirectAttributes.addAttribute("cfgName", cfgName);
try {
ImportExcel ei = new ImportExcel(file, 0, 0);
List<IpCfgTemplate> list = ei.getDataList(IpCfgTemplate.class);
@@ -239,9 +245,51 @@ public class CommonController extends BaseController {
e.printStackTrace();
}
}
@RequestMapping(value = "import/template")
public void _importFileTemplate(HttpServletRequest request,HttpServletResponse response,
RedirectAttributes redirectAttributes,Integer functionId,Integer cfgRegionCode) {
this.importCfgTemplate(request, response, redirectAttributes, functionId, cfgRegionCode);
}
//ip配置导出
public void _exportIp(Model model,HttpServletRequest request,HttpServletResponse response,
@ModelAttribute("cfg")IpPortCfg entity,String ids,RedirectAttributes redirectAttributes){
try {
//获取国际化配置
Properties msgProp = getMsgProp();
//获取分类、性质、标签
List<ServiceDictInfo> fls=serviceDictInfoService.findAllFlDict();
List<ServiceDictInfo> xzs=serviceDictInfoService.findAllXzDict();
List<ServiceDictInfo> labels=serviceDictInfoService.findAllLableDict();
Map<Object, Object> map=new HashMap<Object, Object>();
map.put("fls", fls);
map.put("xzs", xzs);
map.put("labels", labels);
String fileName = msgProp.getProperty("date_list", "data")+"-"+DateUtils.getDate("yyyyMMddHHmmss")+".xlsx";
//导出选中记录
if(!StringUtil.isEmpty(ids)){
for(String id:ids.split(",")){
Long.parseLong(id);
}
List<BaseIpCfg> list=ipCfgService.getListByCfgIdWithName(IpPortCfg.getTablename(), entity.getFunctionId(), ids);
new ExportExcel(msgProp,null, IpPortCfg.class,1).setDataList(msgProp,list,map).write(response, fileName).dispose();
}else{
//条件导出数据大于最大导出数,只导出最大导出条数
entity.setTableName(IpPortCfg.getTablename());
Page<BaseIpCfg> pageInfo=new Page<BaseIpCfg>(request, response,"r");
if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){
pageInfo.setPageNo(1);
pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE);
}else{
pageInfo.setPageNo(1);
pageInfo.setPageSize(-1);
}
Page<BaseIpCfg> page = ipCfgService.findPage(pageInfo, entity);
new ExportExcel(msgProp,null, IpPortCfg.class,1).setDataList(msgProp,page.getList(),map).write(response, fileName).dispose();
}
} catch (Exception e) {
e.printStackTrace();
addMessage(redirectAttributes, "导出失败!失败信息:"+e.getMessage());
}
}
}

View File

@@ -91,12 +91,24 @@ public class IpMultiplexController extends CommonController {
return "redirect:" + adminPath +"/manipulation/ipmulitiplex/list?functionId="+cfg.getFunctionId();
}
//ip配置导入
@RequestMapping(value = "/importIp", method=RequestMethod.POST)
public String importIp(RedirectAttributes redirectAttributes,
@RequestMapping(value = "/import", method=RequestMethod.POST)
public String importIp(String cfgName,RedirectAttributes redirectAttributes,
@RequestParam("file") MultipartFile file,IpPortCfg cfg) {
this._importIp(redirectAttributes, file,cfg);
this._importIp(cfgName,redirectAttributes, file,cfg);
redirectAttributes.addAttribute("urlPrefix","/manipulation/ipmulitiplex");
redirectAttributes.addAttribute("requiresPermissionPrefix","ip:mulitiplex");
return "redirect:" + adminPath +"/manipulation/ipmulitiplex/list?functionId="+cfg.getFunctionId();
}
//ip模板下载
@RequestMapping(value = "import/template")
public void importFileTemplate(HttpServletRequest request,HttpServletResponse response,
RedirectAttributes redirectAttributes,Integer functionId,Integer cfgRegionCode) {
this._importFileTemplate(request, response, redirectAttributes, functionId, cfgRegionCode);
}
//ip配置导出
@RequestMapping(value = "export")
public void exportIp(Model model,HttpServletRequest request,HttpServletResponse response,
@ModelAttribute("cfg")IpPortCfg entity,String ids,RedirectAttributes redirectAttributes){
this._exportIp(model, request, response, entity, ids, redirectAttributes);
}
}

View File

@@ -112,12 +112,23 @@ public class RatelimitController extends CommonController {
return "redirect:" + adminPath +"/manipulation/ratelimit/domain/list?functionId="+cfg.getFunctionId();
}
//ip配置导入
@RequestMapping(value = "/ip/importIp", method=RequestMethod.POST)
public String importIp(RedirectAttributes redirectAttributes,
@RequestMapping(value = "/ip/import", method=RequestMethod.POST)
public String importIp(String cfgName,RedirectAttributes redirectAttributes,
@RequestParam("file") MultipartFile file,IpPortCfg cfg) {
this._importIp(redirectAttributes, file,cfg);
this._importIp(cfgName,redirectAttributes, file,cfg);
redirectAttributes.addAttribute("urlPrefix","/manipulation/ratelimit/ip");
redirectAttributes.addAttribute("requiresPermissionPrefix","ip:ratelimit");
return "redirect:" + adminPath +"/manipulation/ratelimit/ip/list?functionId="+cfg.getFunctionId();
}
@RequestMapping(value = "/ip/import/template")
public void importFileTemplate(HttpServletRequest request,HttpServletResponse response,
RedirectAttributes redirectAttributes,Integer functionId,Integer cfgRegionCode) {
this._importFileTemplate(request, response, redirectAttributes, functionId, cfgRegionCode);
}
//ip配置导出
@RequestMapping(value = "/ip/export")
public void exportIp(Model model,HttpServletRequest request,HttpServletResponse response,
@ModelAttribute("cfg")IpPortCfg entity,String ids,RedirectAttributes redirectAttributes){
this._exportIp(model, request, response, entity, ids, redirectAttributes);
}
}

View File

@@ -64,12 +64,24 @@ public class IpController extends CommonController{
return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+cfg.getFunctionId();
}
//ip配置导入
@RequestMapping(value = "importIp", method=RequestMethod.POST)
public String importIp(RedirectAttributes redirectAttributes,
@RequestMapping(value = "import", method=RequestMethod.POST)
public String importIp(String cfgName,RedirectAttributes redirectAttributes,
@RequestParam("file") MultipartFile file,IpPortCfg cfg) {
redirectAttributes.addAttribute("urlPrefix","/ntc/iplist");
redirectAttributes.addAttribute("requiresPermissionPrefix","iplist");
this._importIp(redirectAttributes, file,cfg);
this._importIp(cfgName,redirectAttributes, file,cfg);
return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+cfg.getFunctionId();
}
//ip模板下载
@RequestMapping(value = "import/template")
public void importFileTemplate(HttpServletRequest request,HttpServletResponse response,
RedirectAttributes redirectAttributes,Integer functionId,Integer cfgRegionCode) {
this._importFileTemplate(request, response, redirectAttributes, functionId, cfgRegionCode);
}
//ip配置导出
@RequestMapping(value = "export")
public void exportIp(Model model,HttpServletRequest request,HttpServletResponse response,
@ModelAttribute("cfg")IpPortCfg entity,String ids,RedirectAttributes redirectAttributes){
this._exportIp(model, request, response, entity, ids, redirectAttributes);
}
}

View File

@@ -112,12 +112,23 @@ public class ControlController extends CommonController {
return "redirect:" + adminPath +"/proxy/control/domain/list?functionId="+cfg.getFunctionId();
}
//ip配置导入
@RequestMapping(value = "/ip/importIp", method=RequestMethod.POST)
public String importIp(RedirectAttributes redirectAttributes,
@RequestMapping(value = "/ip/import", method=RequestMethod.POST)
public String importIp(String cfgName,RedirectAttributes redirectAttributes,
@RequestParam("file") MultipartFile file,IpPortCfg cfg) {
this._importIp(redirectAttributes, file,cfg);
this._importIp(cfgName,redirectAttributes, file,cfg);
redirectAttributes.addAttribute("urlPrefix","/proxy/control/ip");
redirectAttributes.addAttribute("requiresPermissionPrefix","control:ip");
return "redirect:" + adminPath +"/proxy/control/ip/list?functionId="+cfg.getFunctionId();
}
@RequestMapping(value = "/ip/import/template")
public void importFileTemplate(HttpServletRequest request,HttpServletResponse response,
RedirectAttributes redirectAttributes,Integer functionId,Integer cfgRegionCode) {
this._importFileTemplate(request, response, redirectAttributes, functionId, cfgRegionCode);
}
//ip配置导出
@RequestMapping(value = "/ip/export")
public void exportIp(Model model,HttpServletRequest request,HttpServletResponse response,
@ModelAttribute("cfg")IpPortCfg entity,String ids,RedirectAttributes redirectAttributes){
this._exportIp(model, request, response, entity, ids, redirectAttributes);
}
}

View File

@@ -102,12 +102,23 @@ public class InterceptController extends CommonController{
return "redirect:" + adminPath +"/proxy/intercept/domain/list?functionId="+cfg.getFunctionId();
}
//ip配置导入
@RequestMapping(value = "/ip/importIp", method=RequestMethod.POST)
public String importIp(RedirectAttributes redirectAttributes,
@RequestMapping(value = "/ip/import", method=RequestMethod.POST)
public String importIp(String cfgName,RedirectAttributes redirectAttributes,
@RequestParam("file") MultipartFile file,IpPortCfg cfg) {
this._importIp(redirectAttributes, file,cfg);
this._importIp(cfgName,redirectAttributes, file,cfg);
redirectAttributes.addAttribute("urlPrefix","/proxy/intercept/ip");
redirectAttributes.addAttribute("requiresPermissionPrefix","intercept:ip");
return "redirect:" + adminPath +"/proxy/intercept/ip/list?functionId="+cfg.getFunctionId();
}
@RequestMapping(value = "/ip/import/template")
public void importFileTemplate(HttpServletRequest request,HttpServletResponse response,
RedirectAttributes redirectAttributes,Integer functionId,Integer cfgRegionCode) {
this._importFileTemplate(request, response, redirectAttributes, functionId, cfgRegionCode);
}
//ip配置导出
@RequestMapping(value = "/ip/export")
public void exportIp(Model model,HttpServletRequest request,HttpServletResponse response,
@ModelAttribute("cfg")IpPortCfg entity,String ids,RedirectAttributes redirectAttributes){
this._exportIp(model, request, response, entity, ids, redirectAttributes);
}
}