service.xpcool.com/internal/service/admin_audit.go

21 lines
704 B
Go

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)
}
}