package com.dsh.other.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.dsh.other.entity.SysAccountAuditLog; import com.dsh.other.service.SysAccountAuditLogService; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; /** 内部审计写入及受控查询接口。 */ @RestController @RequestMapping("/internal/audit-logs") public class AccountAuditLogController { @Resource private SysAccountAuditLogService auditLogService; @PostMapping public void append(@RequestBody SysAccountAuditLog auditLog) { auditLogService.append(auditLog); } @GetMapping public Page page(@RequestParam(defaultValue = "1") long current, @RequestParam(defaultValue = "20") long size, @RequestParam(required = false) Long userId, @RequestParam(required = false) String operationType) { QueryWrapper query = new QueryWrapper() .orderByDesc("created_at") .orderByDesc("id"); if (userId != null) query.eq("user_id", userId); if (operationType != null && !operationType.trim().isEmpty()) query.eq("operation_type", operationType); return auditLogService.page(new Page(current, Math.min(size, 200)), query); } }