소스 검색

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 개월 전
부모
커밋
3f29bba859
2개의 변경된 파일26개의 추가작업 그리고 11개의 파일을 삭제
  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')