(1)IP类通用导入配置功能增加,针对同一个菜单不同action发往不同maattable进行了处理。格式验证在后面会加上。
(2)IP通用页面,域名通用页面表单提交遮罩层增加。
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
*/
|
||||
package com.nis.web.controller.configuration;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@@ -17,15 +18,20 @@ import javax.servlet.http.HttpServletResponse;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.ui.Model;
|
||||
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.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.excel.ImportExcel;
|
||||
import com.nis.web.controller.BaseController;
|
||||
import com.nis.web.dao.configuration.IpCfgDao;
|
||||
|
||||
/**
|
||||
* @ClassName: CommonController.java
|
||||
@@ -201,4 +207,34 @@ public class CommonController extends BaseController {
|
||||
addMessage(redirectAttributes, "audit_failed");
|
||||
}
|
||||
}
|
||||
public void _importIp(RedirectAttributes redirectAttributes,MultipartFile file,IpPortCfg ipCfg) {
|
||||
try {
|
||||
ImportExcel ei = new ImportExcel(file, 0, 0);
|
||||
List<IpCfgTemplate> list = ei.getDataList(IpCfgTemplate.class);
|
||||
List<BaseIpCfg> ipList = new ArrayList<>();
|
||||
Date date=new Date();
|
||||
for(IpCfgTemplate cfg : list){
|
||||
IpPortCfg ip = new IpPortCfg();
|
||||
BeanUtils.copyProperties(ipCfg, ip);
|
||||
BeanUtils.copyProperties(cfg, ip);
|
||||
ip.setTableName(IpPortCfg.getTablename());
|
||||
ip.setIsAreaEffective(0);
|
||||
ip.setIsValid(Constants.VALID_NO);
|
||||
ip.setIsAudit(Constants.AUDIT_NOT_YET);
|
||||
ip.setCreatorId(ipCfg.getCurrentUser().getId());
|
||||
ip.setCreateTime(date);
|
||||
ip.setCompileId(ipCfgService.getCompileId());
|
||||
ipList.add(ip);
|
||||
}
|
||||
ipCfgService.saveBatch(ipList, IpCfgDao.class);
|
||||
} catch (Exception e) {
|
||||
addMessage(redirectAttributes, e.getMessage());
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,6 +19,9 @@ 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.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||
|
||||
import com.nis.domain.SysDataDictionaryItem;
|
||||
@@ -87,4 +90,13 @@ public class IpMultiplexController extends CommonController {
|
||||
redirectAttributes.addAttribute("requiresPermissionPrefix","ip:mulitiplex");
|
||||
return "redirect:" + adminPath +"/manipulation/ipmulitiplex/list?functionId="+cfg.getFunctionId();
|
||||
}
|
||||
//ip配置导入
|
||||
@RequestMapping(value = "/importIp", method=RequestMethod.POST)
|
||||
public String importIp(RedirectAttributes redirectAttributes,
|
||||
@RequestParam("file") MultipartFile file,IpPortCfg cfg) {
|
||||
this._importIp(redirectAttributes, file,cfg);
|
||||
redirectAttributes.addAttribute("urlPrefix","/manipulation/ipmulitiplex");
|
||||
redirectAttributes.addAttribute("requiresPermissionPrefix","ip:mulitiplex");
|
||||
return "redirect:" + adminPath +"/manipulation/ipmulitiplex/list?functionId="+cfg.getFunctionId();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,6 +17,9 @@ 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.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||
|
||||
import com.nis.domain.configuration.BaseIpCfg;
|
||||
@@ -108,4 +111,13 @@ public class RatelimitController extends CommonController {
|
||||
redirectAttributes.addAttribute("requiresPermissionPrefix","domain:ratelimit");
|
||||
return "redirect:" + adminPath +"/manipulation/ratelimit/domain/list?functionId="+cfg.getFunctionId();
|
||||
}
|
||||
//ip配置导入
|
||||
@RequestMapping(value = "/ip/importIp", method=RequestMethod.POST)
|
||||
public String importIp(RedirectAttributes redirectAttributes,
|
||||
@RequestParam("file") MultipartFile file,IpPortCfg cfg) {
|
||||
this._importIp(redirectAttributes, file,cfg);
|
||||
redirectAttributes.addAttribute("urlPrefix","/manipulation/ratelimit/ip");
|
||||
redirectAttributes.addAttribute("requiresPermissionPrefix","ip:ratelimit");
|
||||
return "redirect:" + adminPath +"/manipulation/ratelimit/ip/list?functionId="+cfg.getFunctionId();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,26 +1,22 @@
|
||||
package com.nis.web.controller.configuration.ntc;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.authz.annotation.Logical;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
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.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||
|
||||
import com.nis.domain.Page;
|
||||
import com.nis.domain.configuration.BaseIpCfg;
|
||||
import com.nis.domain.configuration.IpPortCfg;
|
||||
import com.nis.exceptions.MaatConvertException;
|
||||
import com.nis.util.Constants;
|
||||
import com.nis.web.controller.BaseController;
|
||||
import com.nis.web.controller.configuration.CommonController;
|
||||
|
||||
/**
|
||||
* IP相关配置控制类
|
||||
@@ -29,105 +25,51 @@ import com.nis.web.controller.BaseController;
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("${adminPath}/ntc/iplist")
|
||||
public class IpController extends BaseController{
|
||||
public class IpController extends CommonController{
|
||||
@RequestMapping(value = {"list"})
|
||||
@RequiresPermissions(value={"iplist:config","iplist:audit"},logical=Logical.OR)
|
||||
public String list(String cfgName,Model model,@ModelAttribute("cfg")IpPortCfg cfg,HttpServletRequest request,HttpServletResponse response) {
|
||||
model.addAttribute("cfgName", cfgName);
|
||||
cfg.setTableName(IpPortCfg.getTablename());
|
||||
Page<BaseIpCfg> searchPage=new Page<BaseIpCfg>(request,response,"r");
|
||||
Page<BaseIpCfg> page = ipCfgService.findPage(searchPage, cfg);
|
||||
model.addAttribute("page", page);
|
||||
initPageCondition(model,cfg);
|
||||
return "/cfg/iplist/list";
|
||||
this._ipList(cfgName, model, cfg, request, response);
|
||||
model.addAttribute("urlPrefix","/ntc/iplist");
|
||||
model.addAttribute("requiresPermissionPrefix","iplist");
|
||||
return "/cfg/common/ipList";
|
||||
}
|
||||
@RequestMapping(value = {"form"})
|
||||
@RequiresPermissions(value={"iplist:config"})
|
||||
public String form(String cfgName,Model model,String ids,Integer functionId,BaseIpCfg entity) {
|
||||
model.addAttribute("cfgName", cfgName);
|
||||
if(StringUtils.isNotBlank(ids)){
|
||||
entity = ipCfgService.getIpCfgById(IpPortCfg.getTablename(),Long.parseLong(ids));
|
||||
}
|
||||
if(entity.getCfgId()!=null){
|
||||
// List<BaseIpCfg> areaCfg=ipCfgService.getListByComileId(AreaIpCfg.getTablename(),functionId.intValue(), String.valueOf(entity.getCompileId()));
|
||||
// model.addAttribute("areaCfgs", areaCfg);
|
||||
model.addAttribute("_cfg", entity);
|
||||
initUpdateFormCondition(model,entity);
|
||||
}else{
|
||||
IpPortCfg cfg=new IpPortCfg();
|
||||
cfg.initDefaultValueImpl();
|
||||
cfg.setFunctionId(entity.getFunctionId());
|
||||
cfg.setProtocolId(entity.getProtocolId());
|
||||
model.addAttribute("_cfg", cfg);
|
||||
initFormCondition(model,entity);
|
||||
}
|
||||
|
||||
return "/cfg/iplist/form";
|
||||
this._ipForm(cfgName, model, ids, functionId, entity);
|
||||
model.addAttribute("urlPrefix","/ntc/iplist");
|
||||
model.addAttribute("requiresPermissionPrefix","iplist");
|
||||
return "/cfg/common/ipForm";
|
||||
}
|
||||
@RequestMapping(value = {"saveOrUpdate"})
|
||||
public String saveOrUpdate(String cfgName,RedirectAttributes model, IpPortCfg cfg) {
|
||||
model.addAttribute("cfgName", cfgName);
|
||||
Date date=new Date();
|
||||
cfg.setTableName(IpPortCfg.getTablename());
|
||||
logger.info("saveOrUpdateIp loaded");
|
||||
try{
|
||||
cfg.setIsValid(Constants.VALID_NO);
|
||||
cfg.setIsAudit(Constants.AUDIT_NOT_YET);
|
||||
if(cfg.getCfgId()==null){//新增
|
||||
cfg.setCreatorId(cfg.getCurrentUser().getId());
|
||||
cfg.setCreateTime(date);
|
||||
ipCfgService.addIpCfg(cfg);
|
||||
}else{//修改
|
||||
cfg.setEditorId(cfg.getCurrentUser().getId());
|
||||
cfg.setEditTime(new Date());
|
||||
ipCfgService.updateIpCfg(cfg);
|
||||
}
|
||||
addMessage(model,"save_success");
|
||||
}catch(Exception e){
|
||||
logger.error("保存失败",e);
|
||||
addMessage(model,"save_failed");
|
||||
}
|
||||
this._saveOrUpdateIp(cfgName, model, cfg);
|
||||
return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+cfg.getFunctionId();
|
||||
}
|
||||
@RequestMapping(value = {"delete"})
|
||||
@RequiresPermissions("iplist:config")
|
||||
public String delete(String cfgName,String ids,String compileIds,Integer functionId,RedirectAttributes model) {
|
||||
model.addAttribute("cfgName", cfgName);
|
||||
try{
|
||||
ipCfgService.deleteIp(ids,compileIds,functionId.intValue());
|
||||
addMessage(model,"delete_success");
|
||||
}catch(Exception e){
|
||||
logger.error("删除失败", e);
|
||||
addMessage(model,"delete_failed");
|
||||
}
|
||||
this._deleteIp(cfgName, ids, compileIds, functionId, model);
|
||||
model.addAttribute("urlPrefix","/ntc/iplist");
|
||||
model.addAttribute("requiresPermissionPrefix","iplist");
|
||||
return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+functionId;
|
||||
}
|
||||
@RequestMapping(value = {"audit"})
|
||||
// @RequiresPermissions("iplist:audit")
|
||||
public String audit(String cfgName,String ids,IpPortCfg cfg,RedirectAttributes redirectAttributes) {
|
||||
redirectAttributes.addAttribute("cfgName", cfgName);
|
||||
try{
|
||||
for(String id:ids.split(",")){
|
||||
Long.parseLong(id);
|
||||
}
|
||||
List<BaseIpCfg> beans=ipCfgService.getListByCfgId(IpPortCfg.getTablename(),cfg.getFunctionId().intValue(),ids);
|
||||
Date date=new Date();
|
||||
for(BaseIpCfg bean:beans){
|
||||
bean.setTableName(IpPortCfg.getTablename());
|
||||
bean.setAuditorId(bean.getCurrentUser().getId());
|
||||
bean.setAuditTime(date);
|
||||
bean.setIsAudit(cfg.getIsAudit());
|
||||
bean.setIsValid(cfg.getIsValid());
|
||||
ipCfgService.audit(bean);
|
||||
}
|
||||
addMessage(redirectAttributes,"audit_success");
|
||||
}catch(MaatConvertException e){
|
||||
logger.error("审核失败", e);
|
||||
addMessage(redirectAttributes, e.getPrefix()+e.getResult().getReason());
|
||||
}catch(Exception e){
|
||||
logger.error("审核失败", e);
|
||||
addMessage(redirectAttributes, "audit_failed");
|
||||
}
|
||||
this._auditIp(cfgName, ids, cfg, redirectAttributes);
|
||||
redirectAttributes.addAttribute("urlPrefix","/ntc/iplist");
|
||||
redirectAttributes.addAttribute("requiresPermissionPrefix","iplist");
|
||||
return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+cfg.getFunctionId();
|
||||
}
|
||||
//ip配置导入
|
||||
@RequestMapping(value = "importIp", method=RequestMethod.POST)
|
||||
public String importIp(RedirectAttributes redirectAttributes,
|
||||
@RequestParam("file") MultipartFile file,IpPortCfg cfg) {
|
||||
redirectAttributes.addAttribute("urlPrefix","/ntc/iplist");
|
||||
redirectAttributes.addAttribute("requiresPermissionPrefix","iplist");
|
||||
this._importIp(redirectAttributes, file,cfg);
|
||||
return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+cfg.getFunctionId();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,6 +17,9 @@ 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.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||
|
||||
import com.nis.domain.configuration.BaseIpCfg;
|
||||
@@ -108,4 +111,13 @@ public class ControlController extends CommonController {
|
||||
redirectAttributes.addAttribute("requiresPermissionPrefix","control:domain");
|
||||
return "redirect:" + adminPath +"/proxy/control/domain/list?functionId="+cfg.getFunctionId();
|
||||
}
|
||||
//ip配置导入
|
||||
@RequestMapping(value = "/ip/importIp", method=RequestMethod.POST)
|
||||
public String importIp(RedirectAttributes redirectAttributes,
|
||||
@RequestParam("file") MultipartFile file,IpPortCfg cfg) {
|
||||
this._importIp(redirectAttributes, file,cfg);
|
||||
redirectAttributes.addAttribute("urlPrefix","/proxy/control/ip");
|
||||
redirectAttributes.addAttribute("requiresPermissionPrefix","control:ip");
|
||||
return "redirect:" + adminPath +"/proxy/control/ip/list?functionId="+cfg.getFunctionId();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,6 +9,9 @@ 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.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||
|
||||
import com.nis.domain.configuration.BaseIpCfg;
|
||||
@@ -98,4 +101,13 @@ public class InterceptController extends CommonController{
|
||||
redirectAttributes.addAttribute("requiresPermissionPrefix","intercept:domain");
|
||||
return "redirect:" + adminPath +"/proxy/intercept/domain/list?functionId="+cfg.getFunctionId();
|
||||
}
|
||||
//ip配置导入
|
||||
@RequestMapping(value = "/ip/importIp", method=RequestMethod.POST)
|
||||
public String importIp(RedirectAttributes redirectAttributes,
|
||||
@RequestParam("file") MultipartFile file,IpPortCfg cfg) {
|
||||
this._importIp(redirectAttributes, file,cfg);
|
||||
redirectAttributes.addAttribute("urlPrefix","/proxy/intercept/ip");
|
||||
redirectAttributes.addAttribute("requiresPermissionPrefix","intercept:ip");
|
||||
return "redirect:" + adminPath +"/proxy/intercept/ip/list?functionId="+cfg.getFunctionId();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user