feat(dashboard): 从专业财富观角度重构升级后台收益与分成统计仪表盘

这个提交包含在:
chen
2026-09-17 08:22:23 +08:00
父节点 64a9563779
当前提交 b6287bf2e0
共有 40 个文件被更改,包括 5145 次插入 和 1015 次删除

查看文件

@@ -51,11 +51,30 @@ class Daily extends Common
->whereBetween('createtime', [$yStart, $yEnd])
->whereIn('reward_type', \addons\shopro\service\partner\PartnerConfig::instantTypes())
->sum('amount');
$yesterdayReport = DailyReport::where('settle_date', $yesterday)->find();
$yesterdayGmv = $yesterdayReport ? (float) $yesterdayReport->gmv : 0;
$yesterdayTotalCash = $sumCash($yesterday) + $instantYesterday;
$yesterdayPayoutRatio = $yesterdayGmv > 0 ? round(($yesterdayTotalCash / $yesterdayGmv) * 100, 2) : 0;
$voucherTotal = (float) \app\admin\model\shopro\partner\VoucherPlan::where('status', 1)->sum('total_amount');
$voucherReleased = (float) \app\admin\model\shopro\partner\VoucherPlan::where('status', 1)->sum('released_amount');
$voucherDebt = max(0, $voucherTotal - $voucherReleased);
$activeService = new \addons\shopro\service\partner\ActiveService();
$venueActiveCount = count($activeService->activeUserIds($since, time(), ['is_venue' => 1]));
$countyActiveCount = count($activeService->activeUserIds($since, time(), ['is_county' => 1]));
$result['kpi'] = [
'today' => DailyReport::where('settle_date', $today)->find(),
'yesterday' => DailyReport::where('settle_date', $yesterday)->find(),
'yesterday' => $yesterdayReport,
'today_cash' => number_format($todayCash + $instantToday, 2, '.', ''),
'yesterday_cash' => number_format($sumCash($yesterday) + $instantYesterday, 2, '.', ''),
'yesterday_cash' => number_format($yesterdayTotalCash, 2, '.', ''),
'yesterday_payout_ratio' => $yesterdayPayoutRatio . '%',
'yesterday_payout_ratio_val' => $yesterdayPayoutRatio,
'voucher_debt' => number_format($voucherDebt, 2, '.', ''),
'venue_active_count' => $venueActiveCount,
'county_active_count' => $countyActiveCount,
'inactive_count' => \app\admin\model\shopro\commission\Agent::where(function ($q) use ($since) {
$q->whereNull('last_self_order_time')->whereOr('last_self_order_time', '<', $since);
})->count(),
@@ -63,6 +82,13 @@ class Daily extends Common
$this->success('获取成功', null, $result);
}
public function preview()
{
$date = $this->request->param('settle_date', date('Y-m-d', strtotime('-1 day')));
$data = (new DailySettleService())->preview($date);
$this->success('试算成功', null, $data);
}
public function rerun()
{
$date = $this->request->param('settle_date');