仿冒功能
仿冒地址池ip 来函和任务修改 样例新增界面增加631业务
This commit is contained in:
@@ -1,23 +1,33 @@
|
||||
package com.nis.web.controller.basics;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
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.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
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.configuration.TaskInfo;
|
||||
import com.nis.util.Constants;
|
||||
import com.nis.util.StringUtil;
|
||||
import com.nis.util.excel.ExcelField;
|
||||
import com.nis.web.controller.BaseController;
|
||||
import com.nis.web.service.basics.TaskInfoService;
|
||||
|
||||
import jersey.repackaged.com.google.common.collect.Lists;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("${adminPath}/basics/taskInfo")
|
||||
public class TaskInfoController extends BaseController{
|
||||
@@ -25,7 +35,6 @@ public class TaskInfoController extends BaseController{
|
||||
@Autowired
|
||||
private TaskInfoService taskInfoService;
|
||||
|
||||
|
||||
/**
|
||||
*来函列表
|
||||
*/
|
||||
@@ -41,7 +50,9 @@ public class TaskInfoController extends BaseController{
|
||||
@RequestMapping(value={"form"})
|
||||
public String form(TaskInfo taskInfo, Model model) {
|
||||
if(taskInfo.getId()!=null){
|
||||
Integer functionId=taskInfo.getFunctionId();
|
||||
taskInfo = taskInfoService.getTaskInfoById(taskInfo.getId());
|
||||
taskInfo.setFunctionId(functionId);
|
||||
model.addAttribute("taskInfo", taskInfo);
|
||||
}else{
|
||||
model.addAttribute("taskInfo", taskInfo);
|
||||
@@ -63,7 +74,7 @@ public class TaskInfoController extends BaseController{
|
||||
}else{
|
||||
if (!"true".equals(checkTaskName(taskInfo.getTaskName()))){
|
||||
logger.info(taskInfo.getTaskName()+"重复数据");
|
||||
addMessage(model,"error", "save_failed");
|
||||
addMessage("error",model,"save_failed");
|
||||
return form(taskInfo, model);
|
||||
}
|
||||
// 保存用户信息
|
||||
@@ -76,7 +87,7 @@ public class TaskInfoController extends BaseController{
|
||||
e.printStackTrace();
|
||||
addMessage(redirectAttributes,"error", "save_failed");
|
||||
}
|
||||
return "redirect:" + adminPath + "/basics/taskInfo/list?repage";
|
||||
return "redirect:" + adminPath + "/basics/taskInfo/list?functionId="+taskInfo.getFunctionId()+"&repage";
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -98,11 +109,11 @@ public class TaskInfoController extends BaseController{
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "taskExamine")
|
||||
public String taskExamine(String ids, Model model,RedirectAttributes redirectAttributes){
|
||||
public String taskExamine(Integer functionId,String ids, Model model,RedirectAttributes redirectAttributes){
|
||||
String[] exId = ids.split(",");
|
||||
taskInfoService.taskExamine(exId);
|
||||
addMessage(redirectAttributes,"success", "save_success");
|
||||
return "redirect:" + adminPath + "/basics/taskInfo/list?repage";
|
||||
addMessage(redirectAttributes,"success", "audit_success");
|
||||
return "redirect:" + adminPath + "/basics/taskInfo/list?functionId="+functionId+"&repage";
|
||||
|
||||
}
|
||||
/**
|
||||
@@ -112,11 +123,11 @@ public class TaskInfoController extends BaseController{
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "taskExamineNo")
|
||||
public String taskExamineNo(String ids, Model model,RedirectAttributes redirectAttributes){
|
||||
public String taskExamineNo(Integer functionId,String ids, Model model,RedirectAttributes redirectAttributes){
|
||||
String[] noId = ids.split(",");
|
||||
taskInfoService.taskExamineNo(noId);
|
||||
addMessage(redirectAttributes,"success", "save_success");
|
||||
return "redirect:" + adminPath + "/basics/taskInfo/list?repage";
|
||||
addMessage(redirectAttributes,"success", "audit_success");
|
||||
return "redirect:" + adminPath + "/basics/taskInfo/list?functionId="+functionId+"&repage";
|
||||
|
||||
}
|
||||
/**
|
||||
@@ -126,11 +137,11 @@ public class TaskInfoController extends BaseController{
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "taskCancelExamine")
|
||||
public String taskCancelExamine(String ids, Model model,RedirectAttributes redirectAttributes){
|
||||
public String taskCancelExamine(Integer functionId,String ids, Model model,RedirectAttributes redirectAttributes){
|
||||
String[] canclelId = ids.split(",");
|
||||
taskInfoService.taskCancelExamine(canclelId);
|
||||
addMessage(redirectAttributes,"success", "save_success");
|
||||
return "redirect:" + adminPath + "/basics/taskInfo/list?repage";
|
||||
addMessage(redirectAttributes,"success", "audit_success");
|
||||
return "redirect:" + adminPath + "/basics/taskInfo/list?functionId="+functionId+"&repage";
|
||||
|
||||
}
|
||||
/**
|
||||
@@ -140,12 +151,67 @@ public class TaskInfoController extends BaseController{
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "delete")
|
||||
public String delete(String ids, Model model,RedirectAttributes redirectAttributes){
|
||||
public String delete(Integer functionId,String ids, Model model,RedirectAttributes redirectAttributes){
|
||||
String[] delId = ids.split(",");
|
||||
taskInfoService.delete(delId);
|
||||
addMessage(redirectAttributes,"success", "delete_success");
|
||||
return "redirect:" + adminPath + "/basics/taskInfo/list?repage";
|
||||
return "redirect:" + adminPath + "/basics/taskInfo/list?functionId="+functionId+"&repage";
|
||||
|
||||
}
|
||||
//配置导出
|
||||
@RequestMapping(value = "exportTaskInfo")
|
||||
public void exportTaskInfo(Model model,HttpServletRequest request,HttpServletResponse response,
|
||||
@ModelAttribute("cfg")TaskInfo 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<TaskInfo> list=Lists.newArrayList();
|
||||
titleList.add(entity.getMenuNameCode());
|
||||
classMap.put(entity.getMenuNameCode(), TaskInfo.class);
|
||||
Field[] fields=TaskInfo.class.getDeclaredFields();
|
||||
StringBuffer column=new StringBuffer();
|
||||
Properties props= this.getMsgProp();
|
||||
for(Field f: fields) {
|
||||
ExcelField ex=f.getAnnotation(ExcelField.class);
|
||||
if(ex!=null) {
|
||||
String title=ex.title();
|
||||
if(entity.getColumns().indexOf(props.getProperty(title, title))==-1) {
|
||||
column.append(","+title);
|
||||
}
|
||||
}
|
||||
}
|
||||
if(column.toString().length()>0) {
|
||||
column.append(",");
|
||||
}
|
||||
noExportMap.put(entity.getMenuNameCode(),column.toString());
|
||||
if(!StringUtil.isEmpty(ids)){
|
||||
for(String id:ids.split(",")){
|
||||
Long.parseLong(id);
|
||||
}
|
||||
list=taskInfoService.getTaskInfoByIds(ids);
|
||||
}else{
|
||||
//条件导出数据大于最大导出数,只导出最大导出条数
|
||||
Page<TaskInfo> pageInfo=new Page<TaskInfo>(request, response,"a");
|
||||
pageInfo.setPageNo(1);
|
||||
pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE);
|
||||
Page<TaskInfo> page = taskInfoService.findTaskInfo(pageInfo, entity);
|
||||
list=page.getList();
|
||||
}
|
||||
|
||||
dataMap.put(entity.getMenuNameCode(),list);
|
||||
// 获取国际化配置
|
||||
this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap);
|
||||
} catch (Exception e) {
|
||||
logger.error("ip addr export failed",e);
|
||||
addMessage(redirectAttributes,"error", "export_failed");
|
||||
}
|
||||
//return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
package com.nis.web.controller.configuration;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
@@ -9,6 +14,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
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;
|
||||
@@ -16,9 +22,14 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||
import com.nis.domain.Page;
|
||||
import com.nis.domain.configuration.RequestInfo;
|
||||
import com.nis.domain.configuration.TaskInfo;
|
||||
import com.nis.util.Constants;
|
||||
import com.nis.util.StringUtil;
|
||||
import com.nis.util.excel.ExcelField;
|
||||
import com.nis.web.controller.BaseController;
|
||||
import com.nis.web.service.configuration.RequestInfoService;
|
||||
|
||||
import jersey.repackaged.com.google.common.collect.Lists;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("${adminPath}/cfg/request")
|
||||
public class RequestInfoController extends BaseController{
|
||||
@@ -45,7 +56,9 @@ public class RequestInfoController extends BaseController{
|
||||
taskInfo.setId(requestInfo.getTaskId());
|
||||
showTask(taskInfo,model);
|
||||
if(requestInfo.getId()!=null){
|
||||
Integer functionId=requestInfo.getFunctionId();
|
||||
requestInfo = requestInfoService.getRequestInfoById(requestInfo.getId());
|
||||
requestInfo.setFunctionId(functionId);
|
||||
model.addAttribute("requestInfo", requestInfo);
|
||||
}else{
|
||||
model.addAttribute("requestInfo", requestInfo);
|
||||
@@ -67,7 +80,7 @@ public class RequestInfoController extends BaseController{
|
||||
}else{
|
||||
if (!"true".equals(checkRequestNumber(requestInfo.getRequestNumber()))){
|
||||
logger.info(requestInfo.getRequestNumber()+"重复数据");
|
||||
addMessage(redirectAttributes,"error","save_failed");
|
||||
addMessage("error",model,"save_failed");
|
||||
return form(requestInfo, model);
|
||||
}
|
||||
// 保存用户信息
|
||||
@@ -78,9 +91,9 @@ public class RequestInfoController extends BaseController{
|
||||
} catch (Exception e) {
|
||||
logger.error(e.getMessage());
|
||||
e.printStackTrace();
|
||||
addMessage(redirectAttributes,"error","save_failed");
|
||||
addMessage(model,"error","save_failed");
|
||||
}
|
||||
return "redirect:" + adminPath + "/cfg/request/list?repage";
|
||||
return "redirect:" + adminPath + "/cfg/request/list?functionId="+requestInfo.getFunctionId()+"&repage";
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -102,11 +115,11 @@ public class RequestInfoController extends BaseController{
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "requestExamine")
|
||||
public String requestExamine(String ids, Model model,RedirectAttributes redirectAttributes){
|
||||
public String requestExamine(Integer functionId,String ids, Model model,RedirectAttributes redirectAttributes){
|
||||
String[] exId = ids.split(",");
|
||||
requestInfoService.requestExamine(exId);
|
||||
addMessage(redirectAttributes,"success","save_success");
|
||||
return "redirect:" + adminPath + "/cfg/request/list?repage";
|
||||
addMessage(redirectAttributes,"success","audit_success");
|
||||
return "redirect:" + adminPath + "/cfg/request/list?functionId="+functionId+"&repage";
|
||||
|
||||
}
|
||||
/**
|
||||
@@ -116,11 +129,11 @@ public class RequestInfoController extends BaseController{
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "requestExamineNo")
|
||||
public String requestExamineNo(String ids, Model model,RedirectAttributes redirectAttributes){
|
||||
public String requestExamineNo(Integer functionId,String ids, Model model,RedirectAttributes redirectAttributes){
|
||||
String[] noId = ids.split(",");
|
||||
requestInfoService.requestExamineNo(noId);
|
||||
addMessage(redirectAttributes,"success","save_success");
|
||||
return "redirect:" + adminPath + "/cfg/request/list?repage";
|
||||
addMessage(redirectAttributes,"success","audit_success");
|
||||
return "redirect:" + adminPath + "/cfg/request/list?functionId="+functionId+"&repage";
|
||||
|
||||
}
|
||||
/**
|
||||
@@ -130,11 +143,11 @@ public class RequestInfoController extends BaseController{
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "requestCancelExamine")
|
||||
public String requestCancelExamine(String ids, Model model,RedirectAttributes redirectAttributes){
|
||||
public String requestCancelExamine(Integer functionId,String ids, Model model,RedirectAttributes redirectAttributes){
|
||||
String[] canclelId = ids.split(",");
|
||||
requestInfoService.requestCancelExamine(canclelId);
|
||||
addMessage(redirectAttributes,"success","save_success");
|
||||
return "redirect:" + adminPath + "/cfg/request/list?repage";
|
||||
addMessage(redirectAttributes,"success","audit_success");
|
||||
return "redirect:" + adminPath + "/cfg/request/list?functionId="+functionId+"&repage";
|
||||
|
||||
}
|
||||
/**
|
||||
@@ -144,11 +157,11 @@ public class RequestInfoController extends BaseController{
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "delete")
|
||||
public String delete(String ids, Model model,RedirectAttributes redirectAttributes){
|
||||
public String delete(Integer functionId,String ids, Model model,RedirectAttributes redirectAttributes){
|
||||
String[] delId = ids.split(",");
|
||||
requestInfoService.delete(delId);
|
||||
addMessage(redirectAttributes,"success","delete_success");
|
||||
return "redirect:" + adminPath + "/cfg/request/list?repage";
|
||||
return "redirect:" + adminPath + "/cfg/request/list?functionId="+functionId+"&repage";
|
||||
|
||||
}
|
||||
|
||||
@@ -173,4 +186,59 @@ public class RequestInfoController extends BaseController{
|
||||
model.addAttribute("requestInfos", requestInfos);
|
||||
return "/basics/requestSelectInfo";
|
||||
}
|
||||
//配置导出
|
||||
@RequestMapping(value = "exportRequestInfo")
|
||||
public void exportTaskInfo(Model model,HttpServletRequest request,HttpServletResponse response,
|
||||
@ModelAttribute("requestInfo")RequestInfo 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<RequestInfo> list=Lists.newArrayList();
|
||||
titleList.add(entity.getMenuNameCode());
|
||||
classMap.put(entity.getMenuNameCode(), RequestInfo.class);
|
||||
Field[] fields=RequestInfo.class.getDeclaredFields();
|
||||
StringBuffer column=new StringBuffer();
|
||||
Properties props= this.getMsgProp();
|
||||
for(Field f: fields) {
|
||||
ExcelField ex=f.getAnnotation(ExcelField.class);
|
||||
if(ex!=null) {
|
||||
String title=ex.title();
|
||||
if(entity.getColumns().indexOf(props.getProperty(title, title))==-1) {
|
||||
column.append(","+title);
|
||||
}
|
||||
}
|
||||
}
|
||||
if(column.toString().length()>0) {
|
||||
column.append(",");
|
||||
}
|
||||
noExportMap.put(entity.getMenuNameCode(),column.toString());
|
||||
if(!StringUtil.isEmpty(ids)){
|
||||
for(String id:ids.split(",")){
|
||||
Long.parseLong(id);
|
||||
}
|
||||
list=requestInfoService.getRequestInfoByIds(ids);
|
||||
}else{
|
||||
//条件导出数据大于最大导出数,只导出最大导出条数
|
||||
Page<RequestInfo> pageInfo=new Page<RequestInfo>(request, response,"a");
|
||||
pageInfo.setPageNo(1);
|
||||
pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE);
|
||||
Page<RequestInfo> page = requestInfoService.findRequestInfo(pageInfo, entity);
|
||||
list=page.getList();
|
||||
}
|
||||
|
||||
dataMap.put(entity.getMenuNameCode(),list);
|
||||
// 获取国际化配置
|
||||
this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap);
|
||||
} catch (Exception e) {
|
||||
logger.error("ip addr export failed",e);
|
||||
addMessage(redirectAttributes,"error", "export_failed");
|
||||
}
|
||||
//return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||
|
||||
|
||||
import com.nis.domain.Page;
|
||||
import com.nis.domain.basics.PolicyGroupInfo;
|
||||
import com.nis.domain.configuration.BaseStringCfg;
|
||||
import com.nis.domain.configuration.CfgIndexInfo;
|
||||
import com.nis.domain.configuration.HttpUrlCfg;
|
||||
@@ -58,7 +59,9 @@ public class InterceptController extends CommonController{
|
||||
certificateList=pxyObjKeyringService.findPxyObjKeyrings(null, 1, 1, "domain");
|
||||
}
|
||||
model.addAttribute("certificateList", certificateList);
|
||||
|
||||
//IP地址仿冒策略使用策略组
|
||||
List<PolicyGroupInfo> policyGroups=policyGroupInfoService.findPolicyGroupInfosByType(6);
|
||||
model.addAttribute("policyGroups", policyGroups);
|
||||
return "/cfg/intercept/interceptList";
|
||||
}
|
||||
@RequestMapping(value = {"/interceptIpForm","interceptDomainForm","interceptIpPayloadForm"})
|
||||
@@ -80,6 +83,10 @@ public class InterceptController extends CommonController{
|
||||
model.addAttribute("certificateList", certificateList);
|
||||
|
||||
model.addAttribute("_cfg", entity);
|
||||
//IP地址仿冒策略使用策略组
|
||||
List<PolicyGroupInfo> policyGroups=policyGroupInfoService.findPolicyGroupInfosByType(6);
|
||||
model.addAttribute("policyGroups", policyGroups);
|
||||
|
||||
return "/cfg/intercept/interceptForm";
|
||||
}
|
||||
@RequestMapping(value = {"/ip/saveOrUpdate","/domain/saveOrUpdate","/ippayload/SaveOrUpdate"})
|
||||
@@ -173,7 +180,6 @@ public class InterceptController extends CommonController{
|
||||
|
||||
try {
|
||||
auditAll(auditPage,isValid , cfg);
|
||||
addMessage(redirectAttributes,"success", "audit_success");
|
||||
} catch (Exception e) {
|
||||
logger.error("配置下发失败:",e);
|
||||
if(e instanceof MaatConvertException) {
|
||||
|
||||
@@ -0,0 +1,201 @@
|
||||
package com.nis.web.controller.configuration.proxy;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.security.KeyStore;
|
||||
import java.security.Principal;
|
||||
import java.security.SecureRandom;
|
||||
import java.security.cert.X509Certificate;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import javax.net.ssl.KeyManagerFactory;
|
||||
import javax.net.ssl.SSLContext;
|
||||
import javax.net.ssl.TrustManagerFactory;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.apache.commons.beanutils.BeanUtils;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.util.FileCopyUtils;
|
||||
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.multipart.MultipartFile;
|
||||
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||
|
||||
import com.google.common.collect.Maps;
|
||||
import com.nis.domain.Page;
|
||||
import com.nis.domain.basics.PolicyGroupInfo;
|
||||
import com.nis.domain.configuration.DnsResStrategy;
|
||||
import com.nis.domain.configuration.IpPortCfg;
|
||||
import com.nis.domain.configuration.PxyObjSpoofingIpPool;
|
||||
import com.nis.domain.configuration.PxyObjSpoofingIpPool;
|
||||
import com.nis.domain.configuration.PxyObjTrustedCaCert;
|
||||
import com.nis.domain.configuration.PxyObjTrustedCaCrl;
|
||||
import com.nis.domain.maat.ToMaatResult;
|
||||
import com.nis.domain.maat.ToMaatResult.ResponseData;
|
||||
import com.nis.exceptions.CallExternalProceduresException;
|
||||
import com.nis.exceptions.MaatConvertException;
|
||||
import com.nis.exceptions.MultiPartNewException;
|
||||
import com.nis.util.ConfigDictUtils;
|
||||
import com.nis.util.ConfigServiceUtil;
|
||||
import com.nis.util.Constants;
|
||||
import com.nis.util.FileUtils;
|
||||
import com.nis.util.JsonMapper;
|
||||
import com.nis.util.StringUtil;
|
||||
import com.nis.web.controller.BaseController;
|
||||
|
||||
/**
|
||||
* 拦截策略
|
||||
* @author ddm
|
||||
*
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("${adminPath}/proxy/spoofing/pool")
|
||||
public class PxyObjSpoofingIpPoolController extends BaseController {
|
||||
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
|
||||
@RequestMapping(value = {"/form"})
|
||||
@RequiresPermissions(value={"proxy:spoofing:pool:config"})
|
||||
public String from(Model model,
|
||||
HttpServletRequest request,
|
||||
HttpServletResponse response,
|
||||
String ids,
|
||||
@ModelAttribute("cfg")PxyObjSpoofingIpPool cfg
|
||||
,RedirectAttributes redirectAttributes){
|
||||
if(cfg == null){
|
||||
cfg=new PxyObjSpoofingIpPool();
|
||||
}
|
||||
if(!StringUtil.isEmpty(ids)){
|
||||
cfg = pxyObjSpoofingIpPoolService.getPxyObjSpoofingIpPool(Long.valueOf(ids));
|
||||
initFormCondition(model, cfg);
|
||||
model.addAttribute("isAdd", false);
|
||||
}else{
|
||||
initFormCondition(model, cfg);
|
||||
model.addAttribute("isAdd", true);
|
||||
}
|
||||
|
||||
List<PolicyGroupInfo> groups=policyGroupInfoService.findPolicyGroupInfosByType(6);
|
||||
List<PolicyGroupInfo> policyGroups = new ArrayList();
|
||||
//解决目前一个分组只能有一个生效IP
|
||||
for(PolicyGroupInfo group:groups){
|
||||
PxyObjSpoofingIpPool entity = new PxyObjSpoofingIpPool();
|
||||
entity.setGroupId(group.getGroupId());
|
||||
entity.setCfgId(cfg.getCfgId());
|
||||
List<PxyObjSpoofingIpPool> spoofingIpPool = pxyObjSpoofingIpPoolService.findPxyObjSpoofingIpPools(entity);
|
||||
if(spoofingIpPool==null || spoofingIpPool.size()==0){
|
||||
policyGroups.add(group);
|
||||
}
|
||||
}
|
||||
model.addAttribute("policyGroups", policyGroups);
|
||||
model.addAttribute("_cfg", cfg);
|
||||
return "/cfg/proxy/spoofingIpPool/form";
|
||||
}
|
||||
|
||||
@RequestMapping(value = {"/saveOrUpdate"})
|
||||
@RequiresPermissions(value={"proxy:spoofing:pool:config"})
|
||||
public String saveOrUpdate(Model model,HttpServletRequest request,HttpServletResponse response,
|
||||
@ModelAttribute("cfg")PxyObjSpoofingIpPool cfg,
|
||||
RedirectAttributes redirectAttributes){
|
||||
try{
|
||||
pxyObjSpoofingIpPoolService.saveOrUpdate(cfg);
|
||||
addMessage(redirectAttributes,"success","save_success");
|
||||
}catch(Exception e){
|
||||
logger.error("信息保存失败",e);
|
||||
e.printStackTrace();
|
||||
if(e instanceof MaatConvertException) {
|
||||
addMessage(redirectAttributes,"error","request_service_failed");
|
||||
}else {
|
||||
addMessage(redirectAttributes,"error","save_failed");
|
||||
}
|
||||
}
|
||||
|
||||
return "redirect:" + adminPath +"/proxy/spoofing/pool/list?functionId="+cfg.getFunctionId();
|
||||
}
|
||||
|
||||
@RequestMapping(value = {"/list"})
|
||||
@RequiresPermissions(value={"proxy:spoofing:pool:config"})
|
||||
public String list(Model model,HttpServletRequest request,HttpServletResponse response
|
||||
,@ModelAttribute("cfg")PxyObjSpoofingIpPool entity
|
||||
,RedirectAttributes redirectAttributes){
|
||||
//查询时left join policyGroup
|
||||
Page<PxyObjSpoofingIpPool> page = pxyObjSpoofingIpPoolService.findPage(new Page<PxyObjSpoofingIpPool>(request, response,"r"), entity);
|
||||
model.addAttribute("page", page);
|
||||
initPageCondition(model,entity);
|
||||
return "/cfg/proxy/spoofingIpPool/list";
|
||||
}
|
||||
|
||||
@RequestMapping(value = {"/delete"})
|
||||
@RequiresPermissions(value={"proxy:spoofing:pool:config"})
|
||||
public String delete(Integer isAudit,Integer isValid,String ids,Integer functionId
|
||||
,Model model,HttpServletRequest request
|
||||
,HttpServletResponse response
|
||||
,RedirectAttributes redirectAttributes){
|
||||
if(!StringUtil.isEmpty(ids)){
|
||||
pxyObjSpoofingIpPoolService.delete(isAudit,isValid,ids,functionId);
|
||||
}
|
||||
|
||||
return "redirect:" + adminPath +"/proxy/spoofing/pool/list?functionId="+functionId;
|
||||
}
|
||||
|
||||
@RequestMapping(value = {"/audit"})
|
||||
@RequiresPermissions(value={"proxy:spoofing:pool:confirm"})
|
||||
public String audit(Model model,@ModelAttribute("cfg")PxyObjSpoofingIpPool cfg,
|
||||
Integer isValid,
|
||||
Integer isAudit,
|
||||
String ids,
|
||||
Integer functionId,
|
||||
RedirectAttributes redirectAttributes,
|
||||
HttpServletResponse response,
|
||||
HttpServletRequest request) {
|
||||
if(!StringUtil.isEmpty(ids)){
|
||||
String[] idArray = ids.split(",");
|
||||
Date auditTime=new Date();
|
||||
for(String id :idArray){
|
||||
try {
|
||||
pxyObjSpoofingIpPoolService.audit(isAudit,isValid,functionId,id,auditTime);
|
||||
} catch (MaatConvertException e) {
|
||||
logger.error(e);
|
||||
addMessage(redirectAttributes,"error", "request_service_failed");
|
||||
}catch (Exception e) {
|
||||
logger.error(e);
|
||||
addMessage(redirectAttributes,"error", "audit_failed");
|
||||
}
|
||||
}
|
||||
|
||||
}else {
|
||||
/*Page<PxyObjSpoofingIpPool> searchPage=new Page<PxyObjSpoofingIpPool>(request,response,"r");
|
||||
Page<PxyObjSpoofingIpPool> auditPage=new Page<PxyObjSpoofingIpPool>(request,response,"r");
|
||||
|
||||
try {
|
||||
BeanUtils.copyProperties(searchPage, auditPage);
|
||||
auditAll(auditPage,isValid , cfg);
|
||||
} catch (Exception e) {
|
||||
logger.error("配置下发失败:",e);
|
||||
if(e instanceof MaatConvertException) {
|
||||
addMessage(redirectAttributes,"error", "request_service_failed");
|
||||
}else {
|
||||
addMessage(redirectAttributes,"error", "audit_failed");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return list(model, request, response, cfg,redirectAttributes);*/
|
||||
}
|
||||
return "redirect:" + adminPath +"/proxy/spoofing/pool/list?functionId="+functionId;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user