21 lines
704 B
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)
|
|
}
|
|
}
|