feat(dashboard): 从专业财富观角度重构升级后台收益与分成统计仪表盘
这个提交包含在:
@@ -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');
|
||||
|
||||
在新工单中引用
屏蔽一个用户