where('status', Order::STATUS_COMPLETED) // 没有售后订单 ->whereDoesntHave('afterSales') // 售后期过了 ->where('completed_at', '<', now()->subDays($saleDays)) // 未支付提成 ->whereNull('profit_paid') ->limit(10) ->get(); foreach ($orders as $order) { try { DB::beginTransaction(); $service->wechatShare($order); // 分账成功, 更新订单状态 $order->update(['profit_paid' => $now]); DB::commit(); } catch (\Exception $e) { DB::rollBack(); report($e); $this->error($e->getMessage()); } } $page++; if ($page === 0) { sleep(60); } elseif ($page === 1) { sleep(30); } else { sleep(15); } } } }