where('status', OtcOrder::status_wait_confirm)->where(function ($query) use ($confirm_overtime) { $query->where('pay_time', '<', Carbon::now()->subSeconds($confirm_overtime)->timestamp); })->cursor(); foreach ($orders as $order) { try { $user_id = $order['trans_type'] == 1 ? $order['other_uid'] : $order['user_id']; $params = ['order_id' => $order['id']]; (new OtcService())->confirmOrder($user_id, $params); } catch (\Exception $exception) { info($exception); continue; } } } }