queue = 'order:' . ($orderId % Order::queueCount()); } $this->orderId = $orderId; } /** * Execute the job. * * @return void */ public function handle() { \Log::info('订单'.$this->orderId.'created任务开始执行'); DB::transaction(function () { try { \YunShop::app()->uniacid = null; $orderId = $this->orderId; $order = Order::find($orderId); \YunShop::app()->uniacid = $order->uniacid; Setting::$uniqueAccountId = $order->uniacid; if(!$order->orderCreatedJob){ $order->setRelation('orderCreatedJob',new OrderCreatedJob(['order_id'=>$order->id])); $order->orderCreatedJob->save(); } if($order->orderCreatedJob->status == 'finished'){ \Log::error('订单完成事件触发失败',"{$orderId}orderCreatedJob记录已"); return; } $order->orderCreatedJob->status = 'finished'; $order->orderCreatedJob->save(); $event = new AfterOrderCreatedEvent($order); app('events')->safeFire($event,$order->id); }catch (\Exception $exception){ \Log::error('订单'.$this->orderId.'created任务异常',$exception); throw $exception; } }); \Log::info('订单'.$this->orderId.'created任务执行完成'); } }