| 
					
				 | 
			
			
				@@ -13,9 +13,9 @@ use App\Models\OnlineLog; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 use App\Models\Order; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 use App\Models\Paylist; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 use App\Models\Setting; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+use App\Models\SubscribeLog; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 use App\Models\User; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 use App\Models\UserHourlyUsage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-use App\Models\UserSubscribeLog; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 use App\Utils\Telegram; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 use App\Utils\Tools; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 use DateTime; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -54,21 +54,23 @@ final class CronJob 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             $trafficlog->datetime = time(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             $trafficlog->save(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo Tools::toDateTime(time()) . ' 流量记录处理完成' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public static function cleanDb(): void 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        UserSubscribeLog::where( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SubscribeLog::where( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             'request_time', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             '<', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            date('Y-m-d H:i:s', time() - 86400 * (int) $_ENV['subscribeLog_keep_days']) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            time() - 86400 * (int) $_ENV['subscribeLog_keep_days'] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         )->delete(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         UserHourlyUsage::where('datetime', '<', time() - 86400 * (int) $_ENV['trafficLog_keep_days'])->delete(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         DetectLog::where('datetime', '<', time() - 86400 * 3)->delete(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         EmailQueue::where('time', '<', time() - 86400)->delete(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         OnlineLog::where('last_time', '<', time() - 86400)->delete(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        echo date('Y-m-d H:i:s') . ' 数据库清理完成' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo Tools::toDateTime(time()) . ' 数据库清理完成' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public static function detectInactiveUser(): void 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -91,7 +93,8 @@ final class CronJob 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ->where('last_use_time', '>', time() - 86400 * $use_days) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ->update(['is_inactive' => 0]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        echo date('Y-m-d H:i:s') . ' 检测到 ' . User::where('is_inactive', '=', '1')->count() . ' 个账户处于闲置状态' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo Tools::toDateTime(time()) . 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ' 检测到 ' . User::where('is_inactive', '=', '1')->count() . ' 个账户处于闲置状态' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -163,7 +166,7 @@ final class CronJob 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 $node->save(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        echo date('Y-m-d H:i:s') . ' 节点离线检测完成' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo Tools::toDateTime(time()) . ' 节点离线检测完成' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public static function expirePaidUserAccount(): void 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -198,7 +201,7 @@ final class CronJob 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        echo date('Y-m-d H:i:s') . ' 付费用户过期检测完成' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo Tools::toDateTime(time()) . ' 付费用户过期检测完成' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public static function processEmailQueue(): void 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -208,7 +211,7 @@ final class CronJob 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //邮件队列处理 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         while (true) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (time() - $timestamp > 299) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                echo date('Y-m-d H:i:s') . '邮件队列处理超时,已跳过' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                echo Tools::toDateTime(time()) . '邮件队列处理超时,已跳过' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             DB::beginTransaction(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -240,7 +243,7 @@ final class CronJob 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             DB::commit(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        echo date('Y-m-d H:i:s') . ' 邮件队列处理完成' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo Tools::toDateTime(time()) . ' 邮件队列处理完成' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public static function processTabpOrderActivation(): void 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -301,7 +304,7 @@ final class CronJob 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        echo date('Y-m-d H:i:s') . ' TABP订单激活处理完成' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo Tools::toDateTime(time()) . ' TABP订单激活处理完成' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public static function processBandwidthOrderActivation(): void 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -330,7 +333,7 @@ final class CronJob 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        echo date('Y-m-d H:i:s') . ' 流量包订单激活处理完成' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo Tools::toDateTime(time()) . ' 流量包订单激活处理完成' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -374,7 +377,7 @@ final class CronJob 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        echo date('Y-m-d H:i:s') . ' 时间包订单激活处理完成' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo Tools::toDateTime(time()) . ' 时间包订单激活处理完成' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public static function processPendingOrder(): void 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -409,21 +412,21 @@ final class CronJob 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        echo date('Y-m-d H:i:s') . ' 等待中订单处理完成' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo Tools::toDateTime(time()) . ' 等待中订单处理完成' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public static function resetNodeBandwidth(): void 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Node::where('bandwidthlimit_resetday', date('d'))->update(['node_bandwidth' => 0]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        echo date('Y-m-d H:i:s') . ' 重设节点流量完成' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo Tools::toDateTime(time()) . ' 重设节点流量完成' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public static function resetTodayTraffic(): void 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         User::query()->update(['transfer_today' => 0]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        echo date('Y-m-d H:i:s') . ' 重设用户每日流量完成' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo Tools::toDateTime(time()) . ' 重设用户每日流量完成' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public static function resetFreeUserTraffic(): void 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -447,7 +450,7 @@ final class CronJob 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        echo date('Y-m-d H:i:s') . ' 重设免费用户流量完成' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo Tools::toDateTime(time()) . ' 重设免费用户流量完成' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public static function sendDailyFinanceMail(): void 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -482,7 +485,7 @@ final class CronJob 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        echo date('Y-m-d H:i:s') . ' 成功发送财务日报' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo Tools::toDateTime(time()) . ' 成功发送财务日报' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public static function sendWeeklyFinanceMail(): void 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -506,7 +509,7 @@ final class CronJob 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        echo date('Y-m-d H:i:s') . ' 成功发送财务周报' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo Tools::toDateTime(time()) . ' 成功发送财务周报' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public static function sendMonthlyFinanceMail(): void 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -530,7 +533,7 @@ final class CronJob 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        echo date('Y-m-d H:i:s') . ' 成功发送财务月报' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo Tools::toDateTime(time()) . ' 成功发送财务月报' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public static function sendPaidUserUsageLimitNotification(): void 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -576,7 +579,7 @@ final class CronJob 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        echo date('Y-m-d H:i:s') . ' 付费用户用量限制提醒完成' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo Tools::toDateTime(time()) . ' 付费用户用量限制提醒完成' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public static function sendDailyTrafficReport(): void 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -595,7 +598,7 @@ final class CronJob 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             $user->sendDailyNotification($ann_latest); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        echo date('Y-m-d H:i:s') . ' 成功发送每日邮件' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo Tools::toDateTime(time()) . ' 成功发送每日邮件' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -605,7 +608,7 @@ final class CronJob 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Telegram::send(Setting::obtain('telegram_daily_job_text')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        echo date('Y-m-d H:i:s') . ' 成功发送 Telegram 每日任务提示' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo Tools::toDateTime(time()) . ' 成功发送 Telegram 每日任务提示' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -629,7 +632,7 @@ final class CronJob 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        echo date('Y-m-d H:i:s') . ' 成功发送 Telegram 系统运行日志' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo Tools::toDateTime(time()) . ' 成功发送 Telegram 系统运行日志' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public static function updateNodeIp(): void 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -644,6 +647,6 @@ final class CronJob 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        echo date('Y-m-d H:i:s') . ' 更新节点 IP 完成' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo Tools::toDateTime(time()) . ' 更新节点 IP 完成' . PHP_EOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |