package com.ruoyi.web.controller.monitor;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
import io.swagger.v3.oas.annotations.Hidden;
|
import jakarta.servlet.http.HttpServletResponse;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.web.bind.annotation.*;
|
import com.ruoyi.common.annotation.Log;
|
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
import com.ruoyi.common.enums.BusinessType;
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
import com.ruoyi.system.domain.SysOperLog;
|
import com.ruoyi.system.service.ISysOperLogService;
|
|
/**
|
* 操作日志记录
|
*
|
* @author ruoyi
|
*/
|
@RestController
|
@RequestMapping("/monitor/operlog")
|
@Hidden
|
public class SysOperlogController extends BaseController
|
{
|
@Autowired
|
private ISysOperLogService operLogService;
|
|
@PreAuthorize("@ss.hasPermi('monitor:operlog:list')")
|
@GetMapping("/list")
|
public TableDataInfo list(SysOperLog operLog,
|
@RequestParam(value = "pageNum", required = false)Integer pageNum,
|
@RequestParam(value = "pageSize", required = false)Integer pageSize)
|
{
|
startPage();
|
List<SysOperLog> list = operLogService.selectOperLogList(operLog);
|
// return getDataTable(list);
|
return paginate(list,pageNum,pageSize);
|
}
|
|
@Log(title = "操作日志", businessType = BusinessType.EXPORT)
|
@PreAuthorize("@ss.hasPermi('monitor: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)
|
@PreAuthorize("@ss.hasPermi('monitor:operlog:remove')")
|
@DeleteMapping("/{operIds}")
|
public AjaxResult remove(@PathVariable Long[] operIds)
|
{
|
return toAjax(operLogService.deleteOperLogByIds(operIds));
|
}
|
|
@Log(title = "操作日志", businessType = BusinessType.CLEAN)
|
@PreAuthorize("@ss.hasPermi('monitor:operlog:remove')")
|
@DeleteMapping("/clean")
|
public AjaxResult clean()
|
{
|
operLogService.cleanOperLog();
|
return success();
|
}
|
|
//对列表进行分页
|
private TableDataInfo paginate(List list, int pageNum, int pageSize) {
|
if (list == null || list.isEmpty()) {
|
return new TableDataInfo(new ArrayList<>(), 0);
|
}
|
int total = list.size();
|
int formIndex = (pageNum - 1) * pageSize;
|
int toIndex = Math.min(formIndex + pageSize, total);
|
if (formIndex >= total) {
|
return new TableDataInfo(new ArrayList<>(), total);
|
}
|
List subList = list.subList(formIndex, toIndex);
|
return new TableDataInfo(subList, total);
|
}
|
|
}
|