diff --git a/apps/src/api/legacy/datav.ts b/apps/src/api/legacy/datav.ts index 2a38d7d..bb6e35c 100644 --- a/apps/src/api/legacy/datav.ts +++ b/apps/src/api/legacy/datav.ts @@ -42,6 +42,7 @@ export interface CountryDashboardMetric { } export interface CountryDashboardResult { + arpuSummary?: CountryDashboardArpuSummary; computedAt: string; endDate?: string; periodType: string; @@ -51,6 +52,12 @@ export interface CountryDashboardResult { total: CountryDashboardMetric; } +export interface CountryDashboardArpuSummary { + day?: CountryDashboardResult | null; + threeDay?: CountryDashboardResult | null; + week?: CountryDashboardResult | null; +} + export interface CountryDashboardRechargeDetail { amount: number | string; coinQuantity: number | string; diff --git a/apps/src/views/statistics/datav.vue b/apps/src/views/statistics/datav.vue index e4f2e23..734bb49 100644 --- a/apps/src/views/statistics/datav.vue +++ b/apps/src/views/statistics/datav.vue @@ -502,36 +502,18 @@ function buildParams() { return params; } -function buildRecentDayParams(dayCount: number) { - const end = dayjs().tz(DEFAULT_STAT_TIMEZONE); - const start = end.subtract(dayCount - 1, 'day'); - return { - periodType: 'DAY', - startDate: start.format('YYYY-MM-DD'), - endDate: end.format('YYYY-MM-DD'), - statTimezone: DEFAULT_STAT_TIMEZONE, - sysOrigin: query.sysOrigin || undefined, - }; -} - async function loadDashboard() { if (!canQuery.value) { return; } loading.value = true; try { - const [mainDashboard, dayArpuDashboard, threeDayArpuDashboard, weekArpuDashboard] = - await Promise.all([ - countryDashboard(buildParams()), - countryDashboard(buildRecentDayParams(1)), - countryDashboard(buildRecentDayParams(3)), - countryDashboard(buildRecentDayParams(7)), - ]); + const mainDashboard = await countryDashboard(buildParams()); dashboard.value = mainDashboard; arpuDashboards.value = { - day: dayArpuDashboard, - threeDay: threeDayArpuDashboard, - week: weekArpuDashboard, + day: mainDashboard.arpuSummary?.day || null, + threeDay: mainDashboard.arpuSummary?.threeDay || null, + week: mainDashboard.arpuSummary?.week || null, }; if (activeTableTab.value === 'game') { await loadGameMetrics();