package com.javaweb.web.controller.monitor; import java.util.List; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import com.javaweb.common.annotation.Log; import com.javaweb.common.core.controller.BaseController; import com.javaweb.common.core.domain.AjaxResult; import com.javaweb.common.core.page.TableDataInfo; import com.javaweb.common.enums.BusinessType; import com.javaweb.common.utils.poi.ExcelUtil; import com.javaweb.system.domain.SysOperLog; import com.javaweb.system.service.ISysOperLogService; /** * 操作日志记录 * * @author javaweb */ @Controller @RequestMapping("/monitor/operlog") public class SysOperlogController extends BaseController { private String prefix = "monitor/operlog"; @Autowired private ISysOperLogService operLogService; @RequiresPermissions("monitor:operlog:view") @GetMapping() public String operlog() { return prefix + "/operlog"; } @RequiresPermissions("monitor:operlog:list") @PostMapping("/list") @ResponseBody public TableDataInfo list(SysOperLog operLog) { startPage(); List list = operLogService.selectOperLogList(operLog); return getDataTable(list); } @Log(title = "操作日志", businessType = BusinessType.EXPORT) @RequiresPermissions("monitor:operlog:export") @PostMapping("/export") @ResponseBody public AjaxResult export(SysOperLog operLog) { List list = operLogService.selectOperLogList(operLog); ExcelUtil util = new ExcelUtil(SysOperLog.class); return util.exportExcel(list, "操作日志"); } @RequiresPermissions("monitor:operlog:remove") @PostMapping("/remove") @ResponseBody public AjaxResult remove(String ids) { return toAjax(operLogService.deleteOperLogByIds(ids)); } @RequiresPermissions("monitor:operlog:detail") @GetMapping("/detail/{operId}") public String detail(@PathVariable("operId") Long operId, ModelMap mmap) { mmap.put("operLog", operLogService.selectOperLogById(operId)); return prefix + "/detail"; } @Log(title = "操作日志", businessType = BusinessType.CLEAN) @RequiresPermissions("monitor:operlog:remove") @PostMapping("/clean") @ResponseBody public AjaxResult clean() { operLogService.cleanTable("sys_oper_log"); return success(); } }