Skip to content

Commit

Permalink
Alteraçao para inclusao da distancia
Browse files Browse the repository at this point in the history
  • Loading branch information
Thasso Araújo committed Jun 16, 2020
1 parent c793c34 commit 5960a6c
Show file tree
Hide file tree
Showing 5 changed files with 34 additions and 11 deletions.
3 changes: 2 additions & 1 deletion app/Frete.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@ class Frete extends Model
"origem_longitude",
"destino_latitude",
"destino_longitude",
"data_agendamento",
"distancia",
"data_frete",
"tipo_veiculo",
"data_frete",
"valor",
Expand Down
32 changes: 22 additions & 10 deletions app/Http/Controllers/Api/FreteController.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,18 @@
use App\Http\Controllers\Controller;
use App\Http\Enumerations\TipoVeiculo;
use App\Http\Helpers\DataHelper;
use App\Http\Helpers\MonetarioHelper;
use App\Http\Requests\Api\AgendarFreteRequest;
use App\Http\Requests\Api\CalcularFreteRequest;
use Exception;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
use PhpParser\Node\Expr\Cast\Double;

class FreteController extends Controller
{
private const PRECO_GASOLINA = 4.20;

/**
* Display a listing of the resource.
*
Expand Down Expand Up @@ -55,7 +59,7 @@ public function show($id)
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request)
public function update(AgendarFreteRequest $request)
{
try {
$id = $request->get('id');
Expand All @@ -65,7 +69,7 @@ public function update(Request $request)
"origem_longitude",
"destino_latitude",
"destino_longitude",
"data_agendamento",
"distancia",
"tipo_veiculo",
"data_frete"
]);
Expand All @@ -77,7 +81,10 @@ public function update(Request $request)
(1 - Moto, 2 - Pick Up, 3 - Caminhão)"], 400);
}

$data["valor"] = rand(0, 100);
$tipoVeiculo = $data["tipo_veiculo"];
$distancia = (Double) $data["distancia"];
$data["valor"] = (($distancia * self::PRECO_GASOLINA)
+ (($distancia * self::PRECO_GASOLINA) * 0.4)) * $tipoVeiculo;

$frete = Frete::find($id);
if (!isset($frete)) {
Expand Down Expand Up @@ -125,10 +132,7 @@ public function calcular(CalcularFreteRequest $request)
{
try {
$data = $request->only([
"origem_latitude",
"origem_longitude",
"destino_latitude",
"destino_longitude",
"distancia",
"tipo_veiculo"
]);

Expand All @@ -137,7 +141,12 @@ public function calcular(CalcularFreteRequest $request)
(1 - Moto, 2 - Pick Up, 3 - Caminhão)"], 400);
}

return response()->json(["valor" => rand(0, 100)]);
$tipoVeiculo = $data["tipo_veiculo"];
$distancia = (Double) $data["distancia"];
$data["valor"] = (($distancia * self::PRECO_GASOLINA)
+ (($distancia * self::PRECO_GASOLINA) * 0.4)) * $tipoVeiculo;

return response()->json($data);
} catch (Exception $exception) {
Log::info($exception->getMessage() . $exception->getTraceAsString());
return response()->json($exception->getMessage(), 400);
Expand All @@ -160,7 +169,7 @@ public function agendar(AgendarFreteRequest $request)
"origem_longitude",
"destino_latitude",
"destino_longitude",
"data_agendamento",
"distancia",
"tipo_veiculo",
"data_frete"
]);
Expand All @@ -173,7 +182,10 @@ public function agendar(AgendarFreteRequest $request)
(1 - Moto, 2 - Pick Up, 3 - Caminhão)"], 400);
}

$data["valor"] = rand(0, 100);
$tipoVeiculo = $data["tipo_veiculo"];
$distancia = (Double) $data["distancia"];
$data["valor"] = (($distancia * self::PRECO_GASOLINA)
+ (($distancia * self::PRECO_GASOLINA) * 0.4)) * $tipoVeiculo;

$user = Frete::create($data);

Expand Down
7 changes: 7 additions & 0 deletions app/Http/Requests/Api/AgendarFreteRequest.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,13 @@ public function authorize()
public function rules()
{
return [
"origem_latitude" => 'required',
"origem_longitude" => 'required',
"destino_latitude" => 'required',
"destino_longitude" => 'required',
"distancia" => 'required',
"tipo_veiculo" => 'required',
"data_frete" => 'required',
];
}
}
2 changes: 2 additions & 0 deletions app/Http/Requests/Api/CalcularFreteRequest.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ public function authorize()
public function rules()
{
return [
"distancia" => 'required',
"tipo_veiculo" => 'required',
];
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ public function up()
$table->double("origem_longitude");
$table->double("destino_latitude");
$table->double("destino_longitude");
$table->double("distancia");
$table->date("data_frete")->default('now()');
$table->integer("tipo_veiculo");
$table->decimal('valor', 10, 2);
Expand Down

0 comments on commit 5960a6c

Please sign in to comment.