Переглянути джерело

Fix 24小时到期邮件判断问题 & 微优化自动任务

兔姬桑 4 роки тому
батько
коміт
3bd1c2b902

+ 6 - 8
app/Console/Commands/AutoJob.php

@@ -91,7 +91,7 @@ class AutoJob extends Command
                     ->count('request_ip');
                 if ($request_times >= $subscribe_ban_times) {
                     $user->subscribe->update([
-                        'status' => 0,
+                        'status'   => 0,
                         'ban_time' => strtotime('+'.sysConfig('traffic_ban_time').' minutes'),
                         'ban_desc' => '存在异常,自动封禁',
                     ]);
@@ -121,7 +121,7 @@ class AutoJob extends Command
                 // 多往前取5分钟,防止数据统计任务执行时间过长导致没有数据
                 if ($user->isTrafficWarning()) {
                     $user->update([
-                        'enable' => 0,
+                        'enable'   => 0,
                         'ban_time' => strtotime('+'.$trafficBanTime.' minutes'),
                     ]);
 
@@ -136,14 +136,12 @@ class AutoJob extends Command
     private function unblockUsers(): void
     {
         // 解封被临时封禁的账号
-        $userList = User::whereEnable(0)->where('status', '>=', 0)->whereNotNull('ban_time')->get();
+        $userList = User::whereEnable(0)->where('status', '>=', 0)->whereNotNull('ban_time')->where('ban_time', '<', time())->get();
         foreach ($userList as $user) {
-            if ($user->getRawOriginal('ban_time') < time()) {
-                $user->update(['enable' => 1, 'ban_time' => null]);
+            $user->update(['enable' => 1, 'ban_time' => null]);
 
-                // 写入操作日志
-                Helpers::addUserBanLog($user->id, 0, '【自动解封】-临时封禁到期');
-            }
+            // 写入操作日志
+            Helpers::addUserBanLog($user->id, 0, '【自动解封】-临时封禁到期');
         }
 
         // 可用流量大于已用流量也解封(比如:邀请返利自动加了流量)

+ 1 - 1
app/Console/Commands/DailyJob.php

@@ -116,7 +116,7 @@ class DailyJob extends Command
             Order::userActivePackage($user->id)->update(['is_expire' => 1]);
 
             $oldData = $user->transfer_enable;
-            // 重置流量与重置日期 TODO 可用流量变动日志加入至UserObserver
+            // 重置流量与重置日期
             $ret = $user->update((new OrderService($order))->resetTimeAndData($user->expired_at));
             if ($ret) {
                 // 可用流量变动日志

+ 4 - 6
app/Console/Commands/ServiceTimer.php

@@ -29,13 +29,11 @@ class ServiceTimer extends Command
     private function decGoodsTraffic(): void
     {
         //获取失效的套餐
-        foreach (Order::activePlan()->where('expired_at', '<=', date('Y-m-d H:i:s'))->with('user')->get() as $order) {
-            // 清理全部流量,重置重置日期和等级 TODO 可用流量变动日志加入至UserObserver
-            $user = $order->user;
+        foreach (Order::activePlan()->where('expired_at', '<=', date('Y-m-d H:i:s'))->with('user')->whereHas('user')->get() as $order) {
             // 无用户订单,跳过
-            if (! $user) {
-                continue;
-            }
+            // 清理全部流量,重置重置日期和等级
+            $user = $order->user;
+
             $user->update([
                 'u' => 0,
                 'd' => 0,

+ 3 - 3
app/Console/Commands/UserExpireAutoWarning.php

@@ -34,9 +34,9 @@ class UserExpireAutoWarning extends Command
     {
         $expireDays = sysConfig('expire_days');
         // 只取SSR没被禁用的用户,其他不用管
-        foreach (User::whereEnable(1)->get() as $user) {
+        foreach (User::whereEnable(1)->where('expired_at', '<', date('Y-m-d', strtotime(sysConfig('expire_days').' days')))->get() as $user) {
             // 用户名不是邮箱的跳过
-            if (false === filter_var($user->email, FILTER_VALIDATE_EMAIL)) {
+            if (filter_var($user->email, FILTER_VALIDATE_EMAIL) === false) {
                 continue;
             }
 
@@ -48,7 +48,7 @@ class UserExpireAutoWarning extends Command
 
                 $logId = Helpers::addNotificationLog($title, $content, 1, $user->email);
                 Mail::to($user->email)->send(new userExpireWarningToday($logId));
-            } elseif ($lastCanUseDays > 0 && $lastCanUseDays <= $expireDays) {
+            } elseif ($lastCanUseDays > 0) {
                 $title = '账号过期提醒';
                 $content = '您的账号还剩'.$lastCanUseDays.'天即将过期。';
 

+ 1 - 1
app/Console/Commands/UserTrafficAutoWarning.php

@@ -35,7 +35,7 @@ class UserTrafficAutoWarning extends Command
         $trafficWarningPercent = sysConfig('traffic_warning_percent');
         foreach (User::activeUser()->where('transfer_enable', '>', 0)->get() as $user) {
             // 用户名不是邮箱的跳过
-            if (false === filter_var($user->email, FILTER_VALIDATE_EMAIL)) {
+            if (filter_var($user->email, FILTER_VALIDATE_EMAIL) === false) {
                 continue;
             }
 

+ 1 - 1
resources/views/admin/logs/order.blade.php

@@ -114,7 +114,7 @@
                                 @endif
                             </td>
                             <td> {{$order->order_sn}}</td>
-                            <td> {{empty($order->goods) ? ($order->goods_id === 0 ? trans('user.recharge_credit') : trans('home.invoice_table_goods_deleted')) : $order->goods->name}} </td>
+                            <td> {{$order->goods->name  ?? trans('user.recharge_credit')}} </td>
                             <td> {{$order->is_expire ? '已过期' : $order->expired_at}} </td>
                             <td> {{$order->coupon ? $order->coupon->name . ' - ' . $order->coupon->sn : ''}} </td>
                             <td> ¥{{$order->origin_amount}} </td>

+ 1 - 1
resources/views/user/invite.blade.php

@@ -5,7 +5,7 @@
 @section('content')
     <div class="page-header">
         <h1 class="page-title cyan-600">
-            <i class="icon wb-extension"></i>{{trans('home.invitation_code')}}
+            <i class="icon wb-extension"></i>{{trans('user.menu.invites')}}
         </h1>
     </div>
     <div class="page-content container-fluid">

+ 1 - 1
resources/views/user/invoiceDetail.blade.php

@@ -40,7 +40,7 @@
                         <tbody>
                         <tr>
                             <td>
-                                <h3>{{$order->goods->name ?? ($order->goods_id === 0 ? trans('user.recharge_credit'): trans('home.invoice_table_goods_deleted'))}}</h3>
+                                <h3>{{$order->goods->name ?? trans('user.recharge_credit')}}</h3>
                             </td>
                             <td>
                                 @if($order->goods)

+ 1 - 1
resources/views/user/invoices.blade.php

@@ -33,7 +33,7 @@
                         <tr>
                             <td>{{$loop->iteration}}</td>
                             <td><a href="/invoice/{{$order->order_sn}}" target="_blank">{{$order->order_sn}}</a></td>
-                            <td>{{$order->goods->name ?? ($order->goods_id === 0 ? trans('user.recharge_credit'): trans('home.invoice_table_goods_deleted'))}}</td>
+                            <td>{{$order->goods->name ?? trans('user.recharge_credit')}}</td>
                             <td>{{$order->pay_way === 1 ? trans('user.shop.pay_credit') : trans('user.shop.pay_online')}}</td>
                             <td>¥{{$order->amount}}</td>
                             <td>{{$order->created_at}}</td>