Selaa lähdekoodia

feat: ✨ feat(redirecionamento-dashboard) Foi ajustado o backend para lista na dashbord apenas datas do dia ou datas futuras

Realizado ajuste nas listagens para exibir apenas agendamentos com datas do dia atual ou datas futuras, removendo registros antigos das dashboards e oportunidades.Foi realizado uma implementação de validação separada dos fluxos da dashboard e do sobmedida, corrigindo conflito das rotas e tratamento dos ids. O ajuste ajuda a identificar corretamente de onde o prestador esta selecionando a oportunidade
fase:dev | origin:escopo
kayo henrique 1 kuukausi sitten
vanhempi
commit
3f29bba859
2 muutettua tiedostoa jossa 26 lisäystä ja 11 poistoa
  1. 21 8
      app/Services/CustomScheduleService.php
  2. 5 3
      app/Services/DashboardService.php

+ 21 - 8
app/Services/CustomScheduleService.php

@@ -32,14 +32,27 @@ class CustomScheduleService
   }
 
   public function getById($id)
-  {
-    return CustomSchedule::with([
-      'schedule.client.user',
-      'schedule.address',
-      'serviceType',
-      'specialities.speciality'
-    ])->findOrFail($id);
-  }
+{
+    $customSchedule = CustomSchedule::with([
+        'schedule.client.user',
+        'schedule.address',
+        'serviceType',
+        'specialities.speciality'
+    ])->find($id);
+
+    if (!$customSchedule) {
+        $customSchedule = CustomSchedule::with([
+            'schedule.client.user',
+            'schedule.address',
+            'serviceType',
+            'specialities.speciality'
+        ])
+        ->where('schedule_id', $id)
+        ->firstOrFail();
+    }
+
+    return $customSchedule;
+}
 
   public function create(array $data)
   {

+ 5 - 3
app/Services/DashboardService.php

@@ -49,7 +49,7 @@ class DashboardService
     $nextSchedules = Schedule::with('address:district,address,complement,number,source_id,source,id,address_type')
       ->where('schedules.client_id', $cliente->id)
       ->whereIn('schedules.status', ['accepted', 'paid'])
-      ->leftJoin('providers', 'providers.id', '=', 'schedules.provider_id')
+       ->whereDate('schedules.date', '>=', now()->toDateString())
       ->leftJoin('users as provider_user', 'provider_user.id', '=', 'providers.user_id')
       ->leftJoin('custom_schedules', 'custom_schedules.schedule_id', '=', 'schedules.id')
       ->where('schedules.date', '>=', now()->toDateString())
@@ -213,8 +213,8 @@ class DashboardService
         'providers.daily_price_8h',
         'providers.average_rating',
         'providers.total_services',
-        
-        
+
+
         'users.name as provider_name'
       ])
 
@@ -404,6 +404,7 @@ class DashboardService
     $nextSchedules = Schedule::with('address:district,address,number,source_id,source,id')
       ->where('schedules.provider_id', $provider->id)
       ->whereIn('schedules.status', ['accepted', 'paid'])
+      ->whereDate('schedules.date', '>=', now()->toDateString())
       ->leftJoin('clients', 'clients.id', '=', 'schedules.client_id')
       ->leftJoin('users as client_user', 'client_user.id', '=', 'clients.user_id')
       ->leftJoin('custom_schedules', 'custom_schedules.schedule_id', '=', 'schedules.id')
@@ -426,6 +427,7 @@ class DashboardService
     $opportunities = Schedule::with('address:district,source_id,source,id')
       ->where('schedules.schedule_type', 'custom')
       ->where('schedules.status', 'pending')
+      ->whereDate('schedules.date', '>=', now()->toDateString())
       ->leftJoin('clients', 'clients.id', '=', 'schedules.client_id')
       ->leftJoin('users as client_user', 'client_user.id', '=', 'clients.user_id')
       ->leftJoin('custom_schedules', 'custom_schedules.schedule_id', '=', 'schedules.id')