提交 1.SNAT复用策略、相关sql 2.IP复用调用CGI接口url字典

This commit is contained in:
zhangwq
2018-11-29 10:38:10 +08:00
parent a99fe7e835
commit ae9edb47e7
10 changed files with 964 additions and 10 deletions

View File

@@ -9,6 +9,7 @@
package com.nis.web.controller.configuration.manipulation;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -31,9 +32,12 @@ import com.nis.domain.Page;
import com.nis.domain.SysDataDictionaryItem;
import com.nis.domain.basics.PolicyGroupInfo;
import com.nis.domain.configuration.BaseIpCfg;
import com.nis.domain.configuration.IpAddrPoolCfg;
import com.nis.domain.configuration.IpMultiplexPoolCfg;
import com.nis.domain.configuration.IpPortCfg;
import com.nis.domain.configuration.UserManage;
import com.nis.domain.configuration.template.IpMultiplexPolicyTemplate;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.Constants;
import com.nis.util.DictUtils;
import com.nis.util.StringUtil;
@@ -126,24 +130,35 @@ public class IpMultiplexController extends CommonController {
@RequestMapping(value = {"/snatPolicyList"})
public String snatPolicyList(String cfgName,Model model,@ModelAttribute("cfg")IpPortCfg cfg,HttpServletRequest request,HttpServletResponse response) {
this._ipList(cfgName,model, cfg, request, response);
return "/cfg/manipulation/ipmulitiplex/snatPolicyList";
// 获取地址池、用户信息
List<UserManage> users = userManageService.findUsers();
List<IpAddrPoolCfg> addrPools = ipAddrPoolCfgService.getEffectiveAddrPool();
model.addAttribute("users", users);
model.addAttribute("addrPools", addrPools);
return "/cfg/manipulation/ipmulitiplex/snatPolicyList2";
}
@RequestMapping(value = {"/snatPolicyForm"})
@RequiresPermissions(value={"snat_policy:config"})
public String snatPolicyForm(String cfgName,Model model,String ids,Integer functionId,BaseIpCfg entity) {
public String snatPolicyForm(String cfgName,Model model,String ids,Integer functionId,BaseIpCfg entity, HttpServletRequest request,HttpServletResponse response) {
this._ipForm(cfgName,model, ids, functionId, entity);
// 获取拥有区域信息的策略分组
List<PolicyGroupInfo> policyGroups = policyGroupInfoService.getHasAreaPolicyGroups(2);
model.addAttribute("policyGroups", policyGroups);
// 获取用户信息 地址池信息
List<UserManage> users = userManageService.findUsers();
List<IpAddrPoolCfg> addrPools = ipAddrPoolCfgService.getEffectiveAddrPool();
model.addAttribute("users", users);
model.addAttribute("addrPools", addrPools);
model.addAttribute("urlPrefix","/manipulation/ipmulitiplex");
return "/cfg/manipulation/ipmulitiplex/snatPolicyForm";
return "/cfg/manipulation/ipmulitiplex/snatPolicyForm2";
}
@RequestMapping(value = {"/saveOrUpdateSnat"})
public String saveOrUpdateSnat(String cfgName,RedirectAttributes model, IpPortCfg cfg) {
// 设置生效区域信息
groupAreaService.setAreaEffective(cfg);
//groupAreaService.setAreaEffective(cfg);
this._saveOrUpdateIp(cfgName,model, cfg);
return "redirect:" + adminPath +"/manipulation/ipmulitiplex/snatPolicyList?functionId="+cfg.getFunctionId();
}
@@ -158,7 +173,26 @@ public class IpMultiplexController extends CommonController {
@RequestMapping(value = {"/auditSnat"})
@RequiresPermissions("snat_policy:confirm")
public String auditSnat(String cfgName,String ids,IpPortCfg cfg,RedirectAttributes redirectAttributes) {
this._auditIp(cfgName,ids, cfg, redirectAttributes);
//this._auditIp(cfgName,ids, cfg, redirectAttributes);
if(!StringUtil.isEmpty(ids)){
String[] idArray = ids.split(",");
Date auditTime=new Date();
for(String id :idArray){
try {
ipAddrPoolCfgService.auditSnatStrategy(id, cfg, auditTime);
} catch (Exception e) {
e.printStackTrace();
logger.error("SNAT策略配置下发失败"+e.getMessage());
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error", "request_service_failed");
}else {
addMessage(redirectAttributes,"error", "audit_failed");
}
}
}
}
return "redirect:" + adminPath +"/manipulation/ipmulitiplex/snatPolicyList?functionId="+cfg.getFunctionId();
}
@@ -234,7 +268,7 @@ public class IpMultiplexController extends CommonController {
}
titleList.add(entity.getMenuNameCode());
classMap.put(entity.getMenuNameCode(), BaseIpCfg.class);
String snatNoExport=",server_ip,ip_type,ip_pattern,port_pattern,client_port,server_port,ir_type,direction,protocol,do_log,whether_area_block,userregion1,userregion2,userregion3,userregion4,userregion5,";
String snatNoExport=",client_ip,group_name,server_ip,ip_type,ip_pattern,port_pattern,client_port,server_port,ir_type,direction,protocol,do_log,whether_area_block,userregion1,userregion2,userregion3,userregion4,userregion5,";
noExportMap.put(entity.getMenuNameCode(),snatNoExport);
dataMap.put(entity.getMenuNameCode(), page.getList());
/*}*/