userExpireWarning(); } $jobEndTime = microtime(TRUE); $jobUsedTime = round(($jobEndTime-$jobStartTime), 4); Log::info('---【'.$this->description.'】完成---,耗时'.$jobUsedTime.'秒'); } private function userExpireWarning() { // 只取SSR没被禁用的用户,其他不用管 $userList = User::query()->whereEnable(1)->get(); foreach($userList as $user){ // 用户名不是邮箱的跳过 if(FALSE === filter_var($user->email, FILTER_VALIDATE_EMAIL)){ continue; } // 计算剩余可用时间 $lastCanUseDays = ceil(round(strtotime($user->expire_time)-strtotime(date('Y-m-d H:i:s')))/3600/24); if($lastCanUseDays == 0){ $title = '账号过期提醒'; $content = '您的账号将于今天晚上【24:00】过期。'; $logId = Helpers::addNotificationLog($title, $content, 1, $user->email); Mail::to($user->email)->send(new userExpireWarningToday($logId)); }elseif($lastCanUseDays > 0 && $lastCanUseDays <= self::$systemConfig['expire_days']){ $title = '账号过期提醒'; $content = '您的账号还剩'.$lastCanUseDays.'天即将过期。'; $logId = Helpers::addNotificationLog($title, $content, 1, $user->email); Mail::to($user->email)->send(new userExpireWarning($logId, $lastCanUseDays)); } } } }