102 lines
3.3 KiB
PHP
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"
|
|
];
|
|
}
|
|
|
|
|
|
}
|