From 3fc08053a8eb5b05cf1cc8c05ca4123264c94d2b Mon Sep 17 00:00:00 2001 From: BrettonYe Date: Wed, 10 Jul 2024 23:17:02 +0800 Subject: [PATCH] Fixed order retrieval issue during traffic reset. --- app/Console/Commands/TaskDaily.php | 12 ++++++------ app/Models/Order.php | 14 +++++++------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/app/Console/Commands/TaskDaily.php b/app/Console/Commands/TaskDaily.php index 5f9dedb8..6c1a4aae 100644 --- a/app/Console/Commands/TaskDaily.php +++ b/app/Console/Commands/TaskDaily.php @@ -87,14 +87,14 @@ class TaskDaily extends Command private function resetUserTraffic(): void { // 重置用户流量 $today = date('Y-m-d'); - User::where('status', '<>', -1)->where('expired_at', '>', $today)->where('reset_time', '<=', $today)->with([ - 'orders' => function ($query) { - $query->activePlan(); - }, - ])->has('orders')->chunk(config('tasks.chunk'), function ($users) { + User::where('status', '<>', -1)->where('expired_at', '>', $today)->where('reset_time', '<=', $today)->whereHas('orders', function ($query) { + $query->activePlan(); + })->with(['orders' => function ($query) { + $query->activePlan(); + }])->chunk(config('tasks.chunk'), function ($users) { $users->each(function ($user) { $user->orders()->activePackage()->update(['is_expire' => 1]); // 过期生效中的加油包 - $order = $user->orders()->activePlan()->first(); // 取出用户正在使用的套餐 + $order = $user->orders->first(); // 取出用户正在使用的套餐 $oldData = $user->transfer_enable; // 重置流量与重置日期 diff --git a/app/Models/Order.php b/app/Models/Order.php index 7dbf8168..30f7abf7 100644 --- a/app/Models/Order.php +++ b/app/Models/Order.php @@ -49,9 +49,9 @@ class Order extends Model return $this->hasOne(Payment::class); } - public function scopeUid(Builder $query, int $uid = 0): Builder + public function scopeUid(Builder $query, ?int $uid = null): Builder { - return $query->whereUserId($uid ?: Auth::id()); + return $query->whereUserId($uid ?? Auth::id()); } public function scopeRecentUnPay(Builder $query, int $minutes = 0): Builder @@ -63,7 +63,7 @@ class Order extends Model return $query->whereStatus(0)->where('created_at', '<=', date('Y-m-d H:i:s', strtotime("-$minutes minutes"))); } - public function scopeUserPrepay(Builder $query, int $uid = 0): Builder + public function scopeUserPrepay(Builder $query, ?int $uid = null): Builder { return $query->uid($uid)->whereStatus(3)->oldest(); } @@ -92,12 +92,12 @@ class Order extends Model }); } - public function scopeUserActivePlan(Builder $query, int $uid = 0): Builder + public function scopeUserActivePlan(Builder $query, ?int $uid = null): Builder { return $query->uid($uid)->activePlan(); } - public function scopeUserActivePackage(Builder $query, int $uid = 0): Builder + public function scopeUserActivePackage(Builder $query, ?int $uid = null): Builder { return $query->uid($uid)->activePackage(); } @@ -136,7 +136,7 @@ class Order extends Model { switch ($status) { case -1: - $label = trans('common.order.status.cancel'); + $label = trans('common.order.status.canceled'); break; case 0: $tag = 1; @@ -148,7 +148,7 @@ class Order extends Model break; case 2: if ($this->goods_id === null) { - $label = trans('common.order.status.complete'); + $label = trans('common.order.status.completed'); } elseif ($expire) { $label = trans('common.status.expire'); } else {