diff --git a/app/Service/v3/Implementations/OrderListService.php b/app/Service/v3/Implementations/OrderListService.php index a607eda..5d9c215 100644 --- a/app/Service/v3/Implementations/OrderListService.php +++ b/app/Service/v3/Implementations/OrderListService.php @@ -61,6 +61,9 @@ class OrderListService implements OrderListServiceInterface // 清除badge $this->badgeService->clearUserOrder($userId, $tab); + // 自动取消超时订单 + $this->autoCancel($userId); + $paginate = $builder->orderBy('created_at', 'desc')->paginate($pagesize); $orders = $paginate->toArray(); return ['has_more_pages' => $paginate->hasMorePages(), 'orders' => $orders['data']]; @@ -188,4 +191,12 @@ class OrderListService implements OrderListServiceInterface $orders = $paginate->toArray(); return ['has_more_pages' => $paginate->hasMorePages(), 'orders' => $orders['data']]; } + + public function autoCancel($userId) + { + return OrderMain::query() + ->where(['user_id' => $userId]) + ->where('created_at', '<', time()-900) + ->update(['state' => OrderState::CANCELED]); + } } \ No newline at end of file