diff --git a/app/Console/ExportDailyStatements.php b/app/Console/ExportDailyStatements.php index d21348b..8954f24 100644 --- a/app/Console/ExportDailyStatements.php +++ b/app/Console/ExportDailyStatements.php @@ -1,51 +1,88 @@ option('queue_name'); - /** - * The console command description. - * - * @var string - */ - protected $description = 'Export daily statements for all configured client accounts'; + // Log start of process + Log::info('Starting daily statement export process', [ + 'queue_name' => $queueName ?? 'default', + 'command' => 'webstatement:export-statements' + ]); - /** - * Execute the console command. - * - * @return int - */ - public function handle() - { - $this->info('Starting daily statement export process...'); + $this->info('Starting daily statement export process...'); + $this->info('Queue Name: ' . ($queueName ?? 'default')); - try { - $controller = app(WebstatementController::class); - $response = $controller->index(); + try { + $controller = app(WebstatementController::class); - $responseData = json_decode($response->getContent(), true); - $this->info($responseData['message']); + // Pass queue name to controller if needed + // Jika controller membutuhkan queue name, bisa ditambahkan sebagai parameter + $response = $controller->index($queueName); - // Display summary of jobs queued - $jobCount = count($responseData['jobs'] ?? []); - $this->info("Successfully queued {$jobCount} statement export jobs"); + $responseData = json_decode($response->getContent(), true); + $message = $responseData['message'] ?? 'Export process completed'; - return Command::SUCCESS; - } catch (Exception $e) { - $this->error('Error exporting statements: ' . $e->getMessage()); - return Command::FAILURE; - } + $this->info($message); + + // Display summary of jobs queued + $jobCount = count($responseData['jobs'] ?? []); + $this->info("Successfully queued {$jobCount} statement export jobs"); + $this->info("Jobs dispatched to queue: {$queueName}"); + + // Log successful completion + Log::info('Daily statement export process completed successfully', [ + 'message' => $message, + 'job_count' => $jobCount, + 'queue_name' => $queueName ?? 'default' + ]); + + return Command::SUCCESS; + } catch (Exception $e) { + $errorMessage = 'Error exporting statements: ' . $e->getMessage(); + $this->error($errorMessage); + + // Log error with queue information + Log::error($errorMessage, [ + 'exception' => $e->getTraceAsString(), + 'queue_name' => $queueName ?? 'default' + ]); + + return Command::FAILURE; } } +}