102 lines
3.3 KiB
PHP

<?php namespace App\Http\Controllers\Repuve;
/**
* @copyright (c) 2025 Notsoweb Software (https://notsoweb.com) - All Rights Reserved
*/
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Notsoweb\ApiResponse\Enums\ApiResponse;
use App\Http\Requests\Repuve\VehicleRequest;
use App\Models\Vehicle;
use App\Models\Record;
class RepuveController extends Controller
{
public function consultarVehiculo(VehicleRequest $request)
{
// La validación por el Request
$folio = $request->input('folio');
// Simular consulta de robo
$isStolen = (bool) rand(0, 1);
$stolenMessage = $isStolen
? 'El vehículo reporta robo'
: 'El vehículo no reporta robo';
// Obtener datos del vehículo
$vehicleData = $this->getVehicle();
$vehicle = Vehicle::updateOrCreate(
['placa' => $vehicleData['PLACA']],
[
'modelo' => $vehicleData['MODELO'],
'marca' => $vehicleData['MARCA'],
'nrpv' => $vehicleData['NUMERO_SERIE'],
]
);
// Crear registro con folio + vehicle_id
$record = Record::create([
'folio' => $folio,
'vehicle_id' => $vehicle->id,
'user_id' => auth()->id() ?? null,
]);
//Responder al cliente
return ApiResponse::OK->response([
'folio' => $folio,
'stolen' => $isStolen,
'message' => $stolenMessage,
'vehicle' => [
'id' => $vehicle->id,
'placa' => $vehicleData['PLACA'],
'modelo' => $vehicleData['MODELO'],
'marca' => $vehicleData['MARCA'],
'numero_serie' => $vehicleData['NUMERO_SERIE'],
'color' => $vehicleData['COLOR'],
'tipo' => $vehicleData['TIPO'],
'linea' => $vehicleData['LINEA'],
],
'record_id' => $record->id,
'created_at' => $record->created_at->toDateTimeString(),
]);
}
private function getVehicle(): array
{
return [
"ANIO_PLACA" => "2020",
"PLACA" => "WNU700B",
"NO_SERIE" => "LSGHD52H0ND032457",
"RFC" => "GME111116GJA",
"FOLIO" => "3962243",
"VIGENCIA" => "2025",
"FECHA_IMPRESION" => "10-01-2025",
"QR_HASH" => "Vu5TF4kYsbbltzjDdGQyenKfZoIk2wro34a5Gkh9JVh0CFxfPlrd92YEWK21JF.nLjQNyzKmqRvWYuPiS.kU7A--",
"VALIDO" => true,
"FOLIOTEMP" => false,
"NOMBRE" => "GOLSYSTEMS DE MEXICO S DE RL DE CV",
"NOMBRE2" => "GOLS*MS DXICOE RL*CV",
"MUNICIPIO" => "CENTRO",
"LOCALIDAD" => "VILLAHERMOSA",
"CALLE" => "C BUGAMBILIAS 118 ",
"CALLE2" => "C BU*ILIA*18 ",
"TIPO" => "SEDAN",
"TIPO_SERVICIO" => "PARTICULAR",
"MARCA" => "CHEVROLET G.M.C.",
"LINEA" => "AVEO",
"SUBLINEA" => "PAQ. \"A\" LS",
"MODELO" => 2022,
"NUMERO_SERIE" => "LSGHD52H0ND032457",
"NUMERO_MOTOR" => "H. EN WUHANLL,SGM",
"DESCRIPCION_ORIGEN" => "IMPORTADO",
"COLOR" => "BLANCO",
"CODIGO_POSTAL" => "86179",
"SERIE_FOLIO" => "D3962243",
"SFOLIO" => "3962243"
];
}
}