Fatura adresleri cart_addresses tablosunda tutulacak. Bu tablo zaten sistemde mevcut ve tüm adres yönetimini karşılıyor.
muzibu_corporate_accounts ├── id (PK) ├── user_id -- Bu kaydın sahibi user ├── parent_id -- NULL = kurum, değer = üst kuruma bağlı üye ├── corporate_code -- Davet kodu (sadece kurum) ├── company_name -- Şirket adı (sadece kurum) ├── max_members -- Üye limiti (sadece kurum) └── is_active -- users tablosu HİÇ DEĞİŞMEZ (universal) -- Fatura bilgileri cart_addresses tablosunda
cart_addresses ✓ MEVCUT ├── address_id (PK) ├── user_id -- Adres sahibi (FK → users) ├── address_type -- billing, shipping, both ├── title -- Ev, İş, Kurumsal vb. ├── first_name, last_name ├── company_name -- Şirket adı ├── tax_office -- Vergi dairesi ├── tax_number -- Vergi numarası ├── phone, email ├── address_line_1, address_line_2 ├── neighborhood, district, city ├── postal_code, country_code ├── is_default_billing -- Varsayılan fatura adresi ├── is_default_shipping -- Varsayılan teslimat adresi └── delivery_notes
┌─────────────────────────────────────────────────────┐ │ users (Universal - değişmez) │ │ ├── id, name, email... │ │ └── subscription_id (abonelik) │ └──────────────┬──────────────────────────────────────┘ │ ┌────────┴────────┐ ▼ ▼ ┌──────────────┐ ┌────────────────────┐ │ cart_addresses │ │ muzibu_corporate │ │ (Fatura/Adres) │ │ _accounts │ │ │ │ │ │ user_id (FK) │ │ user_id (FK) │ │ address_type │ │ parent_id (Self) │ │ tax_office │ │ corporate_code │ │ tax_number │ │ company_name │ │ company_name │ │ max_members │ └──────────────┘ └────────────────────┘ Kurum Sahibi: → parent_id = NULL → Kendi user_id si ile cart_addresses de fatura adresi var Kurumsal Üye: → parent_id = kurum_id → Fatura için parent ın owner user ının adresi kullanılır
| muzibu_corporate_accounts | |||||
|---|---|---|---|---|---|
| id | user_id | parent_id | corporate_code | company_name | Tip |
| 1 | 5 | NULL | ABC123 | Acme Ltd | Kurum Sahibi |
| 2 | 10 | 1 | NULL | NULL | Üye |
| 3 | 12 | 1 | NULL | NULL | Üye |
| cart_addresses (Kurum sahibinin fatura adresi) | ||||
|---|---|---|---|---|
| user_id | address_type | company_name | tax_office | tax_number |
| 5 | billing | Acme Ltd | Kadıköy VD | 1234567890 |
Kurum kaydını bul (parent_id = NULL) → user_id yi al → cart_addresses tablosundan address_type = billing olan kaydı çek
Üyenin kaydını bul → parent_id ile kurumu bul → Kurumun user_id si ile cart_addresses ten fatura adresini çek
parent_id = NULL olan kurumları çek → Her birinin user_id si ile cart_addresses JOIN yaparak fatura bilgilerini listele
cart_addresses tablosunda kendi user_id si ile günceller → Tüm üyeler otomatik olarak bu adresi kullanır
cart_addresses zaten var, yeni tablo oluşturmaya gerek yok. Tax_office, tax_number gibi alanlar hazır.
Kurum sahibi fatura adresini güncellediğinde tüm üyeler için geçerli olur. Tutarsızlık riski yok.
cart_orders tablosu zaten cart_addresses ile çalışıyor. Kurumsal siparişlerde aynı altyapı kullanılır.
Hiçbir tenant-specific kolon eklenmez. Diğer tenantlar etkilenmez.