IP复用地址池配置

拆分为两个子菜单:SNAT地址池管理和DNAT地址池管理
This commit is contained in:
leijun
2018-09-29 20:48:12 +08:00
parent 7292839ea5
commit 0e87242c67
8 changed files with 842 additions and 82 deletions

View File

@@ -47,9 +47,8 @@ public class IpMultiplexPoolCfgController extends BaseController {
}
//查询ip复用地址池配置的policyGroup列表
List<PolicyGroupInfo> policyGroups=policyGroupInfoService.findPolicyGroupInfosByType(2);
List<PolicyGroupInfo> policyGroups=policyGroupInfoService.findPolicyGroupInfosByType(3);
model.addAttribute("policyGroups", policyGroups);
model.addAttribute("_cfg", cfg);
return "/cfg/maintenance/ipMultiplexPool/form";
}
@@ -92,7 +91,6 @@ public class IpMultiplexPoolCfgController extends BaseController {
}catch(Exception e){
addMessage(redirectAttributes,"delete_failed");
}
return "redirect:" + adminPath +"/maintenance/ipMultiplexPoolCfg/list?functionId="+functionId;
}
@@ -125,4 +123,89 @@ public class IpMultiplexPoolCfgController extends BaseController {
return true;
}
}
@RequestMapping(value = {"/snatlist"})
public String snatlist(Model model,HttpServletRequest request,HttpServletResponse response,@ModelAttribute("cfg")IpMultiplexPoolCfg entity){
//查询时left join policyGroup
Page<IpMultiplexPoolCfg> page = ipMultiplexPoolCfgService.findPage(new Page<IpMultiplexPoolCfg>(request, response,"r"), entity);
model.addAttribute("page", page);
initPageCondition(model,entity);
return "/cfg/maintenance/ipMultiplexPool/snatlist";
}
@RequestMapping(value = {"/snatform"})
@RequiresPermissions(value={"ip:mulitiplex:pool:config"})
public String snatfrom(Model model,
HttpServletRequest request,
HttpServletResponse response,
String ids,
@ModelAttribute("cfg")IpMultiplexPoolCfg cfg){
if(cfg == null){
cfg=new IpMultiplexPoolCfg();
}
if(!StringUtil.isEmpty(ids)){
cfg = ipMultiplexPoolCfgService.getIpMultiplexPoolCfg(Long.valueOf(ids),null);
initFormCondition(model, cfg);
}else{
initFormCondition(model, cfg);
}
//查询ip复用地址池配置的policyGroup列表
List<PolicyGroupInfo> policyGroups=policyGroupInfoService.findPolicyGroupInfosByType(2);
model.addAttribute("policyGroups", policyGroups);
model.addAttribute("_cfg", cfg);
return "/cfg/maintenance/ipMultiplexPool/snatform";
}
@RequestMapping(value = {"/snatsaveOrUpdate"})
@RequiresPermissions(value={"ip:mulitiplex:pool:config"})
public String snatsaveOrUpdate(Model model,HttpServletRequest request,HttpServletResponse response,RedirectAttributes redirectAttributes,
@ModelAttribute("cfg")IpMultiplexPoolCfg cfg){
try{
ipMultiplexPoolCfgService.saveOrUpdate(cfg);
addMessage(redirectAttributes,"save_success");
}catch(Exception e){
e.printStackTrace();
addMessage(redirectAttributes,"save_failed");
}
return "redirect:" + adminPath +"/maintenance/ipMultiplexPoolCfg/snatlist?functionId="+cfg.getFunctionId();
}
@RequestMapping(value = {"/snataudit"})
@RequiresPermissions(value={"ip:mulitiplex:pool:confirm"})
public String snataudit(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 {
ipMultiplexPoolCfgService.audit(isAudit,isValid,functionId,id,auditTime);
} catch (MaatConvertException e) {
e.printStackTrace();
logger.info("SNAT地址池管理配置下发失败"+e.getMessage());
addMessage(redirectAttributes, e.getMessage());
}
}
}
return "redirect:" + adminPath +"/maintenance/ipMultiplexPoolCfg/snatlist?functionId="+functionId;
}
@RequestMapping(value = {"/snatdelete"})
@RequiresPermissions(value={"ip:mulitiplex:pool:config"})
public String snatdelete(Integer isAudit,Integer isValid,String ids,Integer functionId,Model model,RedirectAttributes redirectAttributes
,HttpServletRequest request,HttpServletResponse response){
try{
if(!StringUtil.isEmpty(ids)){
ipMultiplexPoolCfgService.delete(isAudit,isValid,ids,functionId);
}
addMessage(redirectAttributes,"delete_success");
}catch(Exception e){
addMessage(redirectAttributes,"delete_failed");
}
return "redirect:" + adminPath +"/maintenance/ipMultiplexPoolCfg/snatlist?functionId="+functionId;
}
}