From 9f8d9e3dc5d83e198a264063bd4a35981457dbcb Mon Sep 17 00:00:00 2001 From: linkeyu <798648091@qq.com> Date: Tue, 21 Jul 2026 20:02:24 +0800 Subject: [PATCH] =?UTF-8?q?feat(admin):=20=E5=B9=BF=E5=91=8A=E6=94=B6?= =?UTF-8?q?=E7=9B=8A=E5=A2=9E=E5=8A=A0=E7=8E=AF=E5=A2=83=E4=B8=8E=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E8=8C=83=E5=9B=B4=E7=AD=9B=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/(main)/ad-revenue-report/page.tsx | 34 +++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/src/app/(main)/ad-revenue-report/page.tsx b/src/app/(main)/ad-revenue-report/page.tsx index a6eb426..1fe077b 100644 --- a/src/app/(main)/ad-revenue-report/page.tsx +++ b/src/app/(main)/ad-revenue-report/page.tsx @@ -300,6 +300,8 @@ export default function AdRevenueReportPage() { const { message } = App.useApp(); const [range, setRange] = useState<[Dayjs, Dayjs]>([dayjs().subtract(1, 'day'), dayjs().subtract(1, 'day')]); const [userId, setUserId] = useState(null); + const [appEnv, setAppEnv] = useState<'prod' | 'test' | 'all'>('prod'); + const [revenueScope, setRevenueScope] = useState<'business' | 'all'>('business'); const [adType, setAdType] = useState(); // 「场景」作为后端全局筛选(feed_scene):同时影响明细 / 合计 / 趋势,与「用户 / 类型」一致,点「查询」生效。 const [scene, setScene] = useState(); @@ -333,6 +335,8 @@ export default function AdRevenueReportPage() { date_from: from, date_to: to, user_id: userId ?? undefined, + app_env: appEnv === 'all' ? undefined : appEnv, + revenue_scope: revenueScope, ad_type: adType ?? undefined, feed_scene: scene ?? undefined, granularity: gran, @@ -374,7 +378,7 @@ export default function AdRevenueReportPage() { setLoading(false); } }, - [range, userId, adType, scene, granularity, limit, sortBy], + [range, userId, appEnv, revenueScope, adType, scene, granularity, limit, sortBy], ); useEffect(() => { @@ -620,7 +624,8 @@ export default function AdRevenueReportPage() {
核心指标里的「穿山甲后台收益(T+1)」来自穿山甲 GroMore 数据 API(后台结算口径,次日出数): 穿山甲预估收益=接口 revenue、收益API=各 ADN 回传更接近结算。穿山甲不提供分用户/类型/场景维度, - 故仅在全量视图(未按用户/类型/场景筛选)展示;逐条事件行仍是客户端预估,不受其影响。 + 故仅在可对账视图(未按用户/类型/场景筛选)展示;环境和数据范围会同时作用于客户端与穿山甲汇总。 + 默认“正式 + 业务代码位”用于同口径对账;切到“全部代码位”会包含广告测试等非业务曝光。 } > @@ -655,6 +660,31 @@ export default function AdRevenueReportPage() { style={{ width: 130 }} /> + + 环境 + + 类型