ip白名单修改,增加SUBSCRIBE_ID属性

This commit is contained in:
wangxin
2018-08-24 20:55:20 +08:00
parent c23beae5e1
commit e5e0d47a27
10 changed files with 1713 additions and 436 deletions

View File

@@ -1,5 +1,6 @@
package com.nis.web.controller.configuration.ntc;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -19,13 +20,15 @@ import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.nis.domain.Page;
import com.nis.domain.configuration.BaseIpCfg;
import com.nis.domain.configuration.CfgIndexInfo;
import com.nis.domain.configuration.HttpUrlCfg;
import com.nis.domain.configuration.IpPortCfg;
import com.nis.domain.configuration.NtcSubscribeIdCfg;
import com.nis.domain.configuration.template.WhiteListIpTemplate;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.Constants;
import com.nis.web.controller.configuration.CommonController;
import com.nis.web.security.UserUtils;
/**
* 白名单
@@ -38,14 +41,87 @@ public class WhiteListController extends CommonController{
@RequestMapping(value = {"ip/list"})
//@RequiresPermissions(value={"whitelist:ip:config","whitelist:ip:confirm","whitelist:ip:aduit"},logical=Logical.OR)
public String ipList(Model model,@ModelAttribute("cfg")IpPortCfg cfg,HttpServletRequest request,HttpServletResponse response) {
cfg.setTableName(IpPortCfg.getTablename());
Page<BaseIpCfg> searchPage=new Page<BaseIpCfg>(request,response,"r");
Page<BaseIpCfg> page = ipCfgService.findPage(searchPage, cfg);
public String ipList(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg,HttpServletRequest request,HttpServletResponse response) {
Page<CfgIndexInfo> searchPage=new Page<CfgIndexInfo>(request,response,"a");
Page<CfgIndexInfo> page = websiteCfgService.getWebsiteList(searchPage, cfg);
model.addAttribute("page", page);
initPageCondition(model,cfg);
return "/cfg/whitelist/ipList";
}
@RequestMapping(value = {"ajaxIpSubList"})
public String ajaxIpSubList(Model model,Long cfgId,Integer index) {
CfgIndexInfo cfg = ipCfgService.getIpPortCfg(cfgId);
List<String[]> tabList = new ArrayList();
if(cfg.getIpPortList()!=null){
String cfgType = null;
for(IpPortCfg ip:cfg.getIpPortList()){
if(!ip.getCfgType().equals(cfgType)){
tabList.add(new String[]{"1",ip.getCfgType()});
cfgType = ip.getCfgType();
}
}
}
if(cfg.getNtcSubscribeIdCfgList()!=null){
String cfgType = null;
for(NtcSubscribeIdCfg keyword:cfg.getNtcSubscribeIdCfgList()){
if(!keyword.getCfgType().equals(cfgType)){
tabList.add(new String[]{"2",keyword.getCfgType()});
cfgType = keyword.getCfgType();
}
}
}
model.addAttribute("_cfg", cfg);
model.addAttribute("index", index);
model.addAttribute("tabList", tabList);
return "/cfg/whitelist/ipSubList";
}
@RequestMapping(value = {"ip/form"})
@RequiresPermissions(value={"whitelist:ip:config"})
public String ipForm(Model model,String ids,CfgIndexInfo entity) {
if(StringUtils.isNotBlank(ids)){
entity = this.ipCfgService.getIpPortCfg(Long.parseLong(ids));
entity = this.websiteCfgService.getSslCfg(Long.parseLong(ids));
initUpdateFormCondition(model,entity);
}else{
initFormCondition(model,entity);
}
model.addAttribute("_cfg", entity);
return "/cfg/whitelist/ipForm";
}
@RequestMapping(value = {"ip/save"})
public String saveIpCfg(Model model,HttpServletRequest request,HttpServletResponse response,String ids,CfgIndexInfo entity) {
ipCfgService.saveIpCfg(entity);
return "redirect:" + adminPath +"/ntc/whitelist/ip/list?functionId="+entity.getFunctionId();
}
@RequestMapping(value = {"ip/audit"})
@RequiresPermissions("whitelist:ip:confirm")
public String auditIp(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) {
CfgIndexInfo entity = new CfgIndexInfo();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = ipCfgService.getIpPortCfg(Long.parseLong(id));
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
ipCfgService.auditIpCfg(entity,isAudit);
} catch (MaatConvertException e) {
e.printStackTrace();
logger.info("ip配置下发失败"+e.getMessage());
addMessage(redirectAttributes, e.getMessage());
}
}
return "redirect:" + adminPath +"/ntc/whitelist/ip/list?functionId="+entity.getFunctionId();
}
@RequestMapping(value = {"updateIpValid"})
@RequiresPermissions(value={"whitelist:ip:config"})
public String updateIpCfgValid(Integer isValid,String ids,Integer functionId) {
ipCfgService.updateIpCfgValid(isValid,ids,functionId);
return "redirect:" + adminPath +"/ntc/website/sslList?functionId="+functionId;
}
@RequestMapping(value = {"domain/list"})
//@RequiresPermissions(value={"whitelist:domain:config","whitelist:domain:confirm","whitelist:domain:aduit"},logical=Logical.OR)
public String domainList(Model model,@ModelAttribute("cfg")HttpUrlCfg cfg,HttpServletRequest request,HttpServletResponse response) {
@@ -56,25 +132,7 @@ public class WhiteListController extends CommonController{
initPageCondition(model,cfg);
return "/cfg/whitelist/domainList";
}
@RequestMapping(value = {"ip/form"})
@RequiresPermissions(value={"whitelist:ip:config"})
public String ipForm(Model model,String ids,BaseIpCfg entity) {
if(StringUtils.isNotBlank(ids)){
entity = ipCfgService.getIpCfgById(IpPortCfg.getTablename(),Long.parseLong(ids));
}
initFormCondition(model,entity);
if(entity.getCfgId()!=null){
model.addAttribute("_cfg", entity);
}else{
IpPortCfg cfg=new IpPortCfg();
cfg.initDefaultValueImpl();
cfg.setFunctionId(entity.getFunctionId());
cfg.setProtocolId(entity.getProtocolId());
model.addAttribute("_cfg", cfg);
}
return "/cfg/whitelist/ipForm";
}
@RequestMapping(value = {"domain/form"})
@RequiresPermissions(value={"whitelist:domain:config"})
public String domainForm(Model model,String ids,HttpUrlCfg entity) {
@@ -93,30 +151,6 @@ public class WhiteListController extends CommonController{
return "/cfg/whitelist/domainForm";
}
@RequestMapping(value = {"ip/saveOrUpdate"})
public String saveOrUpdateIp(RedirectAttributes model, IpPortCfg cfg) {
cfg.setTableName(IpPortCfg.getTablename());
logger.info("saveOrUpdateIp loaded");
try{
Date date=new Date();
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");
}
return "redirect:" + adminPath +"/ntc/whitelist/ip/list?functionId="+cfg.getFunctionId();
}
@RequestMapping(value = {"domain/saveOrUpdate"})
public String saveOrUpdateDomain(RedirectAttributes model, HttpUrlCfg cfg) {
cfg.setTableName(HttpUrlCfg.getTablename());
@@ -142,18 +176,6 @@ public class WhiteListController extends CommonController{
return "redirect:" + adminPath +"/ntc/whitelist/domain/list?functionId="+cfg.getFunctionId();
}
@RequestMapping(value = {"ip/delete"})
@RequiresPermissions("whitelist:ip:config")
public String deleteIp(String ids,Integer functionId,RedirectAttributes model) {
try{
ipCfgService.deleteIp(ids,null,functionId.intValue());
addMessage(model,"delete_success");
}catch(Exception e){
logger.error("删除失败", e);
addMessage(model,"delete_failed");
}
return "redirect:" + adminPath +"/ntc/whitelist/ip/list?functionId="+functionId;
}
@RequestMapping(value = {"domain/delete"})
@RequiresPermissions("whitelist:domain:config")
public String deleteDomain(String ids,Integer functionId,RedirectAttributes model) {
@@ -166,33 +188,7 @@ public class WhiteListController extends CommonController{
}
return "redirect:" + adminPath +"/ntc/whitelist/domain/list?functionId="+functionId;
}
@RequestMapping(value = {"ip/audit"})
@RequiresPermissions("whitelist:ip:confirm")
public String auditIp(String ids,IpPortCfg cfg,RedirectAttributes redirectAttributes) {
try{
for(String id:ids.split(",")){
Long.parseLong(id);
}
List<BaseIpCfg> 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.auditWhiteIp(bean);
}
addMessage(redirectAttributes,"audit_success");
}catch(MaatConvertException e){
logger.error("审核失败", e);
addMessage(redirectAttributes, e.getMessage());
}catch(Exception e){
logger.error("审核失败", e);
addMessage(redirectAttributes, "audit_failed");
}
return "redirect:" + adminPath +"/ntc/whitelist/ip/list?functionId="+cfg.getFunctionId();
}
@RequestMapping(value = {"domain/audit"})
@RequiresPermissions("whitelist:domain:confirm")
public String auditDomain(String ids,HttpUrlCfg cfg,RedirectAttributes redirectAttributes) {