package com.wgcloud.controller; import com.github.pagehelper.PageInfo; import com.wgcloud.config.CommonConfig; import com.wgcloud.entity.AccountInfo; import com.wgcloud.entity.Equipment; import com.wgcloud.service.AccountInfoService; import com.wgcloud.service.EquipmentService; import com.wgcloud.service.LogInfoService; import com.wgcloud.util.HostUtil; import com.wgcloud.util.PageUtil; 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:EquipmentController.java * @author: http://www.wgstart.com * @date: 2021年1月16日 * @Description: 资产管理 * @Copyright: 2019-2021 wgcloud. All rights reserved. */ @Controller @RequestMapping("/equipment") public class EquipmentController { private static final Logger logger = LoggerFactory.getLogger(EquipmentController.class); @Resource private EquipmentService equipmentService; @Resource private AccountInfoService accountInfoService; @Resource private LogInfoService logInfoService; @Autowired private CommonConfig commonConfig; /** * 根据条件查询设备列表 * * @param model * @param request * @return */ @RequestMapping(value = "list") public String equipmentList(Equipment equipment, Model model, HttpServletRequest request) { Map params = new HashMap(); try { StringBuffer url = new StringBuffer(); String hostname = null; if (!StringUtils.isEmpty(equipment.getName())) { hostname = equipment.getName(); params.put("name", hostname.trim()); url.append("&name=").append(hostname); } if (!StringUtils.isEmpty(equipment.getAccount())) { params.put("account", equipment.getAccount()); url.append("&account=").append(equipment.getAccount()); } //校验是否需要添加过滤用户查询条件 HostUtil.addAccountquery(request, params); PageInfo pageInfo = equipmentService.selectByParams(params, equipment.getPage(), equipment.getPageSize()); PageUtil.initPageNumber(pageInfo, model); //设置用户列表 HostUtil.addAccountListModel(model); model.addAttribute("pageUrl", "/equipment/list?1=1" + url.toString()); model.addAttribute("page", pageInfo); model.addAttribute("equipment", equipment); } catch (Exception e) { logger.error("查询资产信息错误", e); logInfoService.save("查询资产信息错误", e.toString(), StaticKeys.LOG_XTCZ); } return "equipment/list"; } /** * 保存设备信息 * * @param Equipment * @param model * @param request * @return */ @RequestMapping(value = "save") public String saveEquipment(Equipment Equipment, Model model, HttpServletRequest request) { try { if (StringUtils.isEmpty(Equipment.getId())) { AccountInfo accountInfo = HostUtil.getAccountByRequest(request); if (null != accountInfo) { if (!StaticKeys.ROLE_ADMIN.equals(accountInfo.getRole())) { Equipment.setAccount(accountInfo.getAccount()); } } equipmentService.save(Equipment); equipmentService.saveLog(request, StaticKeys.LOG_ADD, Equipment); } else { equipmentService.updateById(Equipment); equipmentService.saveLog(request, StaticKeys.LOG_UPDATE, Equipment); } } catch (Exception e) { logger.error("保存资产错误", e); logInfoService.save("保存资产错误", e.toString(), StaticKeys.LOG_XTCZ); } return "redirect:/equipment/list"; } /** * 添加 * * @param model * @param request * @return */ @RequestMapping(value = "edit") public String edit(Model model, HttpServletRequest request) { String errorMsg = "添加资产"; String id = request.getParameter("id"); Equipment Equipment = new Equipment(); try { if (StringUtils.isEmpty(id)) { model.addAttribute("equipment", Equipment); return "equipment/add"; } Equipment = equipmentService.selectById(id); model.addAttribute("equipment", Equipment); } catch (Exception e) { logger.error(errorMsg, e); logInfoService.save(errorMsg, e.toString(), StaticKeys.LOG_XTCZ); } return "equipment/add"; } /** * 查看该应用统计图 * * @param model * @param request * @return */ @RequestMapping(value = "view") public String viewChart(Model model, HttpServletRequest request) { String errorMsg = "查看资产信息错误"; String id = request.getParameter("id"); Equipment Equipment = new Equipment(); try { Equipment = equipmentService.selectById(id); model.addAttribute("equipment", Equipment); } catch (Exception e) { logger.error(errorMsg, e); logInfoService.save(errorMsg, e.toString(), StaticKeys.LOG_XTCZ); } return "equipment/view"; } /** * 删除设备 * * @param id * @param model * @param request * @param redirectAttributes * @return */ @RequestMapping(value = "del") public String delete(Model model, HttpServletRequest request, RedirectAttributes redirectAttributes) { String errorMsg = "删除资产信息错误"; Equipment Equipment = new Equipment(); try { if (!StringUtils.isEmpty(request.getParameter("id"))) { String[] ids = request.getParameter("id").split(","); for (String id : ids) { Equipment = equipmentService.selectById(id); equipmentService.saveLog(request, StaticKeys.LOG_DEL, Equipment); } equipmentService.deleteById(ids); } } catch (Exception e) { logger.error(errorMsg, e); logInfoService.save(errorMsg, e.toString(), StaticKeys.LOG_XTCZ); } return "redirect:/equipment/list"; } }