package me.zhengjie.rest; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import me.zhengjie.service.LogService; import me.zhengjie.service.dto.LogQueryCriteria; import me.zhengjie.utils.SecurityUtils; import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * @author Zheng Jie * @date 2018-11-24 */ @RestController @RequestMapping("/api/logs") @Api(tags = "监控:日志管理") public class LogController { private final LogService logService; public LogController(LogService logService) { this.logService = logService; } @GetMapping @ApiOperation("日志查询") @PreAuthorize("hasAnyRole('ADMIN')") public ResponseEntity getLogs(LogQueryCriteria criteria, Pageable pageable){ criteria.setLogType("INFO"); return new ResponseEntity<>(logService.queryAll(criteria,pageable), HttpStatus.OK); } @GetMapping(value = "/user") @ApiOperation("用户日志查询") public ResponseEntity getUserLogs(LogQueryCriteria criteria, Pageable pageable){ criteria.setLogType("INFO"); criteria.setBlurry(SecurityUtils.getUsername()); return new ResponseEntity<>(logService.queryAllByUser(criteria,pageable), HttpStatus.OK); } @GetMapping(value = "/error") @ApiOperation("错误日志查询") @PreAuthorize("hasAnyRole('ADMIN')") public ResponseEntity getErrorLogs(LogQueryCriteria criteria, Pageable pageable){ criteria.setLogType("ERROR"); return new ResponseEntity<>(logService.queryAll(criteria,pageable), HttpStatus.OK); } @GetMapping(value = "/error/{id}") @ApiOperation("日志异常详情查询") @PreAuthorize("hasAnyRole('ADMIN')") public ResponseEntity getErrorLogs(@PathVariable Long id){ return new ResponseEntity<>(logService.findByErrDetail(id), HttpStatus.OK); } }