Fixed order retrieval issue during traffic reset.

This commit is contained in:
BrettonYe
2024-07-10 23:17:02 +08:00
parent 8ced09dc6f
commit 3fc08053a8
2 changed files with 13 additions and 13 deletions

View File

@@ -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;
// 重置流量与重置日期

View File

@@ -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 {