<?php

namespace Database\Seeders;

use App\Models\ClientBalanceType;
use Illuminate\Database\Seeder;

class ClientBalanceTypeSeeder extends Seeder
{
    /**
     * Run the database seeds.
     */
    public function run(): void
    {
        $types = [
            // Pozitif işlemler (Bakiye artırır)
            [
                'name' => 'Manuel Bakiye Ekleme',
                'code' => 'credit',
                'description' => 'Admin tarafından manuel olarak eklenen bakiye',
                'is_positive' => true,
                'is_active' => true,
            ],
            [
                'name' => 'İade',
                'code' => 'refund',
                'description' => 'Sipariş iptali veya iade durumunda eklenen bakiye',
                'is_positive' => true,
                'is_active' => true,
            ],
            [
                'name' => 'Sipariş İptali',
                'code' => 'order_cancellation',
                'description' => 'Sipariş iptali durumunda eklenen bakiye',
                'is_positive' => true,
                'is_active' => true,
            ],
            [
                'name' => 'Bonus Bakiye',
                'code' => 'bonus',
                'description' => 'Promosyon veya kampanya kapsamında eklenen bakiye',
                'is_positive' => true,
                'is_active' => true,
            ],
            [
                'name' => 'Düzeltme',
                'code' => 'adjustment',
                'description' => 'Hata düzeltmesi veya manuel düzenleme',
                'is_positive' => true,
                'is_active' => true,
            ],
            [
                'name' => 'Kupon Kullanımı',
                'code' => 'coupon_usage',
                'description' => 'Kupon kullanımı ile eklenen bakiye',
                'is_positive' => true,
                'is_active' => true,
            ],

            // Negatif işlemler (Bakiye azaltır)
            [
                'name' => 'Manuel Bakiye Çıkarma',
                'code' => 'debit',
                'description' => 'Admin tarafından manuel olarak çıkarılan bakiye',
                'is_positive' => false,
                'is_active' => true,
            ],
            [
                'name' => 'Payout',
                'code' => 'payout',
                'description' => 'Müşteriye yapılan ödeme',
                'is_positive' => false,
                'is_active' => true,
            ],
            [
                'name' => 'Kupon Dönüşümü',
                'code' => 'coupon_conversion',
                'description' => 'Bakiye kupon olarak dönüştürüldü',
                'is_positive' => false,
                'is_active' => true,
            ],
            [
                'name' => 'Sipariş Ödemesi',
                'code' => 'order_payment',
                'description' => 'Sipariş ödemesi için kullanılan bakiye',
                'is_positive' => false,
                'is_active' => true,
            ],
            [
                'name' => 'Ücret',
                'code' => 'fee',
                'description' => 'Çeşitli ücretler için kullanılan bakiye',
                'is_positive' => false,
                'is_active' => true,
            ],
            [
                'name' => 'Komisyon',
                'code' => 'commission',
                'description' => 'Komisyon ücreti için kullanılan bakiye',
                'is_positive' => false,
                'is_active' => true,
            ],
        ];

        foreach ($types as $type) {
            ClientBalanceType::create($type);
        }
    }
}
