package com.wgcloud.controller; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.github.pagehelper.PageInfo; import com.wgcloud.entity.AccountInfo; import com.wgcloud.entity.OspfInfo; import com.wgcloud.entity.OspfMonitor; import com.wgcloud.entity.SnmpInfo; import com.wgcloud.service.LogInfoService; import com.wgcloud.service.OspfInfoService; import com.wgcloud.service.OspfMonitorService; import com.wgcloud.util.HostUtil; import com.wgcloud.util.PageUtil; import com.wgcloud.util.ResDataUtils; 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.snmp4j.mp.SnmpConstants; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.mvc.support.RedirectAttributes; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.util.HashMap; import java.util.List; 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("/ospfInfo") public class OspfInfoController { private static final Logger logger = LoggerFactory.getLogger(OspfInfoController.class); @Resource private OspfInfoService OspfInfoService; @Resource private OspfMonitorService ospfMonitorService; @Resource private LogInfoService logInfoService; @Autowired private TokenUtils tokenUtils; /** * 根据条件查询日志信息列表 * * @param model * @param request * @return */ @RequestMapping(value = "list") public String OspfInfoList(OspfInfo 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()); } if (OspfInfo.getAreaNum() !=null) { params.put("areaNum", OspfInfo.getAreaNum()); url.append("&areaNum=").append(OspfInfo.getAreaNum()); } PageInfo pageInfo = OspfInfoService.selectByParams(params, OspfInfo.getPage(), OspfInfo.getPageSize()); PageUtil.initPageNumber(pageInfo, model); model.addAttribute("pageUrl", "/ospfInfo/list?1=1" + url.toString()); model.addAttribute("page", pageInfo); model.addAttribute("ospfInfo", OspfInfo); } catch (Exception e) { logger.error("查询日志列表错误", e); } return "ospfInfo/list"; } /** * 查看日志信息 * * @param model * @param request * @return */ @RequestMapping(value = "view") public String viewOspfInfo(Model model, HttpServletRequest request) { String id = request.getParameter("id"); OspfInfo OspfInfo; try { OspfInfo = OspfInfoService.selectById(id); model.addAttribute("OspfInfo", OspfInfo); } catch (Exception e) { logger.error("查看日志信息错误", e); } return "ospfInfo/view"; } /** * 保存ospf * * @param ospfInfo * @param model * @param request * @return */ @RequestMapping(value = "save") public String saveOspfInfo(OspfInfo ospfInfo, Model model, HttpServletRequest request) { String errorMsg = "保存ospf监测错误"; try { if (StringUtils.isEmpty(ospfInfo.getId())) { OspfMonitor ospfMonitor = ospfMonitorService.selectById(ospfInfo.getMonitorId()); ospfInfo.setMonitorIp(ospfMonitor.getHostname()); ospfInfo.setMonitorUsername(ospfMonitor.getUsername()); ospfInfo.setMonitorPassword(ospfMonitor.getPassword()); OspfInfoService.save(ospfInfo); } else { OspfMonitor ospfMonitor = ospfMonitorService.selectById(ospfInfo.getMonitorId()); ospfInfo.setMonitorIp(ospfMonitor.getHostname()); ospfInfo.setMonitorUsername(ospfMonitor.getUsername()); ospfInfo.setMonitorPassword(ospfMonitor.getPassword()); OspfInfoService.updateById(ospfInfo); } } catch (Exception e) { logger.error(errorMsg, e); } return "redirect:/ospfInfo/list"; } @RequestMapping(value = "edit") public String edit(Model model, HttpServletRequest request) { String errorMsg = "编辑ospf设备监测"; String id = request.getParameter("id"); OspfInfo ospfInfo = new OspfInfo(); try { if (StringUtils.isEmpty(id)) { ospfInfo.setAreaNum("0"); model.addAttribute("ospfInfo", ospfInfo); List ospfMonitors = ospfMonitorService.selectAllByParams(null); model.addAttribute("monitors",ospfMonitors); return "ospfInfo/add"; } ospfInfo = OspfInfoService.selectById(id); List ospfMonitors = ospfMonitorService.selectAllByParams(null); model.addAttribute("monitors",ospfMonitors); model.addAttribute("ospfInfo", ospfInfo); } catch (Exception e) { logger.error(errorMsg, e); logInfoService.save(errorMsg, e.toString(), StaticKeys.LOG_XTCZ); } return "ospfInfo/add"; } @RequestMapping(value = "del") public String delete(Model model, HttpServletRequest request, RedirectAttributes redirectAttributes) { String errorMsg = "删除ospf设备监测错误"; OspfInfo ospfInfo = new OspfInfo(); try { if (!StringUtils.isEmpty(request.getParameter("id"))) { String[] ids = request.getParameter("id").split(","); for (String id : ids) { ospfInfo = OspfInfoService.selectById(id); } OspfInfoService.deleteById(ids); } } catch (Exception e) { logger.error(errorMsg, e); logInfoService.save(errorMsg, e.toString(), StaticKeys.LOG_XTCZ); } return "redirect:/ospfInfo/list"; } }