diff --git a/app/Http/Controllers/Admin/DashboardController.php b/app/Http/Controllers/Admin/DashboardController.php index 8a2d08d..f2e0ca2 100644 --- a/app/Http/Controllers/Admin/DashboardController.php +++ b/app/Http/Controllers/Admin/DashboardController.php @@ -25,16 +25,30 @@ class DashboardController extends Controller ->distinct('user_id') ->count('user_id'); - // 3. Get Paid Subscribers & Breakdown by Plan Type + // 3. Get Paid Subscribers & Breakdown by Plan Type AND Market Provider $paidBreakdown = UserSubscriber::where('user_subscribers.expired_at', '>=', now()) ->whereHas('subscribe', function (Builder $query) { $query->where('is_free', false); }) ->join('subscribe_plans', 'user_subscribers.subscribe_plan_id', '=', 'subscribe_plans.id') - ->selectRaw('subscribe_plans.name as plan_name, count(DISTINCT user_subscribers.user_id) as total') - ->groupBy('subscribe_plans.name') + ->selectRaw('subscribe_plans.name as plan_name, user_subscribers.market_provider, count(DISTINCT user_subscribers.user_id) as total') + ->groupBy('subscribe_plans.name', 'user_subscribers.market_provider') ->get(); + // Format the display name to show the source clearly + $paidBreakdown->each(function ($item) { + $provider = strtolower($item->market_provider ?? ''); + + if ($provider === 'bazaar') { + $item->display_name = $item->plan_name . ' (کافه بازار)'; + } elseif ($provider === 'myket') { + $item->display_name = $item->plan_name . ' (مایکت)'; + } else { + // If market_provider is null or empty, it was purchased directly from the site + $item->display_name = $item->plan_name . ' (سایت / مستقیم)'; + } + }); + // Total paid is the sum of the breakdown $paidSubscribers = $paidBreakdown->sum('total'); diff --git a/resources/views/admin/dashboard/index.blade.php b/resources/views/admin/dashboard/index.blade.php index 564c692..4456ec9 100644 --- a/resources/views/admin/dashboard/index.blade.php +++ b/resources/views/admin/dashboard/index.blade.php @@ -31,7 +31,7 @@
@foreach($paidBreakdown as $plan) - {{ $plan->plan_name }}: {{ $plan->total }} + {{ $plan->display_name }}: {{ $plan->total }} @endforeach