浏览代码

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')