diff --git a/src/main/java/com/nis/domain/specific/SpecificServiceCfg.java b/src/main/java/com/nis/domain/specific/SpecificServiceCfg.java new file mode 100644 index 000000000..ffe37f1d1 --- /dev/null +++ b/src/main/java/com/nis/domain/specific/SpecificServiceCfg.java @@ -0,0 +1,152 @@ +package com.nis.domain.specific; + +import java.util.Date; +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.nis.domain.BaseEntity; +import com.nis.util.Configurations; + +/** + * 系统特定服务信息表-记录特定服务信息(specific_service_cfg) + * @author zsl + * + */ +public class SpecificServiceCfg extends BaseEntity{ + + private static final long serialVersionUID = -1133644323636425766L; + + private Integer specServiceId; //spec_service_id 协议ID int N 主键,初始化 + //private Integer specServiceCode; //协议编码 int N 暂定,以后可扩展 1000:微信 , 1001:QQ + private String specServiceName; //spec_service_name 协议名称 varchar(64) N + private String specServiceDesc; //spec_service_desc 协议描述 varchar2(64) N + private Integer isValid; //is_valid 有效标志 int N 1-有效 0-无效 + private Date opTime; //op_time 操作时间 date N + private SpecificServiceCfg parent; //parent_id 父节点id int N 0表示一级节点 + private Integer isLeaf; //is_leaf 是否是叶子节点 int N 0否,1是,只有一级填0 + private Integer groupId; //group_id maat端配置分组id int N 缺省0,表示未与maat分组同步 + + private Date beginDate; // 开始日期 + private Date endDate; // 结束日期 + private String showSequence; //显示序号 + + public Integer getSpecServiceId() { + return specServiceId; + } + public void setSpecServiceId(Integer specServiceId) { + this.specServiceId = specServiceId; + } + public String getSpecServiceName() { + return specServiceName; + } + public void setSpecServiceName(String specServiceName) { + this.specServiceName = specServiceName; + } + public String getSpecServiceDesc() { + return specServiceDesc; + } + public void setSpecServiceDesc(String specServiceDesc) { + this.specServiceDesc = specServiceDesc; + } + public Integer getIsValid() { + return isValid; + } + public void setIsValid(Integer isValid) { + this.isValid = isValid; + } + public Date getOpTime() { + return opTime; + } + public void setOpTime(Date opTime) { + this.opTime = opTime; + } + public SpecificServiceCfg getParent() { + return parent; + } + public void setParent(SpecificServiceCfg parent) { + this.parent = parent; + } + public Integer getIsLeaf() { + return isLeaf; + } + public void setIsLeaf(Integer isLeaf) { + this.isLeaf = isLeaf; + } + public Integer getGroupId() { + return groupId; + } + public void setGroupId(Integer groupId) { + this.groupId = groupId; + } + public Date getBeginDate() { + return beginDate; + } + public void setBeginDate(Date beginDate) { + this.beginDate = beginDate; + } + public Date getEndDate() { + return endDate; + } + public void setEndDate(Date endDate) { + this.endDate = endDate; + } + public String getShowSequence() { + return showSequence; + } + public void setShowSequence(String showSequence) { + this.showSequence = showSequence; + } + @JsonIgnore + public static void sortList(List list, List allList, Integer parentId, boolean cascade) { + + for(int i=0;i list,Integer parentId){ + int countNo = 1; + for(int i=0; i{ + + private static final long serialVersionUID = -301627652860717175L; + + private Integer hostId; //host_id 配置ID bigint N 主键,自增 + private Integer specServiceId; //spec_service_id 协议id int N protocol_info_cfg.protocol_id + private String srcIp; //src_ip 源IP地址 varchar(64) N 缺省0.0.0.0值表示任意 + private String srcIpMask; //src_ip_mask 源地址掩码 varchar(64) N IPV4:255.255.255.255表示无掩码,即精确IP匹配,0.0.0.0值表示任意; + //IPV6:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF表示无掩码,::(两个半角冒号)表示任意。非0掩码值必须是2的指数幂,下同。 + private String srcPort; //src_port 源端口 varchar(6) N 0表示任意值 + private String srcPortMask; //src_port_mask 源端口掩码 varchar(6) N 65535表示无掩码,即精确端口匹配,0表示任意 + private String dstIp; //dst_ip 目的IP地址 varchar(64) N 缺省0.0.0.0值表示任意 + private String dstIpMask; //dst_ip_mask 目的地址掩码 varchar(64) N 同源ip地址掩码 + private String dstPort; //dst_port 目的端口 varchar(6) N 目的端口,0表示任意值 + private String dstPortMask; //dst_port_mask 目的端口掩码 varchar(6) N 同源端口掩码 + private Integer direction;; //direction 方向 int N 0双向,1单向,默认缺省为双向。 + private Integer protocol; //protocol 协议 int N 6表示tcp,17表示udp,0表示任意 + private Integer isValid; //is_valid 有效标识 int N 0无效,1有效 + private Integer isAudit; //is_audit 是否审核 int N 0未审核,1审核通过,2审核未通过,3取消审核通过(即删除) + private SysUser creator; //creator_id 创建人员 int N 取自sys_user.id + private Date createTime; //create_time 配置时间 date N + private SysUser editor; //editor_id 修改人员 int Y 取自sys_user.id + private Date editTime; //edit_time 修改时间 date Y + private SysUser auditor; //auditor_id 审核人员 int Y 取自sys_user.id + private Date auditTime; //audit_time 审核时间 date Y + + + + + private Date beginDate; + private Date endDate; + private Date editBeginDate; + private Date editEndDate; + private Date auditBeginDate; + private Date auditEndDate; + + + public Integer getHostId() { + return hostId; + } + public void setHostId(Integer hostId) { + this.hostId = hostId; + } + public Integer getSpecServiceId() { + return specServiceId; + } + public void setSpecServiceId(Integer specServiceId) { + this.specServiceId = specServiceId; + } + public String getSrcIp() { + return srcIp; + } + public void setSrcIp(String srcIp) { + this.srcIp = srcIp; + } + public String getSrcIpMask() { + return srcIpMask; + } + public void setSrcIpMask(String srcIpMask) { + this.srcIpMask = srcIpMask; + } + public String getSrcPort() { + return srcPort; + } + public void setSrcPort(String srcPort) { + this.srcPort = srcPort; + } + public String getSrcPortMask() { + return srcPortMask; + } + public void setSrcPortMask(String srcPortMask) { + this.srcPortMask = srcPortMask; + } + public String getDstIp() { + return dstIp; + } + public void setDstIp(String dstIp) { + this.dstIp = dstIp; + } + public String getDstIpMask() { + return dstIpMask; + } + public void setDstIpMask(String dstIpMask) { + this.dstIpMask = dstIpMask; + } + public String getDstPort() { + return dstPort; + } + public void setDstPort(String dstPort) { + this.dstPort = dstPort; + } + public String getDstPortMask() { + return dstPortMask; + } + public void setDstPortMask(String dstPortMask) { + this.dstPortMask = dstPortMask; + } + public Integer getDirection() { + return direction; + } + public void setDirection(Integer direction) { + this.direction = direction; + } + public Integer getProtocol() { + return protocol; + } + public void setProtocol(Integer protocol) { + this.protocol = protocol; + } + public Integer getIsValid() { + return isValid; + } + public void setIsValid(Integer isValid) { + this.isValid = isValid; + } + public Integer getIsAudit() { + return isAudit; + } + public void setIsAudit(Integer isAudit) { + this.isAudit = isAudit; + } + public SysUser getCreator() { + return creator; + } + public void setCreator(SysUser creator) { + this.creator = creator; + } + public Date getCreateTime() { + return createTime; + } + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + public SysUser getEditor() { + return editor; + } + public void setEditor(SysUser editor) { + this.editor = editor; + } + public Date getEditTime() { + return editTime; + } + public void setEditTime(Date editTime) { + this.editTime = editTime; + } + public SysUser getAuditor() { + return auditor; + } + public void setAuditor(SysUser auditor) { + this.auditor = auditor; + } + public Date getAuditTime() { + return auditTime; + } + public void setAuditTime(Date auditTime) { + this.auditTime = auditTime; + } + + + + public Date getBeginDate() { + return beginDate; + } + public void setBeginDate(Date beginDate) { + this.beginDate = beginDate; + } + public Date getEndDate() { + return endDate; + } + public void setEndDate(Date endDate) { + this.endDate = endDate; + } + public Date getEditBeginDate() { + return editBeginDate; + } + public void setEditBeginDate(Date editBeginDate) { + this.editBeginDate = editBeginDate; + } + public Date getEditEndDate() { + return editEndDate; + } + public void setEditEndDate(Date editEndDate) { + this.editEndDate = editEndDate; + } + public Date getAuditBeginDate() { + return auditBeginDate; + } + public void setAuditBeginDate(Date auditBeginDate) { + this.auditBeginDate = auditBeginDate; + } + public Date getAuditEndDate() { + return auditEndDate; + } + public void setAuditEndDate(Date auditEndDate) { + this.auditEndDate = auditEndDate; + } + /** + * 处理数据 + * @param list + * @param sourceList + * @param ParentId + * @param cascade + */ + @JsonIgnore + public static void sort(List list, List sourceList, Integer ParentId, boolean cascade){ + + } + + + + + + + +} diff --git a/src/main/java/com/nis/util/ConfigDictUtils.java b/src/main/java/com/nis/util/ConfigDictUtils.java index 25c2c1db9..8ce743a12 100644 --- a/src/main/java/com/nis/util/ConfigDictUtils.java +++ b/src/main/java/com/nis/util/ConfigDictUtils.java @@ -11,9 +11,11 @@ import com.nis.domain.SysDataDictionaryItem; import com.nis.domain.SysDataDictionaryName; import com.nis.domain.basics.ServiceDictInfo; import com.nis.domain.basics.SysDictInfo; +import com.nis.domain.specific.SpecificServiceCfg; import com.nis.web.dao.SysDictDao; import com.nis.web.dao.basics.ServiceDictInfoDao; import com.nis.web.dao.basics.SysDictInfoDao; +import com.nis.web.dao.specific.SpecificServiceCfgDao; import com.nis.web.service.SpringContextHolder; @@ -29,6 +31,7 @@ public class ConfigDictUtils { private final static ServiceDictInfoDao serviceDictInfoDao = SpringContextHolder.getBean(ServiceDictInfoDao.class); private final static SysDictInfoDao sysDictInfoDao = SpringContextHolder.getBean(SysDictInfoDao.class); + private final static SpecificServiceCfgDao specificServiceCfgDao = SpringContextHolder.getBean(SpecificServiceCfgDao.class); /** * 根据主键查询配置详情 @@ -47,6 +50,15 @@ public class ConfigDictUtils { public static SysDictInfo getSysDictInfoById(Integer sysDictId){ return sysDictInfoDao.getDictById(sysDictId); } + + /** + * 根据主键查询配置详情 + * @param sysDictId + * @return + */ + public static SpecificServiceCfg getBySpecServiceId(Integer specServiceId){ + return specificServiceCfgDao.getBySpecServiceId(specServiceId); + } /** * 根据计算公式计算数据结果 * @param sysDictId diff --git a/src/main/java/com/nis/web/controller/BaseController.java b/src/main/java/com/nis/web/controller/BaseController.java index a0266aa58..bf7205a5a 100644 --- a/src/main/java/com/nis/web/controller/BaseController.java +++ b/src/main/java/com/nis/web/controller/BaseController.java @@ -39,6 +39,8 @@ import com.nis.web.service.configuration.SslCfgService; import com.nis.web.service.configuration.StringCfgService; import com.nis.web.service.configuration.TunnelCfgService; import com.nis.web.service.configuration.WebCfgService; +import com.nis.web.service.specific.SpecificServiceCfgService; +import com.nis.web.service.specific.SpecificServiceHostCfgService; import com.nis.web.service.systemService.ServiceConfigInfoService; import com.nis.web.service.systemService.SystemServiceService; @@ -117,6 +119,10 @@ public class BaseController { protected NumCfgService numCfgService; @Autowired protected ComplexStringCfgService complexStringCfgService; + @Autowired + protected SpecificServiceCfgService specificServiceCfgService; + @Autowired + protected SpecificServiceHostCfgService specificServiceHostCfgService; /** * 管理基础路径 */ diff --git a/src/main/java/com/nis/web/controller/specific/SpecificServiceCfgController.java b/src/main/java/com/nis/web/controller/specific/SpecificServiceCfgController.java new file mode 100644 index 000000000..e2ef0a1b0 --- /dev/null +++ b/src/main/java/com/nis/web/controller/specific/SpecificServiceCfgController.java @@ -0,0 +1,282 @@ +package com.nis.web.controller.specific; + +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +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.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.servlet.mvc.support.RedirectAttributes; + +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.nis.domain.Page; +import com.nis.domain.specific.SpecificServiceCfg; +import com.nis.util.StringUtil; +import com.nis.util.StringUtils; +import com.nis.web.controller.BaseController; + +@Controller +@RequestMapping(value = "${adminPath}/specific/specificServiceCfg") +public class SpecificServiceCfgController extends BaseController { + +/* @ModelAttribute + public SpecificServiceCfg get(@RequestParam(required=false)Integer specServiceId) { + if (!StringUtil.isEmpty(specServiceId)) { + SpecificServiceCfg ss = specificServiceCfgService.getBySpecServiceId(specServiceId); + return ss==null?new SpecificServiceCfg():ss; + } else { + return new SpecificServiceCfg(); + } + }*/ + + /** + * 查出分页列表 + * + * @param specificServiceCfg + * @param request + * @param response + * @param model + * @return + */ + @RequiresPermissions("sys:dict:view") + @RequestMapping(value = "list") + public String list(SpecificServiceCfg specificServiceCfg, HttpServletRequest request, HttpServletResponse response, + Model model) { + String searchType = null; + String searchContent = null; + if(specificServiceCfg.getSpecServiceId()!=null){ + searchType = "specServiceId"; + searchContent = specificServiceCfg.getSpecServiceId().toString(); + } + if(!StringUtils.isBlank(specificServiceCfg.getSpecServiceName())){ + searchType = "specServiceName"; + searchContent = specificServiceCfg.getSpecServiceName(); + } + model.addAttribute("searchType", searchType); + model.addAttribute("searchContent", searchContent); + + // 取出所有符合条件的数据 + List allList = specificServiceCfgService.findAllSpecificServiceCfg(specificServiceCfg); + model.addAttribute("showTotalCount", allList.size()); + // 取出所有符合条件的顶层分页 + Page page = specificServiceCfgService + .findTopPage(new Page(request, response), specificServiceCfg); + // 植入序号 + for (int i = 0; i < page.getList().size(); i++) { + page.getList().get(i).setShowSequence("" + (i + 1 + ((page.getPageNo() - 1) * page.getPageSize()))); + } + model.addAttribute("page", page); + // 删除顶层数据、取出id 优化处理 + List intList = Lists.newArrayList(); + for (SpecificServiceCfg tempSS : page.getList()) { + if (tempSS != null) { + intList.add(tempSS.getSpecServiceId()); + } + } + for (int i = allList.size() - 1; i >= 0; i--) { + SpecificServiceCfg ss = allList.get(i); + if ((ss != null && intList.contains(ss.getSpecServiceId())) || (ss != null && ss.getSpecServiceId() == 0)) { + allList.remove(ss); + } + } + + allList.addAll(page.getList()); + List list = Lists.newArrayList(); + SpecificServiceCfg.sortList(list, allList, 0, true); + //处理下级序号 + SpecificServiceCfg.addChildrenSeq(list, 0); + + model.addAttribute("list", list); + + return "/specific/specificServiceCfgList"; + } + + /** + * 进入查看或新增、修改页面 + * + * @param specificServiceCfg + * @param model + * @param doAction + * @param mulitId + * @return + */ + @RequestMapping(value = { "form" }) + public String form(SpecificServiceCfg specificServiceCfg, Model model, String doAction, String mulitId) { + + Integer id = 0; + if (mulitId != null) { + String[] ids = mulitId.split(","); + id = Integer.valueOf(ids[0]); + } + if (id != 0) { + specificServiceCfg = specificServiceCfgService.getBySpecServiceId(id); + } + if (specificServiceCfg == null || specificServiceCfg.getParent() == null + || specificServiceCfg.getParent().getSpecServiceId() == 0) { + SpecificServiceCfg parent = new SpecificServiceCfg(); + parent.setSpecServiceId(0); + parent.setSpecServiceName("根节点"); + specificServiceCfg.setParent(parent); + } + model.addAttribute("specificServiceCfg", specificServiceCfg); + if (doAction != null && doAction.equals("0")) { + return "/specific/specificServiceCfgInfo"; + } + return "/specific/specificServiceCfgForm"; + } + + /** + * 新增或保存 + * @param specificServiceCfg + * @param model + * @param redirectAttributes + * @return + */ + @RequiresPermissions("sys:dict:edit") + @RequestMapping(value="saveOrUpdate") + public String saveOrUpdate(SpecificServiceCfg specificServiceCfg, Model model, + RedirectAttributes redirectAttributes,Integer oldId) { + try { + specificServiceCfgService.saveOrUpdate(specificServiceCfg,oldId); + addMessage(redirectAttributes, "保存成功"); + } catch (Exception e) { + e.printStackTrace(); + addMessage(redirectAttributes, "保存失败!"); + } + return "redirect:" + adminPath + "/specific/specificServiceCfg/list"; + } + + /** + * 删除 + * @param specificServiceCfg + * @param redirectAttributes + * @param mulitId + * @return + */ + @RequestMapping(value="delete") + public String delete(SpecificServiceCfg specificServiceCfg, RedirectAttributes redirectAttributes, String mulitId){ + try{ + specificServiceCfgService.delete(mulitId); + addMessage(redirectAttributes,"删除成功"); + }catch (Exception e){ + e.printStackTrace(); + addMessage(redirectAttributes,"删除失败"); + } + + return "redirect:"+adminPath+"/specific/specificServiceCfg/list"; + } + + /** + * 父节点选择树形结构 + * @param extId + * @param isShowHide + * @param response + * @return + */ + @RequiresPermissions("user") + @ResponseBody + @RequestMapping(value = "treeData") + public List> treeData(@RequestParam(required=false) String extId,@RequestParam(required=false) String isShowHide, HttpServletResponse response){ + List> mapList = Lists.newArrayList(); + Map map2 = Maps.newHashMap(); + map2.put("id", 0); + map2.put("pId", 0); + map2.put("name","根节点"); + //map2.put("placeholder","0"); + mapList.add(map2); + List list = specificServiceCfgService.findAllSpecificServiceCfg(new SpecificServiceCfg()); + for (int i=0; i map = Maps.newHashMap(); + map.put("id", specificServiceCfg.getSpecServiceId()); + map.put("pId", specificServiceCfg.getParent().getSpecServiceId()); + map.put("name",specificServiceCfg.getSpecServiceName()); + mapList.add(map); + } + } + return mapList; + } + + /** + * 校验协议id是否重复 + * @param specServiceId + * @param oldId + * @return + */ + @ResponseBody + @RequestMapping(value = "isIdRepeat") + public boolean isIdRepeat(String specServiceId,String oldId){ + System.out.println(specServiceId +"--"+specServiceId); + System.out.println(oldId.trim().equals(specServiceId)); + if(oldId.trim().equals(specServiceId)){ + return true; + } + if(specServiceId!=null){ + SpecificServiceCfg ss = specificServiceCfgService.getBySpecServiceId(Integer.valueOf(specServiceId)); + if(ss==null){ + return true; + } + } + + + return false; + } + + + /** + * 校验叶子节点无上级不得选为叶子节点 + * @param specServiceId + * @param oldId + * @return + */ + @ResponseBody + @RequestMapping(value = "ajaxLeafHasTree") + public boolean ajaxLeafHasTree(Integer parentId, Integer newIsLeaf){ + if(parentId==null||parentId==0){ + if(newIsLeaf==0){ + return true; + } + } + if(parentId!=null&parentId!=0){ + return true; + } + return false; + } + + + /** + * 校验叶子节点有下级不得更改为叶子节点 + * @param parent + * @param newIsLeaf + * @return + */ + @ResponseBody + @RequestMapping(value = "ajaxLeafChange") + public boolean ajaxLeafChange(Integer parent,Integer newIsLeaf){ + if(parent==null){ + return true; + } + List list = specificServiceCfgService.getChildrenById(parent); + if(list==null||list.size()>0){ + return true; + }else{ + if(newIsLeaf==0){ + return true; + } + } + return false; + } + +} diff --git a/src/main/java/com/nis/web/controller/specific/SpecificServiceHostCfgController.java b/src/main/java/com/nis/web/controller/specific/SpecificServiceHostCfgController.java new file mode 100644 index 000000000..875880ed5 --- /dev/null +++ b/src/main/java/com/nis/web/controller/specific/SpecificServiceHostCfgController.java @@ -0,0 +1,130 @@ +package com.nis.web.controller.specific; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +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.bind.annotation.RequestParam; +import org.springframework.web.servlet.mvc.support.RedirectAttributes; + +import com.google.common.collect.Lists; +import com.nis.domain.Page; +import com.nis.domain.specific.SpecificServiceHostCfg; +import com.nis.util.StringUtil; +import com.nis.web.controller.BaseController; + +@Controller +@RequestMapping(value = "${adminPath}/specific/specificServiceHostCfg") +public class SpecificServiceHostCfgController extends BaseController { + + + @ModelAttribute + public SpecificServiceHostCfg get(@RequestParam(required=false) Integer hostId) { + if (!StringUtil.isEmpty(hostId)){ + return specificServiceHostCfgService.getDictByHostId(hostId); + }else{ + return new SpecificServiceHostCfg(); + } + } + + /** + * 分页查询 + * @param specificServiceHostCfg + * @param request + * @param response + * @param model + * @return + */ + @RequiresPermissions("sys:dict:view") + @RequestMapping(value = "list") + public String list(SpecificServiceHostCfg specificServiceHostCfg, HttpServletRequest request, HttpServletResponse response, + Model model) { + + //查出分页数据 + Page page = specificServiceHostCfgService.findSpecHostList(new Page(request, response), specificServiceHostCfg); + model.addAttribute("page", page); + //查出所有 + List list = specificServiceHostCfgService.getAll(); + List listSpecServiceId = Lists.newArrayList(); + List listSrcIp = Lists.newArrayList(); + List listDstIp = Lists.newArrayList(); + for(SpecificServiceHostCfg ssh:list){ + if(ssh!=null&ssh.getSpecServiceId()!=null){ + listSpecServiceId.add(ssh.getSpecServiceId()); + } + if(ssh!=null&ssh.getSrcIp()!=null){ + listSrcIp.add(ssh.getSrcIp()); + } + if(ssh!=null&ssh.getDstIp()!=null){ + listDstIp.add(ssh.getDstIp()); + } + } + model.addAttribute("listSpecServiceId", listSpecServiceId); + model.addAttribute("listSrcIp", listSrcIp); + model.addAttribute("listDstIp", listDstIp); + return "/specific/specificServiceHostCfgList"; + } + + /** + * 进入查看、修改或新增页面 + * @param specificServiceHostCfg + * @param request + * @param response + * @param model + * @return + */ + @RequiresPermissions("sys:dict:view") + @RequestMapping(value = "form") + public String form(SpecificServiceHostCfg specificServiceHostCfg, HttpServletRequest request, HttpServletResponse response, Model model) { + + return "/specific/specificServiceHostCfgForm"; + } + + /** + * 新增或修改 + * @param specificServiceHostCfg + * @param model + * @param redirectAttributes + * @param mulitId + * @return + */ + @RequestMapping(value = "saveOrUpdate") + public String saveOrUpdate(SpecificServiceHostCfg specificServiceHostCfg,Model model,RedirectAttributes redirectAttributes){ + try { + specificServiceHostCfgService.saveOrUpdate(specificServiceHostCfg); + addMessage(redirectAttributes, "保存成功"); + } catch (Exception e) { + e.printStackTrace(); + addMessage(redirectAttributes, "保存失败!"); + } + return "redirect:"+adminPath+"/specific/specificServiceHostCfgList"; + } + /** + * 删除 + * @param specificServiceHostCfg + * @param redirectAttributes + * @param mulitId + * @return + */ + @RequestMapping(value="delete") + public String delete(SpecificServiceHostCfg specificServiceHostCfg, RedirectAttributes redirectAttributes, String mulitId){ + try{ + specificServiceHostCfgService.delete(mulitId); + addMessage(redirectAttributes,"删除成功"); + }catch (Exception e){ + e.printStackTrace(); + addMessage(redirectAttributes,"删除失败"); + } + + return "redirect:"+adminPath+"/specific/specificServiceHostCfg/list"; + } + +} diff --git a/src/main/java/com/nis/web/dao/specific/SpecificServiceCfgDao.java b/src/main/java/com/nis/web/dao/specific/SpecificServiceCfgDao.java new file mode 100644 index 000000000..a695d1f61 --- /dev/null +++ b/src/main/java/com/nis/web/dao/specific/SpecificServiceCfgDao.java @@ -0,0 +1,46 @@ +package com.nis.web.dao.specific; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; + +import com.nis.domain.specific.SpecificServiceCfg; +import com.nis.web.dao.CrudDao; +import com.nis.web.dao.MyBatisDao; + +@MyBatisDao +public interface SpecificServiceCfgDao extends CrudDao { + + /** + * 根据id查出对象 + * @param specServiceId + * @return + */ + SpecificServiceCfg getBySpecServiceId(Integer specServiceId); + /** + * 查询所有符合条件顶层分页列表 + * @param specificServiceCfg + */ + List findTopPage(SpecificServiceCfg specificServiceCfg); + /** + * 查询所有符合条件的数据 + * @param specificServiceCfg + * @return + */ + List findAllSpecificServiceCfg(SpecificServiceCfg specificServiceCfg); + /** + * 修改配置信息 + * @param specificServiceCfg + * @param oldId + */ + void update(@Param("specificServiceCfg")SpecificServiceCfg specificServiceCfg, @Param("oldId")Integer oldId); + /** + * 根据specServiceId查询所有下级 + * @param specServiceId + * @return + */ + List getChildrenById(Integer specServiceId); + + + +} \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/specific/SpecificServiceCfgDao.xml b/src/main/java/com/nis/web/dao/specific/SpecificServiceCfgDao.xml new file mode 100644 index 000000000..7a65c3baa --- /dev/null +++ b/src/main/java/com/nis/web/dao/specific/SpecificServiceCfgDao.xml @@ -0,0 +1,142 @@ + + + + + + + + + + + + + + + + + + + + s.spec_service_id AS specServiceId, + s.spec_service_name AS specServiceName, + s.spec_service_desc AS specServiceDesc, + s.is_valid AS isValid, + s.op_time AS opTime, + s.parent_id AS "parent.specServiceId", + s.is_leaf AS isLeaf, + s.group_id AS groupId + + + + + + + + + + + + + + + + insert into specific_service_cfg (spec_service_id,spec_service_name,spec_service_desc,is_valid, op_time, parent_id,is_leaf,group_id) + values(#{specServiceId},#{specServiceName},#{specServiceDesc},#{isValid},#{opTime},#{parent.specServiceId},#{isLeaf},#{groupId}) + + + + + UPDATE specific_service_cfg s SET + s.spec_service_id = #{specificServiceCfg.specServiceId}, + s.spec_service_name = #{specificServiceCfg.specServiceName}, + s.spec_service_desc = #{specificServiceCfg.specServiceDesc}, + s.is_valid = #{specificServiceCfg.isValid}, + s.op_time = #{specificServiceCfg.opTime}, + s.parent_id = #{specificServiceCfg.parent.specServiceId}, + s.is_leaf = #{specificServiceCfg.isLeaf}, + s.group_id = #{specificServiceCfg.groupId} + WHERE s.spec_service_id = #{oldId} + + + + + UPDATE specific_service_cfg s set s.is_valid = #{isValid} where s.spec_service_id = #{specServiceId} + + + + \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/specific/SpecificServiceHostCfgDao.java b/src/main/java/com/nis/web/dao/specific/SpecificServiceHostCfgDao.java new file mode 100644 index 000000000..623f610a2 --- /dev/null +++ b/src/main/java/com/nis/web/dao/specific/SpecificServiceHostCfgDao.java @@ -0,0 +1,41 @@ +package com.nis.web.dao.specific; + +import java.util.List; + +import com.nis.domain.specific.SpecificServiceHostCfg; +import com.nis.web.dao.CrudDao; +import com.nis.web.dao.MyBatisDao; + + +@MyBatisDao +public interface SpecificServiceHostCfgDao extends CrudDao { + + /** + * 根据主键查询数据对象 + * @param hostId + * @return + */ + SpecificServiceHostCfg getByHostId(Integer hostId); + + /** + * 查询分页 + * @param specificServiceHostCfg + * @return + */ + List findSpecHostList(SpecificServiceHostCfg specificServiceHostCfg); + + /** + * 查出所有 + * @return + */ + List getAll(); + + /** + * 删除 + * @param hostId + */ + void delete(Integer hostId); + + + +} \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/specific/SpecificServiceHostCfgDao.xml b/src/main/java/com/nis/web/dao/specific/SpecificServiceHostCfgDao.xml new file mode 100644 index 000000000..eb6d2a85f --- /dev/null +++ b/src/main/java/com/nis/web/dao/specific/SpecificServiceHostCfgDao.xml @@ -0,0 +1,157 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + s.host_id AS hostId, + s.spec_service_id AS specServiceId, + s.src_ip AS srcIp, + s.src_ip_mask AS srcIpMask, + s.src_port AS srcPort, + s.src_port_mask AS srcPortMask, + s.dst_ip AS dstIp, + s.dst_ip_mask AS dstIpMask, + s.dst_port AS dstPort, + s.dst_port_mask AS dstPortMask, + s.direction AS direction, + s.protocol AS protocol, + s.is_valid AS isValid, + s.is_audit AS isAudit, + s.creator_id AS "creator.id", + s.create_time AS createTime, + s.editor_id AS "editor.id", + s.edit_time AS editTime, + s.auditor_id AS "auditor.id", + s.audit_time AS auditTime + + + + + + + + + + + + + + + insert into specific_service_host_cfg (spec_service_id,src_ip,src_ip_mask,src_port,src_port_mask,dst_ip,dst_ip_mask,dst_port,dst_port_mask,direction,protocol,is_valid,is_audit,creator_id,create_time,editor_id,edit_time,auditor_id,audit_time) + values(#{specServiceId},#{srcIp},#{srcIpMask},#{srcPort},#{srcPortMask},#{dstIp},#{dstIpMask},#{dstPort},#{dstPortMask},#{direction},#{protocol},#{isValid},#{isAudit},#{creator.id},#{createTime},#{editor.id},#{editTime},#{auditor.id},#{auditTime}) + + + + update specific_service_host_cfg s set + s.spec_service_id = #{specServiceId}, + s.src_ip = #{srcIp}, + s.src_ip_mask = #{srcIpMask}, + s.src_port = #{srcPort}, + s.src_port_mask = #{srcPortMask}, + s.dst_ip = #{dstIp}, + s.dst_ip_mask = #{dstIpMask}, + s.dst_port = #{dstPort}, + s.dst_port_mask = #{dstPortMask}, + s.direction = #{direction}, + s.protocol = #{protocol}, + s.is_valid = #{isValid}, + s.is_audit = #{isAudit}, + s.creator_id = #{creator.id}, + s.create_time = #{createTime}, + s.editor_id = #{editor.id}, + s.edit_time = #{editTime}, + s.auditor_id = #{auditor.id}, + s.audit_time = #{auditTime} + where s.host_id = #{hostId} + + + + update specific_service_host_cfg s set + s.is_valid = 0 + where s.host_id = #{hostId} + + + + \ No newline at end of file diff --git a/src/main/java/com/nis/web/service/specific/SpecificServiceCfgService.java b/src/main/java/com/nis/web/service/specific/SpecificServiceCfgService.java new file mode 100644 index 000000000..31027b513 --- /dev/null +++ b/src/main/java/com/nis/web/service/specific/SpecificServiceCfgService.java @@ -0,0 +1,119 @@ +package com.nis.web.service.specific; + +import java.util.Date; +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import com.beust.jcommander.internal.Lists; +import com.nis.domain.Page; +import com.nis.domain.specific.SpecificServiceCfg; +import com.nis.util.StringUtil; +import com.nis.web.dao.specific.SpecificServiceCfgDao; +import com.nis.web.service.BaseService; + +@Service +public class SpecificServiceCfgService extends BaseService{ + + @Autowired + private SpecificServiceCfgDao specificServiceCfgDao; + + /** + * 根据id查询对象 + * @param specServiceId + * @return + */ + public SpecificServiceCfg getBySpecServiceId(Integer specServiceId) { + return specificServiceCfgDao.getBySpecServiceId(specServiceId); + } + /** + * 查询所有符合条件的顶层分页 + * @param page + * @param specificServiceCfg + * @return + */ + public Page findTopPage(Page page, SpecificServiceCfg specificServiceCfg){ + // 设置分页参数 + specificServiceCfg.setPage(page); + // 执行分页查询 + List list = Lists.newArrayList(); + list = specificServiceCfgDao.findTopPage(specificServiceCfg); + SpecificServiceCfg ss = new SpecificServiceCfg(); + ss.setSpecServiceId(0); + for(SpecificServiceCfg ssc:list){ + ssc.setParent(ss); + } + page.setList(list); + return page; + } + /** + * 查询所有符合条件的数据 + * @param specificServiceCfg + * @return + */ + public List findAllSpecificServiceCfg(SpecificServiceCfg specificServiceCfg) { + return specificServiceCfgDao.findAllSpecificServiceCfg(specificServiceCfg); + } + /** + * 保存或修改 + * @param specificServiceCfg + */ + public void saveOrUpdate(SpecificServiceCfg specificServiceCfg, Integer oldId) { + if(oldId==null){//新增 + specificServiceCfg.setIsValid(1); + specificServiceCfg.setOpTime(new Date()); + specificServiceCfgDao.insert(specificServiceCfg); + }else{//修改 + specificServiceCfg.setOpTime(new Date()); + //修改id则将其子类的parent_id一并修改 + if(oldId!=specificServiceCfg.getSpecServiceId()){ + //找出所有子类 + List list = specificServiceCfgDao.getChildrenById(oldId); + SpecificServiceCfg se =new SpecificServiceCfg(); + se.setSpecServiceId(specificServiceCfg.getSpecServiceId()); + for(SpecificServiceCfg ss:list){ + if(ss!=null){ + ss.setParent(se); + specificServiceCfgDao.update(ss,ss.getSpecServiceId()); + } + } + } + specificServiceCfgDao.update(specificServiceCfg,oldId); + } + } + /** + * 删除 + * @param specificServiceCfg + */ + public void delete(String mulitId) { + String[] ids = mulitId.split(","); + for(String id:ids){ + if (!id.equals("")) { + SpecificServiceCfg specificServiceCfg = specificServiceCfgDao.getBySpecServiceId(Integer.valueOf(id)); + List list = Lists.newArrayList(); + //找出所有下级 + if(specificServiceCfg!=null){ + SpecificServiceCfg.sortList(list, specificServiceCfgDao.findAllSpecificServiceCfg(new SpecificServiceCfg()), specificServiceCfg.getSpecServiceId(), true); + list.add(specificServiceCfg); + for(SpecificServiceCfg ss:list){ + ss.setIsValid(0); + specificServiceCfgDao.delete(ss); + } + } + } + } + } + + /** + * 根据specServiceId查询所有下级 + * @param specServiceId + * @return + */ + public List getChildrenById(Integer specServiceId) { + return specificServiceCfgDao.getChildrenById(specServiceId); + } + + + +} diff --git a/src/main/java/com/nis/web/service/specific/SpecificServiceHostCfgService.java b/src/main/java/com/nis/web/service/specific/SpecificServiceHostCfgService.java new file mode 100644 index 000000000..32b1b405d --- /dev/null +++ b/src/main/java/com/nis/web/service/specific/SpecificServiceHostCfgService.java @@ -0,0 +1,96 @@ +package com.nis.web.service.specific; + +import java.util.Date; +import java.util.List; + +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import com.nis.domain.Page; +import com.nis.domain.SysUser; +import com.nis.domain.specific.SpecificServiceHostCfg; +import com.nis.web.dao.specific.SpecificServiceHostCfgDao; +import com.nis.web.security.UserUtils; +import com.nis.web.service.BaseService; + +@Service +public class SpecificServiceHostCfgService extends BaseService{ + + @Autowired + private SpecificServiceHostCfgDao specificServiceHostCfgDao; + + /** + * 根据主键查询数据对象 + * @param hostId + * @return + */ + public SpecificServiceHostCfg getDictByHostId(Integer hostId) { + return specificServiceHostCfgDao.getByHostId(hostId); + } + + /** + * 查出分页 + * @param page + * @param specificServiceHostCfg + * @return + */ + public Page findSpecHostList(Page page, + SpecificServiceHostCfg specificServiceHostCfg) { + specificServiceHostCfg.setPage(page); + page.setList(specificServiceHostCfgDao.findSpecHostList(specificServiceHostCfg)); + return page; + } + + /** + * 新增或修改 + * @param specificServiceHostCfg + */ + public void saveOrUpdate(SpecificServiceHostCfg specificServiceHostCfg) { + SysUser user = UserUtils.getUser(); + Date date = new Date(); + if(specificServiceHostCfg.getHostId()==null){//新增 + specificServiceHostCfg.setIsValid(1); + specificServiceHostCfg.setCreator(user); + specificServiceHostCfg.setCreateTime(date); + specificServiceHostCfg.setEditor(user); + specificServiceHostCfg.setEditTime(date); + specificServiceHostCfgDao.insert(specificServiceHostCfg); + }else{//修改 + //是否进行了审核操作 + SpecificServiceHostCfg ssh = specificServiceHostCfgDao.getByHostId(specificServiceHostCfg.getHostId()); + if(ssh.getIsAudit()!=specificServiceHostCfg.getIsAudit()){ + specificServiceHostCfg.setAuditor(user); + specificServiceHostCfg.setAuditTime(date); + } + specificServiceHostCfg.setEditor(user); + specificServiceHostCfg.setEditTime(date); + specificServiceHostCfgDao.update(specificServiceHostCfg); + } + } + + /** + * 查出所有 + * @return + */ + public List getAll() { + + return specificServiceHostCfgDao.getAll(); + } + + /** + * 删除 + * @param mulitId + */ + public void delete(String mulitId) { + String[] ids = mulitId.split(","); + for(String hostId:ids){ + if (!StringUtils.isEmpty(hostId)) { + specificServiceHostCfgDao.delete(Integer.valueOf(hostId)); + } + } + } + + + +} diff --git a/src/main/resources/messages/message_en.properties b/src/main/resources/messages/message_en.properties index 4b28c1942..151a00e5e 100644 --- a/src/main/resources/messages/message_en.properties +++ b/src/main/resources/messages/message_en.properties @@ -64,7 +64,7 @@ website_keyword_control=website keyword control mail_control=mail control recipient_control=recipient control sender_control=sender control -theme_control=theme control +subject_control=subject control mail_keyword_control=mail keyword control mail_attachment_name_control=mail attachment name control mail_attachment_content_control=mail attachment content control @@ -95,6 +95,8 @@ log_search=log search sysService_manage=system service manage service_manage=service type manage system_service_manage=system service type manage +specific_service_cfg=specific service cfg +specific_service_host_cfg=specific service host cfg #============menu end====================== #============yewu begin====================== @@ -172,6 +174,7 @@ has_approved=It has been approved and can not be operated on ! hasnot_approved=It has not been approved and can not be operated on ! check_one=choose one please ! one_more=please choose at least one ! +custom_columns=custom columns #==========message end===================== #==========yewuliexingguanli begin===================== diff --git a/src/main/resources/messages/message_ru.properties b/src/main/resources/messages/message_ru.properties index 4b28c1942..bfc2ce39a 100644 --- a/src/main/resources/messages/message_ru.properties +++ b/src/main/resources/messages/message_ru.properties @@ -64,7 +64,7 @@ website_keyword_control=website keyword control mail_control=mail control recipient_control=recipient control sender_control=sender control -theme_control=theme control +subject_control=subject control mail_keyword_control=mail keyword control mail_attachment_name_control=mail attachment name control mail_attachment_content_control=mail attachment content control @@ -95,6 +95,8 @@ log_search=log search sysService_manage=system service manage service_manage=service type manage system_service_manage=system service type manage +specific_service_cfg=specific service cfg +specific_service_host_cfg=specific service host cfg #============menu end====================== #============yewu begin====================== diff --git a/src/main/resources/messages/message_zh_CN.properties b/src/main/resources/messages/message_zh_CN.properties index 435b04547..aff485af6 100644 --- a/src/main/resources/messages/message_zh_CN.properties +++ b/src/main/resources/messages/message_zh_CN.properties @@ -62,7 +62,7 @@ website_keyword_control=\u7f51\u9875\u5185\u5bb9\u5173\u952e\u5b57\u7ba1\u63a7 mail_control=\u90ae\u4ef6\u7ba1\u63a7 recipient_control=\u6536\u4ef6\u4eba\u7ba1\u63a7 sender_control=\u53d1\u4ef6\u4eba\u7ba1\u63a7 -theme_control=\u4e3b\u9898\u7ba1\u63a7 +subject_control=\u4e3b\u9898\u7ba1\u63a7 mail_keyword_control=\u90ae\u4ef6\u5185\u5bb9\u5173\u952e\u5b57\u7ba1\u63a7 mail_attachment_name_control=\u90ae\u4ef6\u9644\u4ef6\u540d\u5173\u952e\u5b57\u7ba1\u63a7 mail_attachment_content_control=\u90ae\u4ef6\u9644\u4ef6\u5185\u5bb9\u5173\u952e\u5b57\u7ba1\u63a7 @@ -95,6 +95,8 @@ text_monitor=\u6587\u672c\u5e38\u89c4\u76d1\u6d4b sysService_manage=\u7cfb\u7edf\u4e1a\u52a1\u7ba1\u7406 service_manage=\u4e1a\u52a1\u7c7b\u578b\u7ba1\u7406 system_service_manage=\u7cfb\u7edf\u4e1a\u52a1\u7c7b\u578b\u7ba1\u7406 +specific_service_cfg=\u7279\u5b9a\u670d\u52a1\u7ba1\u7406 +specific_service_host_cfg=\u7279\u5b9a\u670d\u52a1\u670d\u52a1\u5668IP\u7ba1\u7406 #==========menu end===================== #==========yewu zidian begin===================== @@ -106,7 +108,7 @@ desc=\u63cf\u8ff0\u4fe1\u606f parent_id=\u7236ID is_leaf=\u662f\u5426\u53f6\u5b50\u8282\u70b9 is_valid=\u6709\u6548\u6807\u5fd7 -create_time=\u914d\u7f6e\u65f6\u95f4 +create_time=\u521b\u5efa\u65f6\u95f4 edit_time=\u4fee\u6539\u65f6\u95f4 superior_config=\u4e0a\u7ea7\u914d\u7f6e config_content=\u914d\u7f6e\u5185\u5bb9 @@ -171,6 +173,7 @@ has_approved=\u5df2\u7ecf\u901a\u8fc7\u5ba1\u6838\uff0c\u65e0\u6cd5\u8fdb\u884c\ hasnot_approved=\u672a\u901a\u8fc7\u5ba1\u6838\uff0c\u65e0\u6cd5\u8fdb\u884c\u8be5\u64cd\u4f5c\uff01 check_one=\u8bf7\u9009\u62e9\u4e00\u6761\u6570\u636e\uff01 one_more=\u8bf7\u81f3\u5c11\u9009\u62e9\u4e00\u6761\u6570\u636e! +custom_columns=\u81ea\u5b9a\u4e49\u5217\u5b57\u6bb5 #==========message end===================== #==========yewuliexingguanli begin===================== diff --git a/src/main/webapp/WEB-INF/tlds/fns.tld b/src/main/webapp/WEB-INF/tlds/fns.tld index be9bfd704..d94a1c3b6 100644 --- a/src/main/webapp/WEB-INF/tlds/fns.tld +++ b/src/main/webapp/WEB-INF/tlds/fns.tld @@ -311,6 +311,14 @@ ${fns:getSysDictInfoById(id)} + + 根据id获取特定服务配置 + getBySpecServiceId + com.nis.util.ConfigDictUtils + java.lang.String getBySpecServiceId(java.lang.Integer) + ${fns:getBySpecServiceId(id)} + + 计算序号 diff --git a/src/main/webapp/WEB-INF/views/basics/serviceDictInfoSearchList.jsp b/src/main/webapp/WEB-INF/views/basics/serviceDictInfoSearchList.jsp index 38c628ca2..7e6c22db3 100644 --- a/src/main/webapp/WEB-INF/views/basics/serviceDictInfoSearchList.jsp +++ b/src/main/webapp/WEB-INF/views/basics/serviceDictInfoSearchList.jsp @@ -300,7 +300,7 @@
  • -
  • +
  • diff --git a/src/main/webapp/WEB-INF/views/basics/serviceDictList.jsp b/src/main/webapp/WEB-INF/views/basics/serviceDictList.jsp index 4c71d4a1a..cdae694f7 100644 --- a/src/main/webapp/WEB-INF/views/basics/serviceDictList.jsp +++ b/src/main/webapp/WEB-INF/views/basics/serviceDictList.jsp @@ -293,7 +293,7 @@
  • -
  • +
  • diff --git a/src/main/webapp/WEB-INF/views/basics/sysDictInfoSearchList.jsp b/src/main/webapp/WEB-INF/views/basics/sysDictInfoSearchList.jsp index 34d28d6d7..e0aa9b040 100644 --- a/src/main/webapp/WEB-INF/views/basics/sysDictInfoSearchList.jsp +++ b/src/main/webapp/WEB-INF/views/basics/sysDictInfoSearchList.jsp @@ -296,7 +296,7 @@
  • -
  • +
  • diff --git a/src/main/webapp/WEB-INF/views/basics/sysDictList.jsp b/src/main/webapp/WEB-INF/views/basics/sysDictList.jsp index 4b852b0a8..e2191953d 100644 --- a/src/main/webapp/WEB-INF/views/basics/sysDictList.jsp +++ b/src/main/webapp/WEB-INF/views/basics/sysDictList.jsp @@ -296,7 +296,7 @@
  • -
  • +
  • diff --git a/src/main/webapp/WEB-INF/views/specific/specificServiceCfgForm.jsp b/src/main/webapp/WEB-INF/views/specific/specificServiceCfgForm.jsp new file mode 100644 index 000000000..164871a6f --- /dev/null +++ b/src/main/webapp/WEB-INF/views/specific/specificServiceCfgForm.jsp @@ -0,0 +1,203 @@ +<%@ page contentType="text/html;charset=UTF-8" %> +<%@ include file="/WEB-INF/include/taglib.jsp"%> + + + + + + + + + + +
    + + + + +

    + +

    + +
    +
    +
    +
    +
    + ${not empty specificServiceCfg.specServiceId?'修改':'添加'}
    +
    + +
    +
    + +
    + + +
    + + + + + + +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + + + +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + + +
    +
    +
    +
    + +
    + +
    + +
    +
    +
    +
    + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/specific/specificServiceCfgInfo.jsp b/src/main/webapp/WEB-INF/views/specific/specificServiceCfgInfo.jsp new file mode 100644 index 000000000..1681974f4 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/specific/specificServiceCfgInfo.jsp @@ -0,0 +1,97 @@ +<%@ page contentType="text/html;charset=UTF-8" %> +<%@ include file="/WEB-INF/include/taglib.jsp"%> + + + + + + + + + +
    + + + + +

    + +

    + +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    + + +
    + + +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    + +
    +
    +
    +
    + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/specific/specificServiceCfgList.jsp b/src/main/webapp/WEB-INF/views/specific/specificServiceCfgList.jsp new file mode 100644 index 000000000..723f64b3f --- /dev/null +++ b/src/main/webapp/WEB-INF/views/specific/specificServiceCfgList.jsp @@ -0,0 +1,262 @@ +<%@ page contentType="text/html;charset=UTF-8"%> +<%@ include file="/WEB-INF/include/taglib.jsp"%> + + + + + + + + + + +
    + + +

    + 特定服务信息 + +

    + + +
    +
    +
    + +
    + +
    + + + + + + + + +
    +
    +
    +
    + +
    + +
    + +
    + +
    +
    + +
    + +
    + +
    + + + + + + +
    +
    + + + + + + +
    +
    + +
    +
    + +
    +
    + " onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> +
    +
    + +
    +
    + " onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> +
    +
    +
    + + +
    + +
    + + +
    + +
    +
    + + + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    序号协议ID协议名称协议描述maat端配置分组id操作时间
    ${specificServiceCfg.showSequence}${specificServiceCfg.specServiceId}${specificServiceCfg.specServiceName}${fns:abbr(specificServiceCfg.specServiceDesc,15)}${specificServiceCfg.groupId }${fns:getDictLabel("SYS_YES_NO",specificServiceCfg.isLeaf,"0")} +
    + + +
    +
    +
    ${page}
    +
    +
    +
    +
    +
    + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/specific/specificServiceHostCfgForm.jsp b/src/main/webapp/WEB-INF/views/specific/specificServiceHostCfgForm.jsp new file mode 100644 index 000000000..03596f9ca --- /dev/null +++ b/src/main/webapp/WEB-INF/views/specific/specificServiceHostCfgForm.jsp @@ -0,0 +1,383 @@ +<%@ page contentType="text/html;charset=UTF-8"%> +<%@ include file="/WEB-INF/include/taglib.jsp"%> + + + + + + + + + + +
    + + + + +

    + +

    + +
    +
    +
    +
    +
    + + ${not empty specificServiceHostCfg.hostId?'修改':'添加'} + + + +
    +
    +
    + +
    + +
    + + + + + +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + +
    + + + ${dict.itemValue} + + +
    +
    +
    +
    + +
    +
    +
    + +
    + + -请选择协议类型- + + ${dict.itemValue} + + +
    +
    +
    +
    +
    + +
    + + + ${fns:getDictLabel("SPEC_AUDIT","0","0")} + + +
    +
    +
    +
    + +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    + +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    + +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    + + <%--
    +
    +
    + +
    + +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    + +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    + +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    --%> + + + + + +
    +
    +
    + + +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/specific/specificServiceHostCfgList.jsp b/src/main/webapp/WEB-INF/views/specific/specificServiceHostCfgList.jsp new file mode 100644 index 000000000..f75ba66cb --- /dev/null +++ b/src/main/webapp/WEB-INF/views/specific/specificServiceHostCfgList.jsp @@ -0,0 +1,356 @@ +<%@ page contentType="text/html;charset=UTF-8"%> +<%@ include file="/WEB-INF/include/taglib.jsp"%> + + +特定服务服务器IP管理 + + + + + + + + + + + + + + + + + + + + + +
    + + +

    + 特定服务服务器IP管理 + +

    + + +
    +
    +
    + +
    + +
    + + + + + + + + +
    +
    + + + + ${dict.itemValue} + + +
    +
    + 协议ID + + + ${specServiceId} + + +
    +
    + 源Ip地址 + + + ${srcIp} + + +
    +
    + 目的Ip地址 + + + ${dstIp} + + +
    +
    + + -请选择方向- + + ${dict.itemValue} + + +
    +
    + + -请选择协议- + + ${dict.itemValue} + + +
    +
    + +
    +
    + +
    + + + +
    + + +
    + + +
    + + + +
    + + +
    + + + + + + +
    +
    + +
    +
    + +
    +
    + " onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> +
    +
    + +
    +
    + " onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> +
    + +
    + +
    +
    + +
    +
    + " onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> +
    +
    + +
    +
    + " onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> +
    +
    + +
    +
    + +
    +
    + " onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> +
    +
    + +
    +
    + " onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> +
    +
    +
    + + +
    + +
    + + +
    + +
    +
    + + + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    协议id源IP地址源地址掩码源端口源端口掩码目的IP地址目的地址掩码目的端口目的端口掩码方向协议是否审核创建人员配置时间修改人员修改时间审核人员审核时间
    ${specificServiceHostCfg.specServiceId }${specificServiceHostCfg.srcIp }${specificServiceHostCfg.srcIpMask }${specificServiceHostCfg.srcPort }${specificServiceHostCfg.srcPortMask }${specificServiceHostCfg.dstIp }${specificServiceHostCfg.dstIpMask }${specificServiceHostCfg.dstPort }${specificServiceHostCfg.dstPortMask }${fns:getDictLabel("SPEC_DIRECTION",specificServiceHostCfg.direction,"0")}${fns:getDictLabel("SPEC_PROTOCOL",specificServiceHostCfg.protocol,"0")}${fns:getDictLabel("SPEC_AUDIT",specificServiceHostCfg.isAudit,"0")}${fns:getUserById(specificServiceHostCfg.creator.id).name}${fns:getUserById(specificServiceHostCfg.editor.id).name}${fns:getUserById(specificServiceHostCfg.auditor.id==null?0:specificServiceHostCfg.auditor.id).name}
    +
    ${page}
    +
    +
    +
    +
    +
    + +