package jnpf.bizcommon.audit.controller;
|
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
import jnpf.bizcommon.audit.entity.model.AuditEventDetailVO;
|
import jnpf.bizcommon.audit.entity.model.AuditEventListVO;
|
import jnpf.bizcommon.audit.entity.model.AuditPageQuery;
|
import jnpf.bizcommon.audit.service.AuditQueryService;
|
import jnpf.base.ActionResult;
|
import jnpf.base.vo.PageListVO;
|
import org.springframework.beans.factory.annotation.Autowired;
|
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.RequestParam;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import java.util.List;
|
|
/**
|
* 审计事件查询 API(spec §7.1):操作分页 / 单事件详情 / 操作时间线。两级权限点:
|
* audit.query(列表、时间线,无字段值正文)与 audit.detail(详情,含变更前后值等敏感内容)。
|
*/
|
@RestController
|
@RequestMapping("/audit/events")
|
public class AuditQueryController {
|
@Autowired private AuditQueryService auditQueryService;
|
|
@SaCheckPermission("audit.query")
|
@PostMapping("/page")
|
public ActionResult<PageListVO<AuditEventListVO>> page(@RequestBody AuditPageQuery query) {
|
return ActionResult.success(auditQueryService.page(query));
|
}
|
|
@SaCheckPermission("audit.detail")
|
@GetMapping("/{id}")
|
public ActionResult<AuditEventDetailVO> detail(@PathVariable("id") Long id) {
|
return ActionResult.success(auditQueryService.detail(id));
|
}
|
|
@SaCheckPermission("audit.query")
|
@GetMapping("/timeline")
|
public ActionResult<List<AuditEventListVO>> timeline(@RequestParam("targetId") String targetId) {
|
return ActionResult.success(auditQueryService.timeline(targetId));
|
}
|
}
|