argument('id'); if ($id) { $this->receive(Order::findOrFail($id)); } else { $query = Order::where('ship_status', ShipStatus::Finished) ->where('is_closed', 0) ->where('ship_at', '<', now()->subDays(7)); $list = $query->get(); foreach($list as $item) { $this->receive($item); } } } protected function receive(Order $order) { try { DB::beginTransaction(); OrderService::make()->receive($order); $order->options()->create([ 'description' => '系统自动确认收货', 'attribute' => [ 'ship_status' => ShipStatus::Received ], ]); DB::commit(); } catch (\Exception $e) { DB::rollBack(); $this->error('系统自动确认收货失败: ' . $order->id); $this->error($e->getMessage()); } } }