From 08d48164fa8e5a48d5cba51cf3dd4cae7a68f6fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B9=9B=E5=85=AE?= Date: Fri, 12 Jun 2026 04:03:21 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=BF=87=E6=BB=A4=E9=80=9A=E7=9F=A5=20o?= =?UTF-8?q?utbox=20=E7=A9=BA=E6=89=AB=E6=8F=8F=E5=AE=A1=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/audit/audit.service.ts | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/src/audit/audit.service.ts b/src/audit/audit.service.ts index 3efa644..7b3288f 100644 --- a/src/audit/audit.service.ts +++ b/src/audit/audit.service.ts @@ -84,13 +84,19 @@ export class AuditService { orderBy: { createdAt: 'desc', }, - take: 50, + take: 200, }); - return records.map((record) => this.toSummary(record)); + return records + .map((record) => this.toSummary(record)) + .filter((record) => !this.isEmptyRetryTick(record)) + .slice(0, 50); } - return [...this.memoryRecords].slice(-50).reverse(); + return [...this.memoryRecords] + .reverse() + .filter((record) => !this.isEmptyRetryTick(record)) + .slice(0, 50); } private sanitize(input: AuditRecordInput): SanitizedAuditRecordInput { @@ -155,6 +161,19 @@ export class AuditService { return value; } + private isEmptyRetryTick(record: AuditRecordSummary): boolean { + if (record.action !== 'NOTIFICATION_OUTBOX_RETRY_TICK_COMPLETED') { + return false; + } + + return ( + record.after?.totalCandidates === 0 && + record.after.sentCount === 0 && + record.after.skippedCount === 0 && + record.after.failedCount === 0 + ); + } + private databaseClient(): PrismaService | undefined { if ( !this.config?.get('USE_DATABASE_READS', { infer: true }) ||