pdv.backend/database/seeders/ClientTierSeeder.php
2026-01-28 16:46:31 -06:00

62 lines
1.8 KiB
PHP

<?php
namespace Database\Seeders;
use App\Models\ClientTier;
use Illuminate\Database\Seeder;
class ClientTierSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
$tiers = [
[
'tier_name' => 'Bronce',
'min_purchase_amount' => 0.00,
'max_purchase_amount' => 10000.00,
'discount_percentage' => 0.00,
'is_active' => true,
],
[
'tier_name' => 'Plata',
'min_purchase_amount' => 15000.00,
'max_purchase_amount' => 20000.00,
'discount_percentage' => 5.00,
'is_active' => true,
],
[
'tier_name' => 'Oro',
'min_purchase_amount' => 25000.00,
'max_purchase_amount' => 40000.00,
'discount_percentage' => 10.00,
'is_active' => true,
],
[
'tier_name' => 'Platino',
'min_purchase_amount' => 60000.00,
'max_purchase_amount' => null, // Sin límite superior
'discount_percentage' => 15.00,
'is_active' => true,
],
];
foreach ($tiers as $tier) {
ClientTier::create($tier);
}
$this->command->info('Client tiers creados exitosamente');
$this->command->table(
['Tier', 'Desde', 'Hasta', 'Descuento'],
collect($tiers)->map(fn($t) => [
$t['tier_name'],
'$' . number_format($t['min_purchase_amount'], 2),
$t['max_purchase_amount'] ? '$' . number_format($t['max_purchase_amount'], 2) : 'Sin límite',
$t['discount_percentage'] . '%',
])
);
}
}