diff --git a/src/main/java/com/nis/web/controller/configuration/CommonController.java b/src/main/java/com/nis/web/controller/configuration/CommonController.java new file mode 100644 index 000000000..7e298ff30 --- /dev/null +++ b/src/main/java/com/nis/web/controller/configuration/CommonController.java @@ -0,0 +1,114 @@ +/** + *@Title: CommonController.java + *@Package com.nis.web.controller.configuration + *@Description TODO + *@author dell + *@date 2018年6月22日 下午6:35:37 + *@version 版本号 + */ +package com.nis.web.controller.configuration; + +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.springframework.ui.Model; +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; + +/** + * @ClassName: CommonController.java + * @Description: TODO + * @author (dell) + * @date 2018年6月22日 下午6:35:37 + * @version V1.0 + */ +public class CommonController extends BaseController { + public void _ipList(Model model,IpPortCfg cfg,HttpServletRequest request,HttpServletResponse response) { + cfg.setTableName(IpPortCfg.getTablename()); + Page searchPage=new Page(request,response,"r"); + Page page = ipCfgService.findPage(searchPage, cfg); + model.addAttribute("page", page); + initPageCondition(model,cfg); + } + public void _ipForm(Model model,String ids,Integer functionId,BaseIpCfg entity) { + if(StringUtils.isNotBlank(ids)){ + entity = ipCfgService.getIpCfgById(IpPortCfg.getTablename(),Long.parseLong(ids)); + } + if(entity.getCfgId()!=null){ + 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); + } + } + public void _saveOrUpdateIp(RedirectAttributes model, IpPortCfg cfg) { + 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"); + } + } + public void _deleteIp(String ids,String compileIds,Integer functionId,RedirectAttributes model) { + try{ + ipCfgService.deleteIp(ids,compileIds,functionId.intValue()); + addMessage(model,"delete_success"); + }catch(Exception e){ + logger.error("删除失败", e); + addMessage(model,"delete_failed"); + } + } + public void _auditIp(String ids,IpPortCfg cfg,RedirectAttributes redirectAttributes) { + try{ + for(String id:ids.split(",")){ + Long.parseLong(id); + } + List 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"); + } + } +} diff --git a/src/main/java/com/nis/web/controller/configuration/proxy/ControlController.java b/src/main/java/com/nis/web/controller/configuration/proxy/ControlController.java new file mode 100644 index 000000000..f4ae40735 --- /dev/null +++ b/src/main/java/com/nis/web/controller/configuration/proxy/ControlController.java @@ -0,0 +1,81 @@ +/** + *@Title: ControlController.java + *@Package com.nis.web.controller.configuration.proxy + *@Description TODO + *@author dell + *@date 2018年6月22日 下午4:35:42 + *@version 版本号 + */ +package com.nis.web.controller.configuration.proxy; + +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.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; + +/** + * @ClassName: ControlController.java + * @Description: TODO + * @author (dell) + * @date 2018年6月22日 下午4:35:42 + * @version V1.0 + */ +@Controller +@RequestMapping("${adminPath}/proxy/control") +public class ControlController extends CommonController { + @RequestMapping(value = {"/ip/list"}) + @RequiresPermissions(value={"control:ip:config","control:ip:audit"},logical=Logical.OR) + public String ipList(Model model,@ModelAttribute("cfg")IpPortCfg cfg,HttpServletRequest request,HttpServletResponse response) { + this._ipList(model, cfg, request, response); + model.addAttribute("urlPrefix","/proxy/control"); + model.addAttribute("requiresPermissionPrefix","control:ip"); + return "/cfg/proxy/ipList"; + } + @RequestMapping(value = {"/ip/form"}) + @RequiresPermissions(value={"control:ip:config"}) + public String ipForm(Model model,String ids,Integer functionId,BaseIpCfg entity) { + this._ipForm(model, ids, functionId, entity); + model.addAttribute("urlPrefix","/proxy/control"); + model.addAttribute("requiresPermissionPrefix","control:ip"); + return "/cfg/proxy/ipForm"; + } + @RequestMapping(value = {"/ip/saveOrUpdate"}) + public String saveOrUpdateIp(RedirectAttributes model, IpPortCfg cfg) { + this._saveOrUpdateIp(model, cfg); + return "redirect:" + adminPath +"/proxy/control/ip/list?functionId="+cfg.getFunctionId(); + } + @RequestMapping(value = {"/ip/delete"}) + @RequiresPermissions("control:ip:config") + public String deleteIp(String ids,String compileIds,Integer functionId,RedirectAttributes model) { + this._deleteIp(ids, compileIds, functionId, model); + model.addAttribute("urlPrefix","/proxy/control"); + model.addAttribute("requiresPermissionPrefix","control:ip"); + return "redirect:" + adminPath +"/proxy/control/ip/list?functionId="+functionId; + } + @RequestMapping(value = {"/ip/audit"}) +// @RequiresPermissions("control:ip:audit") + public String auditIp(String ids,IpPortCfg cfg,RedirectAttributes redirectAttributes) { + this._auditIp(ids, cfg, redirectAttributes); + redirectAttributes.addAttribute("urlPrefix","/proxy/control"); + redirectAttributes.addAttribute("requiresPermissionPrefix","control:ip"); + return "redirect:" + adminPath +"/proxy/control/ip/list?functionId="+cfg.getFunctionId(); + } +} diff --git a/src/main/java/com/nis/web/controller/configuration/proxy/InterceptController.java b/src/main/java/com/nis/web/controller/configuration/proxy/InterceptController.java index 3f00e25be..d34f55aff 100644 --- a/src/main/java/com/nis/web/controller/configuration/proxy/InterceptController.java +++ b/src/main/java/com/nis/web/controller/configuration/proxy/InterceptController.java @@ -16,14 +16,13 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.mvc.support.RedirectAttributes; import com.nis.domain.Page; -import com.nis.domain.configuration.AreaIpCfg; import com.nis.domain.configuration.BaseIpCfg; import com.nis.domain.configuration.BaseStringCfg; import com.nis.domain.configuration.HttpUrlCfg; 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相关配置控制类 @@ -32,15 +31,13 @@ import com.nis.web.controller.BaseController; */ @Controller @RequestMapping("${adminPath}/proxy/intercept") -public class InterceptController extends BaseController{ +public class InterceptController extends CommonController{ @RequestMapping(value = {"/ip/list"}) @RequiresPermissions(value={"intercept:ip:config","intercept:ip:audit"},logical=Logical.OR) public String ipList(Model model,@ModelAttribute("cfg")IpPortCfg cfg,HttpServletRequest request,HttpServletResponse response) { - cfg.setTableName(IpPortCfg.getTablename()); - Page searchPage=new Page(request,response,"r"); - Page page = ipCfgService.findPage(searchPage, cfg); - model.addAttribute("page", page); - initPageCondition(model,cfg); + this._ipList(model, cfg, request, response); + model.addAttribute("urlPrefix","/proxy/intercept"); + model.addAttribute("requiresPermissionPrefix","intercept:ip"); return "/cfg/proxy/ipList"; } @RequestMapping(value = {"/domain/list"}) @@ -56,23 +53,9 @@ public class InterceptController extends BaseController{ @RequestMapping(value = {"/ip/form"}) @RequiresPermissions(value={"intercept:ip:config"}) public String ipForm(Model model,String ids,Integer functionId,BaseIpCfg entity) { - if(StringUtils.isNotBlank(ids)){ - entity = ipCfgService.getIpCfgById(IpPortCfg.getTablename(),Long.parseLong(ids)); - } - if(entity.getCfgId()!=null){ -// List 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); - } - + this._ipForm(model, ids, functionId, entity); + model.addAttribute("urlPrefix","/proxy/intercept"); + model.addAttribute("requiresPermissionPrefix","intercept:ip"); return "/cfg/proxy/ipForm"; } @RequestMapping(value = {"/domain/form"}) @@ -98,26 +81,7 @@ public class InterceptController extends BaseController{ } @RequestMapping(value = {"/ip/saveOrUpdate"}) public String saveOrUpdateIp(RedirectAttributes model, IpPortCfg cfg) { - 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(model, cfg); return "redirect:" + adminPath +"/proxy/intercept/ip/list?functionId="+cfg.getFunctionId(); } @RequestMapping(value = {"/domain/saveOrUpdate"}) @@ -147,13 +111,9 @@ public class InterceptController extends BaseController{ @RequestMapping(value = {"/ip/delete"}) @RequiresPermissions("intercept:ip:config") public String deleteIp(String ids,String compileIds,Integer functionId,RedirectAttributes model) { - try{ - ipCfgService.deleteIp(ids,compileIds,functionId.intValue()); - addMessage(model,"delete_success"); - }catch(Exception e){ - logger.error("删除失败", e); - addMessage(model,"delete_failed"); - } + this._deleteIp(ids, compileIds, functionId, model); + model.addAttribute("urlPrefix","/proxy/intercept"); + model.addAttribute("requiresPermissionPrefix","intercept:ip"); return "redirect:" + adminPath +"/proxy/intercept/ip/list?functionId="+functionId; } @RequestMapping(value = {"/domain/delete"}) @@ -171,28 +131,9 @@ public class InterceptController extends BaseController{ @RequestMapping(value = {"/ip/audit"}) // @RequiresPermissions("intercept:ip:audit") public String auditIp(String ids,IpPortCfg cfg,RedirectAttributes redirectAttributes) { - try{ - for(String id:ids.split(",")){ - Long.parseLong(id); - } - List 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(ids, cfg, redirectAttributes); + redirectAttributes.addAttribute("urlPrefix","/proxy/intercept"); + redirectAttributes.addAttribute("requiresPermissionPrefix","intercept:ip"); return "redirect:" + adminPath +"/proxy/intercept/ip/list?functionId="+cfg.getFunctionId(); } @RequestMapping(value = {"/domain/audit"}) diff --git a/src/main/webapp/WEB-INF/views/cfg/proxy/ipList.jsp b/src/main/webapp/WEB-INF/views/cfg/proxy/ipList.jsp index 4657e497c..a0c028198 100644 --- a/src/main/webapp/WEB-INF/views/cfg/proxy/ipList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/proxy/ipList.jsp @@ -66,9 +66,9 @@