arcos-backend/database/seeders/VehicleTestSeeder.php

154 lines
5.7 KiB
PHP

<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\Redis;
class VehicleTestSeeder extends Seeder
{
public function run(): void
{
$this->command->info('Creando datos de prueba de vehículos...');
// Limpiar Redis antes de empezar
$keys = Redis::keys('vehiculo:*');
if (count($keys) > 0) {
foreach ($keys as $key) {
Redis::del($key);
}
$this->command->warn('Redis limpiado: ' . count($keys) . ' vehículos eliminados');
}
// VEHÍCULOS CON REPORTE DE ROBO
$vehiculosRobados = [
[
'epc' => 'E2801170000001111AAAA',
'vin' => '3VWDX7AJ9CM111111',
'placa' => 'ABC1111',
'fecha_robo' => '2024-01-15',
'autoridad' => 'PGJ - BAJA CALIFORNIA',
'acta' => 'BC/ROB/2024/001',
'denunciante' => 'JUAN GARCIA LOPEZ',
'fecha_acta' => '2024-01-15',
],
[
'epc' => 'E2801170000002222BBBB',
'vin' => '1HGBH41JXMN222222',
'placa' => 'XYZ2222',
'fecha_robo' => '2024-03-20',
'autoridad' => 'FISCALÍA GENERAL DEL ESTADO',
'acta' => 'FGE/ROB/2024/002',
'denunciante' => 'MARIA RODRIGUEZ SANCHEZ',
'fecha_acta' => '2024-03-20',
],
[
'epc' => 'E2801170000003333CCCC',
'vin' => '2HGFG12858H333333',
'placa' => 'DEF3333',
'fecha_robo' => '2024-06-10',
'autoridad' => 'PGJ - SONORA',
'acta' => 'SON/ROB/2024/003',
'denunciante' => 'CARLOS MARTINEZ GONZALEZ',
'fecha_acta' => '2024-06-10',
],
[
'epc' => 'E2801170000004444DDDD',
'vin' => '5FNRL5H64GB444444',
'placa' => 'GHI4444',
'fecha_robo' => '2024-08-05',
'autoridad' => 'FISCALÍA ESPECIALIZADA EN ROBO DE VEHÍCULOS',
'acta' => 'FERV/2024/004',
'denunciante' => 'ANA LOPEZ HERNANDEZ',
'fecha_acta' => '2024-08-05',
],
[
'epc' => 'E2801170000005555EEEE',
'vin' => '1G1ZD5ST0LF555555',
'placa' => 'JKL5555',
'fecha_robo' => '2024-11-25',
'autoridad' => 'PGJ - CHIHUAHUA',
'acta' => 'CHI/ROB/2024/005',
'denunciante' => 'PEDRO RAMIREZ FLORES',
'fecha_acta' => '2024-11-25',
],
[
'epc' => 'E2801170000006666HHHH',
'vin' => 'KNDJT2A27G7666666',
'placa' => 'MNO6666',
'fecha_robo' => '2024-12-01',
'autoridad' => 'PGJ - SINALOA',
'acta' => 'SIN/ROB/2024/006',
'denunciante' => 'LUIS FERNANDEZ TORRES',
'fecha_acta' => '2024-12-01',
],
[
'epc' => 'E2801170000007777IIII',
'vin' => '3FADP4BJ6FM777777',
'placa' => 'PQR7777',
'fecha_robo' => '2024-12-05',
'autoridad' => 'FISCALÍA GENERAL - JALISCO',
'acta' => 'JAL/ROB/2024/007',
'denunciante' => 'ROSA MARTINEZ DIAZ',
'fecha_acta' => '2024-12-05',
],
[
'epc' => 'E2801170000008888JJJJ',
'vin' => '1N4AL3AP5JC888888',
'placa' => 'STU8888',
'fecha_robo' => '2024-12-10',
'autoridad' => 'PGJ - NUEVO LEON',
'acta' => 'NL/ROB/2024/008',
'denunciante' => 'MIGUEL ANGEL RUIZ',
'fecha_acta' => '2024-12-10',
],
[
'epc' => 'E2801170000009999KKKK',
'vin' => 'JN1CV6AP3BM999999',
'placa' => 'VWX9999',
'fecha_robo' => '2024-12-12',
'autoridad' => 'FISCALÍA - VERACRUZ',
'acta' => 'VER/ROB/2024/009',
'denunciante' => 'PATRICIA GOMEZ CASTRO',
'fecha_acta' => '2024-12-12',
],
[
'epc' => 'E2801170000010000LLLL',
'vin' => 'WBAFR9C58BC000000',
'placa' => 'YZA0000',
'fecha_robo' => '2024-12-15',
'autoridad' => 'PGJ - TAMAULIPAS',
'acta' => 'TAM/ROB/2024/010',
'denunciante' => 'FRANCISCO HERNANDEZ SILVA',
'fecha_acta' => '2024-12-15',
],
];
// Guardar vehículos robados en Redis
foreach ($vehiculosRobados as $vehiculo) {
$key = "vehiculo:robado:{$vehiculo['epc']}";
$datos = [
'epc' => $vehiculo['epc'],
'vin' => $vehiculo['vin'],
'placa' => $vehiculo['placa'],
'fecha_robo' => $vehiculo['fecha_robo'],
'autoridad' => $vehiculo['autoridad'],
'acta' => $vehiculo['acta'],
'denunciante' => $vehiculo['denunciante'],
'fecha_acta' => $vehiculo['fecha_acta'],
'primera_deteccion' => now()->subDays(rand(1, 30))->toIso8601String(),
'ultima_deteccion' => now()->subHours(rand(1, 24))->toIso8601String(),
'detecciones' => rand(1, 50),
'origen' => 'SEEDER_PRUEBA'
];
Redis::set($key, json_encode($datos));
$this->command->info("Robado: {$vehiculo['placa']} - {$vehiculo['vin']}");
}
}
}