serialNo = $serialNo; $this->payload = $payload; } /** * Execute the job. */ public function handle(): void { $machine = Machine::withoutGlobalScopes()->where('serial_no', $this->serialNo)->first(); if (!$machine) { Log::warning("MQTT Transaction: Machine not found", ['serial_no' => $this->serialNo]); return; } // TODO: 實作交易處理邏輯 (建立交易紀錄、扣庫存等) // 目前先記錄 log 以供驗證 Log::info("MQTT Transaction received", [ 'serial_no' => $this->serialNo, 'payload' => $this->payload ]); ProcessStateLog::dispatch( $machine->id, $machine->company_id, "Transaction processed: " . ($this->payload['transaction_id'] ?? 'N/A'), 'info', $this->payload, 'transaction' ); } }