import { NestInterceptor, ExecutionContext, CallHandler } from '@nestjs/common'; import { Reflector } from '@nestjs/core'; import { Observable } from 'rxjs'; import { Repository } from 'typeorm'; import { AuditContextService } from '../services/audit-context.service'; import { OperationDescriptionService } from '../services/operation-description.service'; import { AuditActionSummaryEntity } from '../entities'; /** * 审计动作拦截器 * 在请求开始时创建审计动作上下文,在请求结束时生成汇总记录 */ export declare class AuditActionInterceptor implements NestInterceptor { private readonly reflector; private readonly contextService; private readonly summaryRepository; private readonly descriptionService?; private readonly logger; constructor(reflector: Reflector, contextService: AuditContextService, summaryRepository: Repository, descriptionService?: OperationDescriptionService); intercept(context: ExecutionContext, next: CallHandler): Observable; /** * 生成审计汇总记录 */ private generateSummary; /** * 生成操作描述文本 * 优先从 OperationDescriptionService 获取多语言模板 * 如果没有,则使用默认格式 */ private generateDescription; /** * 替换模板中的占位符 * 支持格式:{key} 或 {key:format} */ private replaceTemplatePlaceholders; /** * 格式化值为字符串 */ private formatValue; }