diff --git a/app/Console/Commands/OrderProfitCommand.php b/app/Console/Commands/OrderProfitCommand.php index 3df5cdaf..a8ce84c1 100644 --- a/app/Console/Commands/OrderProfitCommand.php +++ b/app/Console/Commands/OrderProfitCommand.php @@ -2,9 +2,7 @@ namespace App\Console\Commands; -use App\Enums\PayWay; use App\Models\Order; -use App\Models\OrderProfit; use App\Services\DistributeService; use Illuminate\Console\Command; use Illuminate\Support\Facades\DB; @@ -16,7 +14,7 @@ class OrderProfitCommand extends Command * * @var string */ - protected $signature = 'order:profit'; + protected $signature = 'order-profit:send'; /** * The console command description. @@ -47,43 +45,29 @@ class OrderProfitCommand extends Command // 售后过期天数 7 $saleDays = app_settings('app.sale_after_expire_days'); - while (true) { - $page = 0; + $orders = Order::query() + // 订单已完成 + ->where('status', Order::STATUS_COMPLETED) + // 没有售后订单 + ->whereDoesntHave('afterSales') + // 售后期过了 + ->where('completed_at', '<', now()->subDays($saleDays)) + // 未支付提成 + ->whereNull('profit_paid') + ->limit(10) + ->get(); - $orders = Order::query() - // 订单已完成 - ->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); + 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()); } } } diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php index 25e83bf7..96813802 100644 --- a/app/Console/Kernel.php +++ b/app/Console/Kernel.php @@ -24,6 +24,7 @@ class Kernel extends ConsoleKernel */ protected function schedule(Schedule $schedule) { + $schedule->command('order-profit:send')->daily(); $schedule->command('order-profit:check')->daily(); }