package com.wgcloud.controller; import com.github.pagehelper.PageInfo; import com.wgcloud.entity.OspfInfo; import com.wgcloud.entity.OspfMonitor; import com.wgcloud.service.LogInfoService; import com.wgcloud.service.OspfInfoService; import com.wgcloud.service.OspfMonitorService; import com.wgcloud.util.PageUtil; import com.wgcloud.util.TokenUtils; import com.wgcloud.util.staticvar.StaticKeys; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.mvc.support.RedirectAttributes; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.util.HashMap; import java.util.Map; /** * @version v3.3 * @ClassName:OspfInfoController.java * @author: http://www.wgstart.com * @date: 2021年1月16日 * @Description: 系统生成的日志管理 * @Copyright: 2019-2021 wgcloud. All rights reserved. */ @Controller @RequestMapping("/ospfMonitor") public class OspfMonitorController { private static final Logger logger = LoggerFactory.getLogger(OspfMonitorController.class); @Resource private OspfMonitorService monitorService; @Resource private LogInfoService logInfoService; /** * 根据条件查询日志信息列表 * * @param model * @param request * @return */ @RequestMapping(value = "list") public String OspfInfoList(OspfMonitor OspfInfo, Model model, HttpServletRequest request) { Map params = new HashMap(); try { StringBuffer url = new StringBuffer(); String hostname = null; if (!StringUtils.isEmpty(OspfInfo.getHostname())) { hostname = OspfInfo.getHostname(); params.put("hostname", hostname.trim()); url.append("&hostname=").append(hostname); } if (!StringUtils.isEmpty(OspfInfo.getState())) { params.put("state", OspfInfo.getState()); url.append("&state=").append(OspfInfo.getState()); } PageInfo pageInfo = monitorService.selectByParams(params, OspfInfo.getPage(), OspfInfo.getPageSize()); PageUtil.initPageNumber(pageInfo, model); model.addAttribute("pageUrl", "/ospfMonitor/list?1=1" + url.toString()); model.addAttribute("page", pageInfo); model.addAttribute("ospfInfo", OspfInfo); } catch (Exception e) { logger.error("查询日志列表错误", e); } return "ospfMonitor/list"; } /** * 查看日志信息 * * @param model * @param request * @return */ @RequestMapping(value = "view") public String viewOspfInfo(Model model, HttpServletRequest request) { String id = request.getParameter("id"); OspfMonitor OspfInfo; try { OspfInfo = monitorService.selectById(id); model.addAttribute("ospfMonitor", OspfInfo); } catch (Exception e) { logger.error("查看日志信息错误", e); } return "ospfMonitor/view"; } /** * 保存ospf * * @param ospfInfo * @param model * @param request * @return */ @RequestMapping(value = "save") public String saveOspfInfo(OspfMonitor ospfInfo, Model model, HttpServletRequest request) { String errorMsg = "保存ospf监测错误"; try { if (StringUtils.isEmpty(ospfInfo.getId())) { monitorService.save(ospfInfo); } else { monitorService.updateById(ospfInfo); } } catch (Exception e) { logger.error(errorMsg, e); } return "redirect:/ospfMonitor/list"; } @RequestMapping(value = "edit") public String edit(Model model, HttpServletRequest request) { String errorMsg = "编辑ospf监测设备"; String id = request.getParameter("id"); OspfMonitor ospfInfo = new OspfMonitor(); try { if (StringUtils.isEmpty(id)) { //添加页面默认值,snmp端口为161,团体名称为public model.addAttribute("ospfMonitor", ospfInfo); return "ospfMonitor/add"; } ospfInfo = monitorService.selectById(id); model.addAttribute("ospfMonitor", ospfInfo); } catch (Exception e) { logger.error(errorMsg, e); logInfoService.save(errorMsg, e.toString(), StaticKeys.LOG_XTCZ); } return "ospfMonitor/add"; } @RequestMapping(value = "del") public String delete(Model model, HttpServletRequest request, RedirectAttributes redirectAttributes) { String errorMsg = "删除ospf监测设备错误"; OspfMonitor ospfMonitor = new OspfMonitor(); try { if (!StringUtils.isEmpty(request.getParameter("id"))) { String[] ids = request.getParameter("id").split(","); for (String id : ids) { ospfMonitor = monitorService.selectById(id); } monitorService.deleteById(ids); } } catch (Exception e) { logger.error(errorMsg, e); logInfoService.save(errorMsg, e.toString(), StaticKeys.LOG_XTCZ); } return "redirect:/ospfMonitor/list"; } }