package system import "context" // OperationRecord 操作记录实体 type OperationRecord struct { ID uint IP string Method string Path string Status int Latency int64 Agent string ErrorMessage string Body string Resp string UserID uint User *User } // OperationRecordRepo 操作记录仓储接口 type OperationRecordRepo interface { Create(ctx context.Context, record *OperationRecord) error Delete(ctx context.Context, id uint) error DeleteByIds(ctx context.Context, ids []uint) error FindByID(ctx context.Context, id uint) (*OperationRecord, error) List(ctx context.Context, page, pageSize int, filters map[string]interface{}) ([]*OperationRecord, int64, error) } // OperationRecordUsecase 操作记录用例 type OperationRecordUsecase struct { repo OperationRecordRepo } // NewOperationRecordUsecase 创建操作记录用例 func NewOperationRecordUsecase(repo OperationRecordRepo) *OperationRecordUsecase { return &OperationRecordUsecase{repo: repo} } // CreateOperationRecord 创建操作记录 func (uc *OperationRecordUsecase) CreateOperationRecord(ctx context.Context, record *OperationRecord) error { return uc.repo.Create(ctx, record) } // DeleteOperationRecord 删除操作记录 func (uc *OperationRecordUsecase) DeleteOperationRecord(ctx context.Context, id uint) error { return uc.repo.Delete(ctx, id) } // DeleteOperationRecordByIds 批量删除操作记录 func (uc *OperationRecordUsecase) DeleteOperationRecordByIds(ctx context.Context, ids []uint) error { return uc.repo.DeleteByIds(ctx, ids) } // GetOperationRecord 获取操作记录 func (uc *OperationRecordUsecase) GetOperationRecord(ctx context.Context, id uint) (*OperationRecord, error) { return uc.repo.FindByID(ctx, id) } // GetOperationRecordList 获取操作记录列表 func (uc *OperationRecordUsecase) GetOperationRecordList(ctx context.Context, page, pageSize int, filters map[string]interface{}) ([]*OperationRecord, int64, error) { return uc.repo.List(ctx, page, pageSize, filters) }