| package com.ruoyi.system.controller; | 
|   | 
| import java.util.List; | 
| import javax.servlet.http.HttpServletResponse; | 
|   | 
| import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | 
| import com.ruoyi.common.core.utils.StringUtils; | 
| import com.ruoyi.common.core.web.page.PageInfo; | 
| import com.ruoyi.system.query.SysOperLogQuery; | 
| import io.swagger.annotations.ApiOperation; | 
| import org.springframework.beans.factory.annotation.Autowired; | 
| import org.springframework.web.bind.annotation.DeleteMapping; | 
| 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.RequestBody; | 
| import org.springframework.web.bind.annotation.RequestMapping; | 
| import org.springframework.web.bind.annotation.RestController; | 
| import com.ruoyi.common.core.utils.poi.ExcelUtil; | 
| import com.ruoyi.common.core.web.controller.BaseController; | 
| import com.ruoyi.common.core.web.domain.AjaxResult; | 
| import com.ruoyi.common.log.annotation.Log; | 
| import com.ruoyi.common.log.enums.BusinessType; | 
| import com.ruoyi.common.security.annotation.InnerAuth; | 
| import com.ruoyi.common.security.annotation.RequiresPermissions; | 
| import com.ruoyi.system.api.domain.SysOperLog; | 
| import com.ruoyi.system.service.ISysOperLogService; | 
|   | 
| /** | 
|  * 操作日志记录 | 
|  * | 
|  * @author ruoyi | 
|  */ | 
| @RestController | 
| @RequestMapping("/operlog") | 
| public class SysOperlogController extends BaseController { | 
|     @Autowired | 
|     private ISysOperLogService operLogService; | 
|      | 
|      | 
|     @GetMapping("/list") | 
|     @ApiOperation(value = "获取操作日志列表", tags = {"管理后台-操作日志"}) | 
|     public AjaxResult<PageInfo<SysOperLog>> list(SysOperLogQuery query) { | 
|         PageInfo<SysOperLog> pageInfo = new PageInfo(query.getPageCurr(), query.getPageSize()); | 
|         LambdaQueryWrapper<SysOperLog> wrapper = new LambdaQueryWrapper<>(); | 
|         if(StringUtils.isNotEmpty(query.getOperName())){ | 
|             wrapper.like(SysOperLog::getOperName, query.getOperName()); | 
|         } | 
|         if(StringUtils.isNotEmpty(query.getTitle())){ | 
|             wrapper.like(SysOperLog::getTitle, query.getTitle()); | 
|         } | 
|         if(null != query.getStatus()){ | 
|             wrapper.eq(SysOperLog::getStatus, query.getStatus()); | 
|         } | 
|         if(null != query.getStartTime() && null != query.getEndTime()){ | 
|             wrapper.between(SysOperLog::getOperTime, query.getStartTime(), query.getEndTime()); | 
|         } | 
|         PageInfo<SysOperLog> page = operLogService.page(pageInfo, wrapper); | 
|         return AjaxResult.success(page); | 
|     } | 
|      | 
|      | 
|     @Log(title = "操作日志", businessType = BusinessType.EXPORT) | 
|     @PostMapping("/export") | 
|     public void export(HttpServletResponse response, SysOperLog operLog) { | 
|         List<SysOperLog> list = operLogService.selectOperLogList(operLog); | 
|         ExcelUtil<SysOperLog> util = new ExcelUtil<SysOperLog>(SysOperLog.class); | 
|         util.exportExcel(response, list, "操作日志"); | 
|     } | 
|      | 
|     @Log(title = "操作日志", businessType = BusinessType.DELETE) | 
|     @DeleteMapping("/{operIds}") | 
|     public AjaxResult remove(@PathVariable Long[] operIds) { | 
|         return toAjax(operLogService.deleteOperLogByIds(operIds)); | 
|     } | 
|      | 
|     @Log(title = "操作日志", businessType = BusinessType.CLEAN) | 
|     @DeleteMapping("/clean") | 
|     public AjaxResult clean() { | 
|         operLogService.cleanOperLog(); | 
|         return success(); | 
|     } | 
|      | 
|     @InnerAuth | 
|     @PostMapping | 
|     public AjaxResult add(@RequestBody SysOperLog operLog) { | 
|         return toAjax(operLogService.insertOperlog(operLog)); | 
|     } | 
| } |