刘光辉
昨天 bb638871a7fb692d80f1b7a758f991dc0879002c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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));
    }
}