<?php

namespace Database\Seeders;

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

class PlansSeeder extends Seeder
{
    public function run(): void
    {
        $plans = [
            [
                'name' => 'Basic',
                'slug' => 'basic',
                'description' => 'مناسب کسب‌وکارهای کوچک',
                'features' => ['۲۰۰ مشتری', '۵۰۰ سفارش در ماه', 'پشتیبانی تلفنی', 'گزارش‌های پایه'],
                'max_users' => 5,
                'max_customers' => 200,
                'max_orders_per_month' => 500,
                'max_transactions_per_month' => 200,
                'max_metals_per_month' => 300,
                'price_monthly' => 500000,
                'price_yearly' => 5000000,
                'is_active' => true,
                'sort_order' => 1,
            ],
            [
                'name' => 'Pro',
                'slug' => 'pro',
                'description' => 'برای تیم‌های بزرگ‌تر',
                'features' => ['۱۰۰۰ مشتری', 'سفارش نامحدود', 'پشتیبانی اختصاصی', 'گزارش‌های پیشرفته', 'API'],
                'max_users' => 20,
                'max_customers' => 1000,
                'max_orders_per_month' => null,
                'max_transactions_per_month' => 1000,
                'max_metals_per_month' => 2000,
                'price_monthly' => 1500000,
                'price_yearly' => 15000000,
                'is_active' => true,
                'sort_order' => 2,
            ],
            [
                'name' => 'Enterprise',
                'slug' => 'enterprise',
                'description' => 'برای سازمان‌های بزرگ با نیازهای اختصاصی',
                'features' => ['مشتری نامحدود', 'سفارش نامحدود', 'پشتیبانی اختصاصی ۲۴/۷', 'گزارش‌های پیشرفته', 'API', 'امکانات سفارشی'],
                'max_users' => null,
                'max_customers' => null,
                'max_orders_per_month' => null,
                'max_transactions_per_month' => null,
                'max_metals_per_month' => null,
                'price_monthly' => 5000000,
                'price_yearly' => 50000000,
                'is_active' => true,
                'sort_order' => 3,
            ],
        ];

        foreach ($plans as $plan) {
            Plan::updateOrCreate(
                ['slug' => $plan['slug']],
                $plan
            );
        }

        // حذف پلن free در صورت وجود
        Plan::where('slug', 'free')->delete();

        $this->command->info('Plans seeded: basic, pro, enterprise.');
    }
}
