fix(admin): label unfilled coupon ad revenue
This commit is contained in:
@@ -73,7 +73,7 @@ interface CouponDataRow {
|
|||||||
started_at: string;
|
started_at: string;
|
||||||
claimed_count: number | null;
|
claimed_count: number | null;
|
||||||
trace_url: string | null;
|
trace_url: string | null;
|
||||||
ad_revenue_yuan: number; // 本次领券看的信息流广告预估收益(元)
|
ad_revenue_yuan: number | null; // 本次领券看的信息流广告预估收益(元);未填充为 null
|
||||||
}
|
}
|
||||||
interface CouponDataReport {
|
interface CouponDataReport {
|
||||||
date_from: string;
|
date_from: string;
|
||||||
@@ -124,9 +124,9 @@ const fmtSec = (ms: number | null | undefined): string =>
|
|||||||
const fmtPct = (v: number | null | undefined): string =>
|
const fmtPct = (v: number | null | undefined): string =>
|
||||||
v == null ? '-' : `${(v * 100).toFixed(1)}%`;
|
v == null ? '-' : `${(v * 100).toFixed(1)}%`;
|
||||||
|
|
||||||
// 元(小数)→ "¥0.0050";空值显示 -,真实 0 显示 ¥0.0000,以区分“零收益”和“无数据”。
|
// 元(小数)→ "¥0.0050";空值表示 eCPM 根本未填充,真实 0 仍显示 ¥0.0000。
|
||||||
const fmtYuan = (v: number | null | undefined): string =>
|
const fmtYuan = (v: number | null | undefined): string =>
|
||||||
v == null ? '-' : `¥${v.toFixed(4)}`;
|
v == null ? '未填充' : `¥${v.toFixed(4)}`;
|
||||||
|
|
||||||
// 一组按券行的 success_rate 算术平均(每张券等权;空值券跳过);无有效券 → null(显示 -)。
|
// 一组按券行的 success_rate 算术平均(每张券等权;空值券跳过);无有效券 → null(显示 -)。
|
||||||
// 汇总卡「分平台/合计点位成功率」据此由按券明细上卷,口径与下方按券表一致。
|
// 汇总卡「分平台/合计点位成功率」据此由按券明细上卷,口径与下方按券表一致。
|
||||||
@@ -517,7 +517,7 @@ export default function CouponDataPage() {
|
|||||||
dataIndex: 'ad_revenue_yuan',
|
dataIndex: 'ad_revenue_yuan',
|
||||||
width: 100,
|
width: 100,
|
||||||
align: 'right',
|
align: 'right',
|
||||||
render: (v: number) => fmtYuan(v),
|
render: (v: number | null) => fmtYuan(v),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '美团耗时',
|
title: '美团耗时',
|
||||||
|
|||||||
Reference in New Issue
Block a user