From a02fce3f3a7376e4f2d32e3baa37ccb8e8ce610b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=9D=99?= Date: Thu, 16 Dec 2021 19:02:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=B3=E9=97=AD=E5=B7=B2=E8=BF=87=E6=9C=9F?= =?UTF-8?q?=E7=9A=84=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Console/Commands/OrderCloseExpired.php | 39 ++++++++++++++++++++++ app/Models/Order.php | 8 +++++ 2 files changed, 47 insertions(+) create mode 100644 app/Console/Commands/OrderCloseExpired.php diff --git a/app/Console/Commands/OrderCloseExpired.php b/app/Console/Commands/OrderCloseExpired.php new file mode 100644 index 00000000..68cdd1cf --- /dev/null +++ b/app/Console/Commands/OrderCloseExpired.php @@ -0,0 +1,39 @@ +expired()->chunkById(1000, function ($orders) { + Order::whereIn('id', $orders->pluck('id')->all())->where('status', Order::STATUS_PENDING)->update([ + 'status' => Order::STATUS_CANCELLED, + ]); + }); + + return 0; + } +} diff --git a/app/Models/Order.php b/app/Models/Order.php index db88f085..144c98db 100644 --- a/app/Models/Order.php +++ b/app/Models/Order.php @@ -71,6 +71,14 @@ class Order extends Model self::PAY_WAY_BALANCE => '余额', ]; + /** + * 仅查询支付过期的订单 + */ + public function scopeExpired() + { + return $this->where('status', static::STATUS_PENDING)->where('created_at', '<=', now()->subSeconds(1800)); + } + /** * 属于此订单的商品 */