网页内容请求和应答替换功能实现

去掉keywords特殊字符的转换
This commit is contained in:
duandongmei
2018-06-23 14:08:53 +08:00
parent dd7a7888bc
commit 02fc089f41
16 changed files with 3291 additions and 17 deletions

View File

@@ -0,0 +1,158 @@
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.AreaIpCfg;
import com.nis.domain.configuration.BaseIpCfg;
import com.nis.domain.configuration.BaseStringCfg;
import com.nis.domain.configuration.HttpBodyCfg;
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.util.StringUtil;
import com.nis.web.controller.BaseController;
/**
* 控制策略
* @author ddm
*
*/
@Controller
@RequestMapping("${adminPath}/proxy/control")
public class ControlPolicyController extends BaseController{
@RequestMapping(value = {"httpReqReplace/list"})
public String reqList(Model model,HttpServletRequest request,HttpServletResponse response,@ModelAttribute("cfg")HttpBodyCfg entity){
Page<HttpBodyCfg> page = controlPolicyService.findPage(new Page<HttpBodyCfg>(request, response,"r"), entity);
model.addAttribute("page", page);
initPageCondition(model);
return "/cfg/proxy/control/httpReqReplaceList";
}
@RequestMapping(value = {"httpReqReplace/form"})
@RequiresPermissions(value={"proxy:contol:httpReqReplace:config"})
public String reqForm(Model model,HttpServletRequest request,HttpServletResponse response,String ids,@ModelAttribute("cfg")HttpBodyCfg cfg){
if(!StringUtil.isEmpty(ids)){
cfg = controlPolicyService.getHttpBodyCfgById(Long.valueOf(ids));
initUpdateFormCondition(model, cfg);
}else{
initFormCondition(model,cfg);
}
model.addAttribute("_cfg", cfg);
return "/cfg/proxy/control/httpReqReplaceForm";
}
@RequestMapping(value = {"httpReqReplace/saveOrUpdate"})
public String reqSaveOrUpdate(Model model,HttpServletRequest request,HttpServletResponse response,
@ModelAttribute("cfg")HttpBodyCfg cfg,
@ModelAttribute("areaCfgIds")String areaCfgIds){
try{
controlPolicyService.saveOrUpdate(cfg,areaCfgIds);
addMessage(model,"save_success");
}catch(Exception e){
logger.error("信息保存失败",e);
e.printStackTrace();
addMessage(model,"save_failed");
}
return "redirect:" + adminPath +"/proxy/control/httpReqReplace/list?functionId="+cfg.getFunctionId();
}
@RequestMapping(value = {"httpReqReplace/delete"})
@RequiresPermissions(value={"proxy:contol:httpReqReplace:config"})
public String reqDelete(Integer isAudit,Integer isValid,String ids,Integer functionId){
controlPolicyService.update(isAudit,isValid,ids,functionId);
return "redirect:" + adminPath +"/proxy/control/httpReqReplace/list?functionId="+functionId;
}
@RequestMapping(value = {"httpReqReplace/audit"})
public String reqAudit(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) {
if(!StringUtil.isEmpty(ids)){
String[] idArray = ids.split(",");
Date auditTime=new Date();
for(String id :idArray){
try {
controlPolicyService.audit(isAudit,isValid,functionId,id,auditTime);
} catch (MaatConvertException e) {
e.printStackTrace();
logger.info("配置下发失败:"+e.getMessage());
addMessage(redirectAttributes, e.getMessage());
}
}
}
return "redirect:" + adminPath +"/proxy/control/httpReqReplace/list?functionId="+functionId;
}
@RequestMapping(value = {"httpResReplace/list"})
public String reslist(Model model,HttpServletRequest request,HttpServletResponse response,@ModelAttribute("cfg")HttpBodyCfg entity){
Page<HttpBodyCfg> page = controlPolicyService.findPage(new Page<HttpBodyCfg>(request, response,"r"), entity);
model.addAttribute("page", page);
initPageCondition(model);
return "/cfg/proxy/control/httpResReplaceList";
}
@RequestMapping(value = {"httpResReplace/form"})
@RequiresPermissions(value={"proxy:contol:httpResReplace:config"})
public String resForm(Model model,HttpServletRequest request,HttpServletResponse response,String ids,@ModelAttribute("cfg")HttpBodyCfg cfg){
if(!StringUtil.isEmpty(ids)){
cfg = controlPolicyService.getHttpBodyCfgById(Long.valueOf(ids));
initUpdateFormCondition(model, cfg);
}else{
initFormCondition(model,cfg);
}
model.addAttribute("_cfg", cfg);
return "/cfg/proxy/control/httpResReplaceForm";
}
@RequestMapping(value = {"httpResReplace/saveOrUpdate"})
public String resSaveOrUpdate(Model model,HttpServletRequest request,HttpServletResponse response,
@ModelAttribute("cfg")HttpBodyCfg cfg,
@ModelAttribute("areaCfgIds")String areaCfgIds){
try{
controlPolicyService.saveOrUpdate(cfg,areaCfgIds);
addMessage(model,"save_success");
}catch(Exception e){
logger.error("信息保存失败",e);
e.printStackTrace();
addMessage(model,"save_failed");
}
return "redirect:" + adminPath +"/proxy/control/httpResReplace/list?functionId="+cfg.getFunctionId();
}
@RequestMapping(value = {"httpResReplace/delete"})
@RequiresPermissions(value={"proxy:contol:httpResReplace:config"})
public String resDelete(Integer isAudit,Integer isValid,String ids,Integer functionId){
controlPolicyService.update(isAudit,isValid,ids,functionId);
return "redirect:" + adminPath +"/proxy/control/httpResReplace/list?functionId="+functionId;
}
@RequestMapping(value = {"httpResReplace/audit"})
public String resAudit(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) {
if(!StringUtil.isEmpty(ids)){
String[] idArray = ids.split(",");
Date auditTime=new Date();
for(String id :idArray){
try {
controlPolicyService.audit(isAudit,isValid,functionId,id,auditTime);
} catch (MaatConvertException e) {
e.printStackTrace();
logger.info("配置下发失败:"+e.getMessage());
addMessage(redirectAttributes, e.getMessage());
}
}
}
return "redirect:" + adminPath +"/proxy/control/httpResReplace/list?functionId="+functionId;
}
}

View File

@@ -1,100 +0,0 @@
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.cxf.common.util.StringUtils;
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.basics.ServiceDictInfo;
import com.nis.domain.configuration.BaseIpCfg;
import com.nis.domain.configuration.DnsIpCfg;
import com.nis.domain.configuration.DnsResStrategy;
import com.nis.domain.configuration.DnsIpCfg;
import com.nis.domain.configuration.RequestInfo;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.StringUtil;
import com.nis.web.controller.BaseController;
import com.nis.web.security.UserUtils;
import com.nis.web.service.configuration.DnsIpCfgService;
@Controller
@RequestMapping("${adminPath}/cfg/dnsIp")
public class DnsIpCfgController extends BaseController {
@RequestMapping(value = {"/list"})
public String list(Model model,HttpServletRequest request,HttpServletResponse response,@ModelAttribute("cfg")DnsIpCfg entity){
Page<DnsIpCfg> page = dnsIpCfgService.findPage(new Page<DnsIpCfg>(request, response,"r"), entity);
model.addAttribute("page", page);
initPageCondition(model);
return "/cfg/dnsIpCfgList";
}
@RequestMapping(value = {"/form"})
@RequiresPermissions(value={"dns:fake:ip:config"})
public String form(Model model,HttpServletRequest request,HttpServletResponse response,String ids,@ModelAttribute("cfg")DnsIpCfg cfg){
if(!StringUtil.isEmpty(ids)){
cfg = dnsIpCfgService.getDnsIpCfg(Long.parseLong(ids));
initUpdateFormCondition(model, cfg);
}else{
initFormCondition(model,cfg);
}
//获取所有响应策略信息
List<DnsResStrategy> resStrategys=dnsResStrategyService.findDnsResStrategys(null, 1,1);
model.addAttribute("dnsResStrategys", resStrategys);
model.addAttribute("_cfg", cfg);
return "/cfg/dnsIpCfgForm";
}
@RequestMapping(value = {"/saveOrUpdate"})
@RequiresPermissions(value={"dns:fake:ip:config"})
public String saveOrUpdate(Model model,HttpServletRequest request,HttpServletResponse response,
@ModelAttribute("cfg")DnsIpCfg cfg){
try{
dnsIpCfgService.saveOrUpdate(cfg);
addMessage(model,"save_success");
}catch(Exception e){
logger.error("信息保存失败",e);
e.printStackTrace();
addMessage(model,"save_failed");
}
return "redirect:" + adminPath +"/cfg/dnsIp/list?functionId="+cfg.getFunctionId();
}
@RequestMapping(value = {"/delete"})
@RequiresPermissions(value={"dns:fake:ip:config"})
public String delete(Integer isAudit,Integer isValid,String ids,Integer functionId){
dnsIpCfgService.delete(isAudit,isValid,ids,functionId);
return "redirect:" + adminPath +"/cfg/dnsIp/list?functionId="+functionId;
}
@RequestMapping(value = {"/audit"})
//@RequiresPermissions(value={"dns:fake:ip:audit"})
public String audit(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) {
if(!StringUtil.isEmpty(ids)){
String[] idArray = ids.split(",");
Date auditTime=new Date();
for(String id :idArray){
try {
dnsIpCfgService.audit(isAudit,isValid,functionId,id,auditTime);
} catch (MaatConvertException e) {
e.printStackTrace();
logger.info("dns fake ip配置下发失败"+e.getMessage());
addMessage(redirectAttributes, e.getMessage());
}
}
}
return "redirect:" + adminPath +"/cfg/dnsIp/list?functionId="+functionId;
}
}

View File

@@ -1,159 +0,0 @@
package com.nis.web.controller.configuration.proxy;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.context.i18n.LocaleContextHolder;
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.ResponseBody;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.nis.domain.Page;
import com.nis.domain.SysUser;
import com.nis.domain.basics.PolicyGroupInfo;
import com.nis.domain.basics.ServiceDictInfo;
import com.nis.domain.basics.SysDictInfo;
import com.nis.domain.configuration.AreaBean;
import com.nis.domain.configuration.AreaIpCfg;
import com.nis.domain.configuration.AvContIpCfg;
import com.nis.domain.configuration.AvVoipAccountCfg;
import com.nis.domain.configuration.CfgIndexInfo;
import com.nis.domain.configuration.DnsResStrategy;
import com.nis.exceptions.MaatConvertException;
import com.nis.domain.configuration.AvVoipIpCfg;
import com.nis.domain.configuration.BaseIpCfg;
import com.nis.domain.configuration.BaseStringCfg;
import com.nis.util.Configurations;
import com.nis.util.Constants;
import com.nis.util.DateUtils;
import com.nis.util.StringUtil;
import com.nis.util.excel.ExportExcel;
import com.nis.web.controller.BaseController;
import com.nis.web.security.UserUtils;
/**
* dns响应策略
* @author ddm
*
*/
@Controller
@RequestMapping("${adminPath}/maintenance/dnsResStrategy")
public class DnsResStrategyController extends BaseController {
@RequestMapping(value = {"/form"})
@RequiresPermissions(value={"dns:res:strategy:config"})
public String from(Model model,
HttpServletRequest request,
HttpServletResponse response,
String ids,
@ModelAttribute("cfg")DnsResStrategy cfg){
if(cfg == null){
cfg=new DnsResStrategy();
}
if(!StringUtil.isEmpty(ids)){
cfg = dnsResStrategyService.getDnsResStrategy(Long.valueOf(ids),-1);
initFormCondition(model, cfg);
model.addAttribute("isAdd", false);
}else{
//不存在响应策略为0的配置则新策略时cfgId默认为0
DnsResStrategy dns0=dnsResStrategyService.getDnsResStrategy(0l,null);
if(dns0 == null){
cfg.setCfgId(0l);
cfg.setCfgDesc("无策略");
}
initFormCondition(model, cfg);
model.addAttribute("isAdd", true);
}
//查询policyGroup列表供响应策略选择
List<PolicyGroupInfo> policyGroups=policyGroupInfoService.findPolicyGroupInfos();
model.addAttribute("policyGroups", policyGroups);
model.addAttribute("_cfg", cfg);
return "/cfg/maintenance/dnsResStrategy/form";
}
@RequestMapping(value = {"/saveOrUpdate"})
@RequiresPermissions(value={"dns:res:strategy:config"})
public String saveOrUpdate(Model model,HttpServletRequest request,HttpServletResponse response,
@ModelAttribute("cfg")DnsResStrategy cfg){
try{
dnsResStrategyService.saveOrUpdate(cfg);
addMessage(model,"save_success");
}catch(Exception e){
e.printStackTrace();
addMessage(model,"save_failed");
}
return "redirect:" + adminPath +"/maintenance/dnsResStrategy/list?functionId="+cfg.getFunctionId();
}
@RequestMapping(value = {"/list"})
public String list(Model model,HttpServletRequest request,HttpServletResponse response,@ModelAttribute("cfg")DnsResStrategy entity){
//查询时left join policyGroup
Page<DnsResStrategy> page = dnsResStrategyService.findPage(new Page<DnsResStrategy>(request, response,"r"), entity);
model.addAttribute("page", page);
initPageCondition(model);
return "/cfg/maintenance/dnsResStrategy/list";
}
@RequestMapping(value = {"/delete"})
@RequiresPermissions(value={"dns:res:strategy:config"})
public String delete(Integer isAudit,Integer isValid,String ids,Integer functionId,Model model,HttpServletRequest request,HttpServletResponse response){
try{
if(!StringUtil.isEmpty(ids)){
dnsResStrategyService.delete(isAudit,isValid,ids,functionId);
}
addMessage(model,"delete_success");
}catch(Exception e){
addMessage(model,"delete_failed");
}
return "redirect:" + adminPath +"/maintenance/dnsResStrategy/list?functionId="+functionId;
}
@RequestMapping(value = {"/audit"})
//@RequiresPermissions(value={"dns:res:strategy:audit"})
public String audit(Integer isAudit,Integer isValid,String ids,Integer functionId,RedirectAttributes redirectAttributes) {
if(!StringUtil.isEmpty(ids)){
String[] idArray = ids.split(",");
Date auditTime=new Date();
for(String id :idArray){
try {
dnsResStrategyService.audit(isAudit,isValid,functionId,id,auditTime);
} catch (MaatConvertException e) {
e.printStackTrace();
logger.info("VOIP配置下发失败"+e.getMessage());
addMessage(redirectAttributes, e.getMessage());
}
}
}
return "redirect:" + adminPath +"/maintenance/dnsResStrategy/list?functionId="+functionId;
}
@ResponseBody
@RequestMapping(value = "/validCfgId")
public boolean validCfgId(Long cfgId) {
DnsResStrategy dns=dnsResStrategyService.getDnsResStrategy(cfgId,null);
if(dns == null ){
return false;
}else{
return true;
}
}
}