6
0
Fork 0
release
李静 2022-01-19 21:12:34 +08:00
parent fc303f26f6
commit aa722e553f
1 changed files with 30 additions and 18 deletions

View File

@ -32,25 +32,37 @@ class OrderAutoAllocate extends Command
*/
public function handle()
{
DealerOrder::where('status', DealerOrderStatus::Pending)
->where('consignor_id', '>', 1)//到1用户或者公司的订单不需要再分配
->where('allocated_at', '<', now()->subMinutes(app_settings('dealer.order_auto_allocate_times')))
->chunkById(200, function ($orders) {
$orders->load([
'consignor',
]);
$orderService = new OrderService();
foreach ($orders as $order) {
try {
DB::beginTransaction();
$orderService->updateOrderConsignor($order);
DB::commit();
} catch (Throwable $th) {
DB::rollBack();
report($th);
}
do {
$page = 0;
DealerOrder::where('status', DealerOrderStatus::Pending)
->where('consignor_id', '>', 1) // 到1用户或者公司的订单不需要再分配
->where('allocated_at', '<', now()->subMinutes(app_settings('dealer.order_auto_allocate_times')))
->chunkById(200, function ($orders) use (&$page) {
$orders->load([
'consignor',
]);
$orderService = new OrderService();
foreach ($orders as $order) {
try {
DB::beginTransaction();
$orderService->updateOrderConsignor($order);
DB::commit();
} catch (Throwable $th) {
DB::rollBack();
report($th);
}
}
$page++;
});
if ($page > 1) {
sleep(15);
} else {
sleep(60);
}
});
} while (true);
return 0;
}