diff --git a/app/Console/Commands/OrderProfitCommand.php b/app/Console/Commands/OrderProfitCommand.php index c9e6ae32..4cc328cd 100644 --- a/app/Console/Commands/OrderProfitCommand.php +++ b/app/Console/Commands/OrderProfitCommand.php @@ -67,17 +67,19 @@ class OrderProfitCommand extends Command OrderProfit::whereIn('order_id', $orders->pluck('id'))->where('status', 0)->update(['status' => 4]); // 获取 等待结算 的提成记录, 按照 user_id 分组 - $list = OrderProfit::where('status', 4)->whereIn('order_id', $orders->pluck('id'))->get()->groupBy('user_id'); - foreach($list as $id => $items) { - try { - DB::beginTransaction(); - $service->wechatTransfers($items); - DB::commit(); - } catch (\Exception $e) { - DB::rollBack(); - $this->error($e->getMessage()); + OrderProfit::where('status', 4)->chunk(50, function ($list) use ($service) { + $list = $list->groupBy('user_id'); + foreach($list as $id => $items) { + try { + DB::beginTransaction(); + $service->wechatTransfers($items); + DB::commit(); + } catch (\Exception $e) { + DB::rollBack(); + $this->error($e->getMessage()); + } } - } + }); // 没有待付款的提成记录 foreach($orders as $item) {