|  |  |  | 
|---|
|  |  |  | package com.ruoyi.system.controller; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.Iterator; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | import java.util.Objects; | 
|---|
|  |  |  | import javax.servlet.http.HttpServletResponse; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.alibaba.fastjson2.JSONObject; | 
|---|
|  |  |  | 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 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.core.web.page.TableDataInfo; | 
|---|
|  |  |  | import com.ruoyi.common.log.annotation.Log; | 
|---|
|  |  |  | import com.ruoyi.common.log.enums.BusinessType; | 
|---|
|  |  |  | import com.ruoyi.common.security.annotation.InnerAuth; | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 操作日志记录 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @author ruoyi | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RestController | 
|---|
|  |  |  | @RequestMapping("/operlog") | 
|---|
|  |  |  | public class SysOperlogController extends BaseController | 
|---|
|  |  |  | { | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private ISysOperLogService operLogService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //    @RequiresPermissions("system:operlog:list") | 
|---|
|  |  |  | //    @GetMapping("/list") | 
|---|
|  |  |  | //    public TableDataInfo list(SysOperLog operLog) | 
|---|
|  |  |  | //    { | 
|---|
|  |  |  | //        startPage(); | 
|---|
|  |  |  | //        List<SysOperLog> list = operLogService.selectOperLogList(operLog); | 
|---|
|  |  |  | //        return getDataTable(list); | 
|---|
|  |  |  | //    } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @ApiOperation(value = "当前车辆操作日志查询") | 
|---|
|  |  |  | @PostMapping("/list") | 
|---|
|  |  |  | public AjaxResult list(@RequestBody SysOperLogQuery query) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | LambdaQueryWrapper<SysOperLog> wrapper = new LambdaQueryWrapper<>(); | 
|---|
|  |  |  | wrapper.like(SysOperLog::getTitle,"车辆管理"); | 
|---|
|  |  |  | wrapper.ne(SysOperLog::getBusinessType,1); | 
|---|
|  |  |  | List<SysOperLog> list = operLogService.list(wrapper); | 
|---|
|  |  |  | Iterator<SysOperLog> iterator = list.iterator(); | 
|---|
|  |  |  | while (iterator.hasNext()){ | 
|---|
|  |  |  | SysOperLog sysOperLog = iterator.next(); | 
|---|
|  |  |  | String operParam = sysOperLog.getOperParam(); | 
|---|
|  |  |  | JSONObject jsonObject = JSONObject.parseObject(operParam); | 
|---|
|  |  |  | String carId = jsonObject.getString("carId"); | 
|---|
|  |  |  | if(StringUtils.isNotEmpty(carId) && Objects.nonNull(query.getCarId()) && !carId.equals(String.valueOf(query.getCarId()))){ | 
|---|
|  |  |  | iterator.remove(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return AjaxResult.success(list); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Log(title = "操作日志", businessType = BusinessType.EXPORT) | 
|---|
|  |  |  | @RequiresPermissions("system:operlog: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) | 
|---|
|  |  |  | @RequiresPermissions("system:operlog:remove") | 
|---|
|  |  |  | @DeleteMapping("/{operIds}") | 
|---|
|  |  |  | public AjaxResult remove(@PathVariable Long[] operIds) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return toAjax(operLogService.deleteOperLogByIds(operIds)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequiresPermissions("system:operlog:remove") | 
|---|
|  |  |  | @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)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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) | 
|---|
|  |  |  | @RequiresPermissions("system:operlog: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) | 
|---|
|  |  |  | @RequiresPermissions("system:operlog:remove") | 
|---|
|  |  |  | @DeleteMapping("/{operIds}") | 
|---|
|  |  |  | public AjaxResult remove(@PathVariable Long[] operIds) { | 
|---|
|  |  |  | return toAjax(operLogService.deleteOperLogByIds(operIds)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequiresPermissions("system:operlog:remove") | 
|---|
|  |  |  | @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)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|