@extends('admin.layout') @section('title', 'Referans Kodu & Kullanıcılarım - Partner Paneli') @section('page-title', 'Referans Kodu & Kayıtlı Kullanıcı Yönetimi') @php $rewardLabels = [ 'subscription' => 'Abonelik Süresi', 'package' => 'Paket', 'credits' => 'Kredi', ]; $purchaseTypeLabels = [ 'package' => 'Paket Satın Alma', 'subscription' => 'Abonelik Satın Alma', 'single_comment' => 'Tekli Yorum', 'single_chat' => 'Tekli Sohbet', 'single_report' => 'Tekli Rapor', 'single_comment_tokens' => 'Yorum Token', 'referral' => 'Referans Ödülü', ]; @endphp @section('content') {{-- Özet İstatistik Kartları --}}
Tanımlı Referans Kodlarım

{{ number_format($stats['codes_count'] ?? 0) }}

Kayıt Olan / Giriş Yapan Kişi

{{ number_format($stats['total_users'] ?? 0) }}

Aktif Aboneliği Olanlar

{{ number_format($stats['active_subscribers'] ?? 0) }}

Paket/Abonelik Alışverişi & Ciro

{{ number_format($stats['paid_purchases_count'] ?? 0) }} İşlem ({{ number_format($stats['total_revenue'] ?? 0, 2, ',', '.') }} ₺)

{{-- Partner'e Tanımlı Referans Kodları Tablosu --}}

Adıma Tanımlı Referans Kodları

Hesabınızla ilişkilendirilmiş referans kodları ve tanımlı hediye/bonus kuralları.
@foreach ($myReferralCodes as $rc) @endforeach
Kampanya / Kod Adı Referans Kodu Geri Ödeme (Hakediş) Oranı Kayıt Hediyesi (Ödül & Süre) Koşullu Bonuslar Kullanım Sayısı Geçerlilik Tarihi Durum Kullanıcıları Gör
{{ $rc->name }} @if ($rc->description)
{{ $rc->description }}
@endif
{{ $rc->code }} %{{ rtrim(rtrim(number_format((float) ($rc->commission_rate ?? 0), 2, ',', '.'), '0'), ',') }} Hakedişi Gör {{ $rewardLabels[$rc->reward_type] ?? $rc->reward_type }}
{{ \App\Models\ReferralCode::rewardSummary($rc->reward_type, $rc->reward_config ?? []) }}
@if ($rc->bonusRules->count() > 0) @foreach ($rc->bonusRules as $bRule)
{{ $bRule->name ?: $bRule->triggerSummary() }}: {{ \App\Models\ReferralCode::rewardSummary($bRule->reward_type, $bRule->reward_config ?? []) }}
@endforeach @else — @endif
{{ $rc->use_count }} @if ($rc->max_uses) / {{ $rc->max_uses }} @else (sınırsız) @endif @if ($rc->valid_from || $rc->valid_until) {{ $rc->valid_from?->format('d.m.Y') ?? '—' }} - {{ $rc->valid_until?->format('d.m.Y') ?? '—' }} @else Süresiz @endif @if ($rc->is_active) Aktif @else Pasif @endif Kullanıcıları Filtrele
{{-- Referans Kodu İle Kayıt Olan & Giriş Yapan Kullanıcıların Detaylı Listesi --}}

Referans Kodu ile Kayıt Olan & Giriş Yapan Kullanıcılar

Referans kodlarınızı kullanan kişilerin yaptıkları paket alışverişleri, verilen hediyeler, hediye süreleri, abonelik başlangıç/bitiş durumları ve satın aldıkları fiyat detayları.

{{-- Filtreleme Formu --}}
@if ($referredUsers->count() > 0)
@foreach ($referredUsers as $rUser) @php $redemption = $rUser->referralRedemption; $usedCodeObj = $redemption?->referralCode ?? $rUser->referralCode; $usedCodeStr = $redemption?->code ?? $usedCodeObj?->code ?? '—'; $redeemedAt = $redemption?->created_at ?? $rUser->referral_redeemed_at ?? $rUser->created_at; // Abonelikler $latestSub = $rUser->subscriptions->first(); $hasActiveSub = $rUser->subscriptions->contains(fn ($s) => $s->status === 'active' && $s->ends_at && $s->ends_at->isFuture()); // Paket ve Abonelik Satın Alımları $paidPurchases = $rUser->packagePurchases->where('amount_paid', '>', 0); $referralOrFreePurchases = $rUser->packagePurchases->where('amount_paid', '<=', 0); $userTotalPaid = (float) $paidPurchases->sum('amount_paid'); @endphp {{-- 1. Kullanıcı & Kod --}} {{-- 2. Verilen Hediyeler & Hediye Süresi --}} {{-- 3. Abonelik Durumu (Başlangıç / Bitiş / Süre / Fiyat) --}} {{-- 4. Paket Alışverişleri & Satın Aldığı Fiyat --}} {{-- 5. Detay Butonu --}} @endforeach
Kullanıcı & Kod Verilen Hediyeler & Hediye Süresi Abonelik Durumu (Başlangıç / Bitiş) Paket Alışverişleri & Satın Aldığı Fiyat Detay
{{ trim(($rUser->name ?? '') . ' ' . ($rUser->last_name ?? '')) ?: 'İsimsiz Kullanıcı' }} #{{ $rUser->id }}
{{ $rUser->email }}
{{ $usedCodeStr }} {{ $redeemedAt ? \Carbon\Carbon::parse($redeemedAt)->format('d.m.Y H:i') : '—' }}
@if ($redemption)
Referans Hediyesi: {{ \App\Models\ReferralCode::rewardSummary($redemption->reward_type, $redemption->reward_config ?? []) }} @if (($redemption->reward_type ?? '') === 'subscription' && !empty($redemption->reward_config['days'])) Hediye Süre: {{ (int) $redemption->reward_config['days'] }} Gün @endif
@elseif ($usedCodeObj)
Referans Hediyesi: {{ \App\Models\ReferralCode::rewardSummary($usedCodeObj->reward_type, $usedCodeObj->reward_config ?? []) }}
@endif {{-- Koşullu Bonus Hediyeleri --}} @foreach ($rUser->referralBonusGrants as $bGrant)
Ek Bonus: {{ \App\Models\ReferralCode::rewardSummary($bGrant->reward_type, $bGrant->reward_config ?? []) }} ({{ $bGrant->created_at?->format('d.m.Y') }})
@endforeach {{-- Admin Hediye Hakları (UserGiftGrant) --}} @foreach ($rUser->giftGrants as $gift) @php $giftDays = ($gift->starts_at && $gift->ends_at) ? max(1, (int) $gift->starts_at->diffInDays($gift->ends_at)) : null; @endphp
Hediye Tanımı: Token: {{ number_format((int) $gift->chat_words) }}, Rapor: {{ (int) $gift->report_credits }}, Harita: {{ (int) $gift->map_credits }} @if ($giftDays) {{ $giftDays }} Gün ({{ $gift->starts_at?->format('d.m.Y') }} - {{ $gift->ends_at?->format('d.m.Y') }}) @endif
@endforeach
@if ($latestSub) @php $subDays = ($latestSub->starts_at && $latestSub->ends_at) ? max(1, (int) $latestSub->starts_at->diffInDays($latestSub->ends_at)) : 0; $isGiftSub = (float) $latestSub->price <= 0; @endphp
@if ($hasActiveSub) Aktif Abone @else Süresi Doldu ({{ $latestSub->status }}) @endif @if ($isGiftSub) Hediye ({{ $subDays }} Gün) @else Ücretli ({{ number_format((float) $latestSub->price, 2, ',', '.') }} ₺) @endif
Başlangıç: {{ $latestSub->starts_at?->format('d.m.Y H:i') ?? '—' }}
Bitiş: {{ $latestSub->ends_at?->format('d.m.Y H:i') ?? '—' }}
@else Abonelik Yok @endif
@if ($paidPurchases->count() > 0)
{{ $paidPurchases->count() }} Satın Alma — Toplam: {{ number_format($userTotalPaid, 2, ',', '.') }} ₺
@foreach ($paidPurchases->take(3) as $purchase)
{{ $purchase->package?->name ?? ($purchaseTypeLabels[$purchase->purchase_type] ?? $purchase->purchase_type) }} @if ($purchase->subscription_plan) ({{ $purchase->subscription_plan }}) @endif — {{ number_format((float) $purchase->amount_paid, 2, ',', '.') }} ₺ ({{ $purchase->created_at?->format('d.m.Y H:i') }})
@endforeach @if ($paidPurchases->count() > 3) +{{ $paidPurchases->count() - 3 }} alışveriş daha... @endif @else Henüz ücretli paket alışverişi yok @endif
{{ $referredUsers->links() }}
{{-- Kullanıcı Detay Modalları --}} @foreach ($referredUsers as $rUser) @php $redemption = $rUser->referralRedemption; $usedCodeObj = $redemption?->referralCode ?? $rUser->referralCode; $usedCodeStr = $redemption?->code ?? $usedCodeObj?->code ?? '—'; @endphp @endforeach @else

Referans kodlarınızla kayıt olan veya filtrenizle eşleşen kullanıcı bulunamadı.

@endif
@endsection