6
0
Fork 0

优化经销商命令

release
李静 2022-01-20 17:26:45 +08:00
parent dd7b7c2d10
commit b0c651818d
3 changed files with 41 additions and 27 deletions

View File

@ -32,7 +32,7 @@ class OrderAutoAllocate extends Command
*/ */
public function handle() public function handle()
{ {
do { while (true) {
$page = 0; $page = 0;
DealerOrder::where('status', DealerOrderStatus::Pending) DealerOrder::where('status', DealerOrderStatus::Pending)
@ -57,13 +57,13 @@ class OrderAutoAllocate extends Command
$page++; $page++;
}); });
if ($page > 1) { if ($page === 0) {
sleep(15);
} else {
sleep(60); sleep(60);
} elseif ($page === 1) {
sleep(30);
} else {
sleep(15);
} }
} while (true); }
return 0;
} }
} }

View File

@ -40,7 +40,7 @@ class OrderProcessCommand extends Command
*/ */
public function handle() public function handle()
{ {
do { while (true) {
$page = 0; $page = 0;
DealerOrder::where( DealerOrder::where(
@ -70,11 +70,13 @@ class OrderProcessCommand extends Command
}); });
if ($page === 0) { if ($page === 0) {
sleep(30); sleep(60);
} elseif ($page === 1) { } elseif ($page === 1) {
sleep(5); sleep(30);
} else {
sleep(15);
} }
} while (true); };
return 0; return 0;
} }

View File

@ -40,28 +40,40 @@ class OrderSettleCommand extends Command
*/ */
public function handle() public function handle()
{ {
DealerOrder::where([ while (true) {
'status' => DealerOrderStatus::Completed, $page = 0;
'settle_state' => DealerOrderSettleState::Processed,
])->whereNotNull('shippinged_time')->chunkById(200, function ($orders) {
$orders->load('dealer.userInfo');
foreach ($orders as $order) { DealerOrder::where([
try { 'status' => DealerOrderStatus::Completed,
DB::beginTransaction(); 'settle_state' => DealerOrderSettleState::Processed,
])->whereNotNull('shippinged_time')->chunkById(200, function ($orders, &$page) {
$orders->load('dealer.userInfo');
$this->handleDealerOrder($order); foreach ($orders as $order) {
try {
DB::beginTransaction();
DB::commit(); $this->handleDealerOrder($order);
} catch (Throwable $e) {
DB::rollBack();
report($e); DB::commit();
} catch (Throwable $e) {
DB::rollBack();
report($e);
}
} }
}
});
return 0; $page++;
});
if ($page === 0) {
sleep(60);
} elseif ($page === 1) {
sleep(30);
} else {
sleep(15);
}
}
} }
/** /**