package service import ( "context" "github.com/gogf/gf/v2/os/glog" "service.xpcool.com/internal/dao" "service.xpcool.com/internal/model/do" ) type adminAudit struct{} func NewAdminAudit() IAdminAudit { return &adminAudit{} } // Record 采用尽力而为策略:审计落库失败会记录系统日志,但不影响原业务请求结果。 func (a *adminAudit) Record(ctx context.Context, e AuditEvent) { _, err := dao.AdminOperationLog.Ctx(ctx).Data(do.AdminOperationLog{AdminUserId: e.AdminID, Permission: e.Permission, Method: e.Method, Path: e.Path, Ip: e.IP, RequestParam: e.Param, DurationMs: e.DurationMS, StatusCode: e.StatusCode}).Insert() if err != nil { glog.Error(ctx, err) } }