Browse Source

fix aba pagamentos: fotos aparecendo, e movimentacoes apenas que deram sucesso

Gustavo Zanatta 1 day ago
parent
commit
69303e9a7a

+ 2 - 2
app/Http/Controllers/ProviderWithdrawalController.php

@@ -70,11 +70,11 @@ class ProviderWithdrawalController extends Controller
         return $this->successResponse(payload: $this->service->getWithdrawalFees());
         return $this->successResponse(payload: $this->service->getWithdrawalFees());
     }
     }
 
 
-    public function splits(): JsonResponse
+    public function splits(Request $request): JsonResponse
     {
     {
         $provider = $this->resolveProvider();
         $provider = $this->resolveProvider();
 
 
-        $splits = $this->service->getPaymentSplits($provider);
+        $splits = $this->service->getPaymentSplits($provider, $request->query('payment_status'));
 
 
         return $this->successResponse(payload: PaymentSplitResource::collection($splits));
         return $this->successResponse(payload: PaymentSplitResource::collection($splits));
     }
     }

+ 4 - 0
app/Http/Resources/PaymentSplitResource.php

@@ -5,6 +5,7 @@ namespace App\Http\Resources;
 use Illuminate\Http\Request;
 use Illuminate\Http\Request;
 use Illuminate\Http\Resources\Json\AnonymousResourceCollection;
 use Illuminate\Http\Resources\Json\AnonymousResourceCollection;
 use Illuminate\Http\Resources\Json\JsonResource;
 use Illuminate\Http\Resources\Json\JsonResource;
+use Illuminate\Support\Facades\Storage;
 
 
 class PaymentSplitResource extends JsonResource
 class PaymentSplitResource extends JsonResource
 {
 {
@@ -46,6 +47,9 @@ class PaymentSplitResource extends JsonResource
         'schedule_status' => $schedule?->status,
         'schedule_status' => $schedule?->status,
         'schedule_period_type' => $schedule?->period_type,
         'schedule_period_type' => $schedule?->period_type,
         'client_name' => $schedule?->client?->user?->name,
         'client_name' => $schedule?->client?->user?->name,
+        'client_photo' => $schedule?->client?->profileMedia?->path
+            ? Storage::temporaryUrl($schedule->client->profileMedia->path, now()->addMinutes(60))
+            : null,
 
 
         'created_at' => $this->created_at?->toISOString(),
         'created_at' => $this->created_at?->toISOString(),
         'updated_at' => $this->updated_at?->toISOString(),
         'updated_at' => $this->updated_at?->toISOString(),

+ 11 - 2
app/Services/ProviderWithdrawalService.php

@@ -94,11 +94,20 @@ class ProviderWithdrawalService
 
 
     //
     //
 
 
-    public function getPaymentSplits(Provider $provider): Collection
+    public function getPaymentSplits(Provider $provider, ?string $paymentStatus = null): Collection
     {
     {
         return PaymentSplit::query()
         return PaymentSplit::query()
             ->where('provider_id', $provider->id)
             ->where('provider_id', $provider->id)
-            ->with(['payment.schedule.client.user', 'payment.servicePackage.items.schedule.client.user'])
+            ->when(
+                $paymentStatus,
+                fn ($query) => $query->whereHas('payment', fn ($q) => $q->where('status', $paymentStatus))
+            )
+            ->with([
+                'payment.schedule.client.user',
+                'payment.schedule.client.profileMedia',
+                'payment.servicePackage.items.schedule.client.user',
+                'payment.servicePackage.items.schedule.client.profileMedia',
+            ])
             ->orderBy('created_at', 'desc')
             ->orderBy('created_at', 'desc')
             ->get();
             ->get();
     }
     }