scheduleId); $date_cleaned = Carbon::parse($schedule->date)->format('Y-m-d'); // if (!$schedule) { // return; // } Log::channel('schedule_end_jobs')->info('Verificando status do agendamento id: ' . $schedule->id); Log::channel('schedule_end_jobs')->info('Status do agendamento: ' . $schedule->status); // if ($schedule->status !== 'started') { // return; // } Log::channel('schedule_end_jobs')->info('Verificando data'); Log::channel('schedule_end_jobs')->info('Data do agendamento: ' . $date_cleaned); Log::channel('schedule_end_jobs')->info('Data atual: ' . now()->toDateString()); // if ($date_cleaned > now()->toDateString()) { // return; // } Log::channel('schedule_end_jobs')->info('Verificando horário'); Log::channel('schedule_end_jobs')->info('Horário do agendamento: ' . $schedule->end_time); Log::channel('schedule_end_jobs')->info('Horário atual: ' . now()->toTimeString()); $end_date_time = Carbon::parse($date_cleaned . ' ' . $schedule->end_time); // if ($end_date_time > now()) { // return; // } Log::channel('schedule_end_jobs')->info('Validado com sucesso, atualizado agendamento id: ' . $schedule->id . ' para status finalizado'); $schedule->update([ 'status' => 'finished' ]); $provider = Provider::find($schedule->provider_id); $provider->update([ 'total_services' => $provider->total_services + 1, ]); $client = Client::find($schedule->client_id); $client->update([ 'total_services' => $client->total_services + 1, ]); $emailService = new EmailService(); $serviceAmount = (float) $schedule->total_amount; $serviceFee = 7.00; $finalAmount = $serviceAmount + $serviceFee; $emailService->sendEmailReceipt( email: $schedule->client->user->email, schedule: $schedule, client_name: $schedule->client->user->name, service_date: $schedule->date, start_time: $schedule->start_time, end_time: $schedule->end_time, address: $schedule->address->address, total_amount: $serviceAmount, service_fee: $serviceFee, final_amount: $finalAmount, payment_method: 'PIX' ); } catch (\Exception $e) { Log::channel('schedule_end_jobs')->error('Erro ao finalizar agendamento id: ' . $this->scheduleId . '. Erro: ' . $e->getMessage()); return; } } }