From 9d8fed49c8fddf8def370969e9b7caecb1752e3d Mon Sep 17 00:00:00 2001 From: linkeyu <798648091@qq.com> Date: Tue, 21 Jul 2026 10:11:31 +0800 Subject: [PATCH] fix(admin): label unfilled coupon ad revenue --- src/app/(main)/coupon-data/page.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/app/(main)/coupon-data/page.tsx b/src/app/(main)/coupon-data/page.tsx index 9ab3319..4267661 100644 --- a/src/app/(main)/coupon-data/page.tsx +++ b/src/app/(main)/coupon-data/page.tsx @@ -73,7 +73,7 @@ interface CouponDataRow { started_at: string; claimed_count: number | null; trace_url: string | null; - ad_revenue_yuan: number; // 本次领券看的信息流广告预估收益(元) + ad_revenue_yuan: number | null; // 本次领券看的信息流广告预估收益(元);未填充为 null } interface CouponDataReport { date_from: string; @@ -124,9 +124,9 @@ const fmtSec = (ms: number | null | undefined): string => const fmtPct = (v: number | null | undefined): string => v == null ? '-' : `${(v * 100).toFixed(1)}%`; -// 元(小数)→ "¥0.0050";空值显示 -,真实 0 显示 ¥0.0000,以区分“零收益”和“无数据”。 +// 元(小数)→ "¥0.0050";空值表示 eCPM 根本未填充,真实 0 仍显示 ¥0.0000。 const fmtYuan = (v: number | null | undefined): string => - v == null ? '-' : `¥${v.toFixed(4)}`; + v == null ? '未填充' : `¥${v.toFixed(4)}`; // 一组按券行的 success_rate 算术平均(每张券等权;空值券跳过);无有效券 → null(显示 -)。 // 汇总卡「分平台/合计点位成功率」据此由按券明细上卷,口径与下方按券表一致。 @@ -517,7 +517,7 @@ export default function CouponDataPage() { dataIndex: 'ad_revenue_yuan', width: 100, align: 'right', - render: (v: number) => fmtYuan(v), + render: (v: number | null) => fmtYuan(v), }, { title: '美团耗时',