Modüler Yaklaşım - v2

Kurumsal Subscription Sistemi

26 Aralık 2025 - Tenant 1001 (Muzibu)

Mimari Prensip

Kurumsal subscription mantığı Muzibu modülünde olmalı. Cart/Order modülleri genel kalmalı, Muzibu-spesifik kod içermemeli.

Cart/Order: Genel, tüm tenantlar
Muzibu: Kurumsal özel, tenant 1001

Yeni Dosya Yapısı

Modules/Muzibu/
├── app/
├── Services/
│ └── CorporateSubscriptionService.php (YENİ)
├── Http/Controllers/Front/
│ └── CorporateFrontController.php (mevcut)

CorporateSubscriptionService (Yeni)

Sorumlulukları:

  • activateCorporateSubscriptions() - OrderItem alır, target_user_ids için subscription oluşturur
  • validateCorporateUsers() - User ID'lerin geçerliliğini kontrol eder (zaten var)
  • getCorporateMemberNames() - User ID'lerden isim listesi döner (admin için)

Kullanım:

// Order.php'de:
if ($item->metadata['type'] === 'corporate_bulk') {
    $service = app(CorporateSubscriptionService::class);
    $service->activateCorporateSubscriptions($item, $this);
}

Yeni Akış

Cart Module

metadata'ya target_user_ids ekler

Order Model

type=corporate_bulk ise Muzibu service'i çağırır

Muzibu Service

Her user için subscription oluşturur (tenant DB)

Yapılacak Değişiklikler

YENİ Modules/Muzibu/app/Services/CorporateSubscriptionService.php

Kurumsal subscription aktivasyonu, doğrulama, admin bilgi metodları

DEĞİŞİKLİK Modules/Cart/app/Models/Order.php

activateSubscriptionItems içinde: type=corporate_bulk kontrolü, Muzibu service çağrısı

if (($item->metadata['type'] ?? null) === 'corporate_bulk') {
    if (class_exists(\Modules\Muzibu\App\Services\CorporateSubscriptionService::class)) {
        app(\Modules\Muzibu\App\Services\CorporateSubscriptionService::class)
            ->activateCorporateSubscriptions($item, $this);
        continue; // Normal subscription oluşturma
    }
}
MEVCUT Modules/Cart/app/Http/Livewire/Front/CheckoutPage.php

mount() ve addSubscriptionToCart() - target_user_ids metadata'ya ekleme (zaten yapıldı)

Admin Panel Görünümü

/admin/payment Modal

Sipariş Detayı:

Premium Üyelik x2

Kurumsal: Ali Yılmaz, Ayşe Demir

/admin/subscription Liste

Ali Yılmaz Kurumsal
Ayşe Demir Kurumsal

Yapılacaklar Özeti

  1. CheckoutPage - target_user_ids metadata'ya ekle (YAPILDI)
  2. 1 CorporateSubscriptionService oluştur (Muzibu modülü)
  3. 2 Order.php'de service çağrısı ekle (minimal değişiklik)
  4. 3 Admin payment modal - üye isimlerini göster
  5. 4 Admin subscription - kurumsal badge ekle

Claude AI tarafından oluşturuldu - 26 Aralık 2025