修改middleware包

This commit is contained in:
2025-11-05 18:38:41 +08:00
parent ef4ca397ce
commit 3e2f9e7210
4 changed files with 27 additions and 16 deletions

View File

@@ -1,16 +1,21 @@
package middleware
import (
"context"
"git.huangwc.com/pig/pig-farm-controller/internal/domain/audit"
"git.huangwc.com/pig/pig-farm-controller/internal/infra/logs"
"git.huangwc.com/pig/pig-farm-controller/internal/infra/models"
"github.com/labstack/echo/v4"
)
// AuditLogMiddleware 创建一个Echo中间件用于在请求结束后记录用户操作审计日志。
// 它依赖于控制器通过调用 SendSuccessWithAudit 或 SendErrorWithAudit 在上下文中设置的审计信息。
func AuditLogMiddleware(auditService audit.Service) echo.MiddlewareFunc {
func AuditLogMiddleware(ctx context.Context, auditService audit.Service) echo.MiddlewareFunc {
return func(next echo.HandlerFunc) echo.HandlerFunc {
return func(c echo.Context) error {
newCtx := logs.AddFuncName(ctx, c.Request().Context(), "AuditLogMiddleware")
// 首先执行请求链中的后续处理程序(即业务控制器)
err := next(c)
@@ -44,6 +49,7 @@ func AuditLogMiddleware(auditService audit.Service) echo.MiddlewareFunc {
// 调用审计服务记录日志(异步)
auditService.LogAction(
newCtx,
user,
reqCtx,
actionType,