|
|
@@ -134,6 +134,10 @@ class SearchService
|
|
|
$arr = is_array($item) ? $item : $item->toArray();
|
|
|
|
|
|
$arr['profile_media_url'] = $mediaUrls[$arr['profile_media_id'] ?? null] ?? null;
|
|
|
+ $arr['daily_price_8h'] = $this->applyCreditCardFee($arr['daily_price_8h'] ?? null);
|
|
|
+ $arr['daily_price_6h'] = $this->applyCreditCardFee($arr['daily_price_6h'] ?? null);
|
|
|
+ $arr['daily_price_4h'] = $this->applyCreditCardFee($arr['daily_price_4h'] ?? null);
|
|
|
+ $arr['daily_price_2h'] = $this->applyCreditCardFee($arr['daily_price_2h'] ?? null);
|
|
|
|
|
|
unset($arr['profile_media_id']);
|
|
|
|
|
|
@@ -143,6 +147,17 @@ class SearchService
|
|
|
|
|
|
//
|
|
|
|
|
|
+ private function applyCreditCardFee(?float $price): ?float
|
|
|
+ {
|
|
|
+ if ($price === null) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ $rate = (float) config('services.pagarme.platform_credit_card_fee_rate');
|
|
|
+
|
|
|
+ return round($price * (1 + $rate), 2);
|
|
|
+ }
|
|
|
+
|
|
|
private function distanceSelect(?float $clientLatitude, ?float $clientLongitude): \Illuminate\Contracts\Database\Query\Expression
|
|
|
{
|
|
|
return DistanceService::sqlExpression($clientLatitude, $clientLongitude);
|