package com.ycl.controller.user;
|
|
import com.alibaba.excel.EasyExcel;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.ycl.annotation.LogSave;
|
import com.ycl.api.CommonResult;
|
import com.ycl.dto.log.LogQueryParams;
|
import com.ycl.entity.user.UmsAdminLoginLog;
|
import com.ycl.entity.user.vo.UmsAdminLogVO;
|
import com.ycl.service.user.IAdminLoginLogService;
|
import com.ycl.service.user.UmsAdminService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.SneakyThrows;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.servlet.http.HttpServletResponse;
|
import java.time.LocalDateTime;
|
import java.time.format.DateTimeFormatter;
|
import java.util.List;
|
|
@RestController
|
@RequestMapping("/log_manage")
|
@Api(tags = "日志管理")
|
public class UmsAdminLogController {
|
|
@Autowired
|
IAdminLoginLogService iAdminLoginLogService;
|
@Autowired
|
UmsAdminService umsAdminService;
|
|
@GetMapping("/query")
|
@ApiOperation(value = "查询")
|
public CommonResult searchLog(LogQueryParams logQueryParams) {
|
return CommonResult.success(iAdminLoginLogService.pageList(logQueryParams));
|
}
|
|
@DeleteMapping("/deletion_batch")
|
@ApiOperation(value = "批量删除日志")
|
@LogSave(operationType = "日志管理", contain = "批量删除日志信息")
|
public CommonResult deleteBatch(@RequestParam List<Long> ids) {
|
return CommonResult.success(iAdminLoginLogService.removeBatchByIds(ids));
|
}
|
|
@DeleteMapping("/clear")
|
@ApiOperation(value = "清空日志")
|
@LogSave(operationType = "日志管理", contain = "清空日志信息")
|
public CommonResult clear() {
|
return CommonResult.success(iAdminLoginLogService.remove(new LambdaQueryWrapper<UmsAdminLoginLog>()));
|
}
|
|
@GetMapping("/query_operationType")
|
@ApiOperation(value = "查询操作类型")
|
public CommonResult queryOperationType() {
|
return CommonResult.success(iAdminLoginLogService.list(new LambdaQueryWrapper<UmsAdminLoginLog>().groupBy(UmsAdminLoginLog::getOperationType)));
|
}
|
|
@PostMapping("/export")
|
@ApiOperation(value = "导出")
|
@SneakyThrows
|
@LogSave(operationType = "日志管理", contain = "导出日志")
|
public void export(HttpServletResponse response, LogQueryParams logQueryParams) {
|
response.setContentType("application/vnd.ms-excel");
|
response.setCharacterEncoding("utf-8");
|
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + ".xlsx");
|
EasyExcel
|
.write(response.getOutputStream(), UmsAdminLogVO.class)
|
.sheet("数据")
|
.doWrite(iAdminLoginLogService.pageList(logQueryParams).getRecords());
|
}
|
}
|