diff --git a/app/Http/Controllers/Api/ApproveController.php b/app/Http/Controllers/Api/ApproveController.php index d98eb29b4..223bf006e 100755 --- a/app/Http/Controllers/Api/ApproveController.php +++ b/app/Http/Controllers/Api/ApproveController.php @@ -2,7 +2,6 @@ namespace App\Http\Controllers\Api; -use App\Module\Doo; use Request; use Session; use Response; @@ -10,6 +9,8 @@ use Madzipper; use Carbon\Carbon; use App\Models\User; use App\Module\Base; +use App\Module\Doo; +use App\Module\Timer; use App\Module\Ihttp; use App\Tasks\PushTask; use App\Module\BillExport; @@ -758,7 +759,7 @@ class ApproveController extends AbstractController if (empty($name) || empty($date)) { return Base::retError('参数错误'); } - if (!(is_array($date) && Base::isDate($date[0]) && Base::isDate($date[1]))) { + if (!(is_array($date) && Timer::isDate($date[0]) && Timer::isDate($date[1]))) { return Base::retError('日期选择错误'); } if (Carbon::parse($date[1])->timestamp - Carbon::parse($date[0])->timestamp > 35 * 86400) { @@ -817,7 +818,7 @@ class ApproveController extends AbstractController // 计算审批耗时 $startTime = Carbon::parse($val['start_time'])->timestamp; $endTime = $val['end_time'] ? Carbon::parse($val['end_time'])->timestamp : time(); - $approval_time = Doo::translate(Base::timeDiff($startTime, $endTime)); // 审批耗时 + $approval_time = Doo::translate(Timer::timeDiff($startTime, $endTime)); // 审批耗时 // 计算时长 $varStartTime = Carbon::parse($val['var']['start_time']); $varEndTime = Carbon::parse($val['var']['end_time']); @@ -859,8 +860,8 @@ class ApproveController extends AbstractController BillExport::create()->setTitle($title)->setHeadings($headings)->setData($datas)->setStyles(["A1:Y1" => ["font" => ["bold" => true]]]) ]; // - $fileName = $title . '_' . Base::time() . '.xlsx'; - $filePath = "temp/approve/export/" . date("Ym", Base::time()); + $fileName = $title . '_' . Timer::time() . '.xlsx'; + $filePath = "temp/approve/export/" . date("Ym", Timer::time()); $export = new BillMultipleExport($sheets); $res = $export->store($filePath . "/" . $fileName); if ($res != 1) { @@ -978,9 +979,9 @@ class ApproveController extends AbstractController 'department' => $process['department'], 'type' => $process['var']['type'], 'start_time' => $process['var']['start_time'], - 'start_day_of_week' => '周' . Base::getTimeWeek(Carbon::parse($process['var']['start_time'])->timestamp), + 'start_day_of_week' => '周' . Timer::getWeek(Carbon::parse($process['var']['start_time'])->timestamp), 'end_time' => $process['var']['end_time'], - 'end_day_of_week' => '周' . Base::getTimeWeek(Carbon::parse($process['var']['end_time'])->timestamp), + 'end_day_of_week' => '周' . Timer::getWeek(Carbon::parse($process['var']['end_time'])->timestamp), 'description' => $process['var']['description'], 'comment_nickname' => $process['comment_user_id'] ? User::userid2nickname($process['comment_user_id']) : '', 'comment_content' => $process['comment_contents']['content'] ?? '', diff --git a/app/Http/Controllers/Api/DialogController.php b/app/Http/Controllers/Api/DialogController.php index 41beb51f9..98951a97d 100755 --- a/app/Http/Controllers/Api/DialogController.php +++ b/app/Http/Controllers/Api/DialogController.php @@ -11,6 +11,7 @@ use App\Module\Doo; use App\Models\File; use App\Models\User; use App\Module\Base; +use App\Module\Timer; use App\Module\Extranet; use App\Module\TimeRange; use App\Models\FileContent; @@ -591,7 +592,7 @@ class DialogController extends AbstractController ->value('id')); } $data['list'] = $list; - $data['time'] = Base::time(); + $data['time'] = Timer::time(); // 记录当前打开的任务对话 if ($dialog->type == 'group' && $dialog->group_type == 'task') { $user->task_dialog_id = $dialog->id; diff --git a/app/Http/Controllers/Api/FileController.php b/app/Http/Controllers/Api/FileController.php index 4d7b63abf..e427e4d1c 100755 --- a/app/Http/Controllers/Api/FileController.php +++ b/app/Http/Controllers/Api/FileController.php @@ -12,7 +12,7 @@ use App\Models\FileLink; use App\Models\FileUser; use App\Models\User; use App\Module\Base; -use App\Module\Doo; +use App\Module\Timer; use App\Module\Ihttp; use Response; use Session; @@ -1020,9 +1020,9 @@ class FileController extends AbstractController if (empty($fileName)) { $fileName = 'Package_' . $user->userid; } - $fileName .= '_' . Base::time() . '.zip'; + $fileName .= '_' . Timer::time() . '.zip'; - $filePath = "temp/file/pack/" . date("Ym", Base::time()); + $filePath = "temp/file/pack/" . date("Ym", Timer::time()); $zipFile = "app/" . $filePath . "/" . $fileName; $zipPath = storage_path($zipFile); diff --git a/app/Http/Controllers/Api/ProjectController.php b/app/Http/Controllers/Api/ProjectController.php index f99e32dd4..9d18db12a 100755 --- a/app/Http/Controllers/Api/ProjectController.php +++ b/app/Http/Controllers/Api/ProjectController.php @@ -12,6 +12,7 @@ use App\Module\Doo; use App\Models\File; use App\Models\User; use App\Module\Base; +use App\Module\Timer; use Swoole\Coroutine; use App\Models\Deleted; use App\Models\Project; @@ -1003,7 +1004,7 @@ class ProjectController extends AbstractController } // if (is_array($time)) { - if (Base::isDateOrTime($time[0]) && Base::isDateOrTime($time[1])) { + if (Timer::isDateOrTime($time[0]) && Timer::isDateOrTime($time[1])) { $builder->betweenTime(Carbon::parse($time[0])->startOfDay(), Carbon::parse($time[1])->endOfDay()); } } @@ -1196,7 +1197,7 @@ class ProjectController extends AbstractController if (count($userid) > 100) { return Base::retError('导出成员限制最多100个'); } - if (!(is_array($time) && Base::isDateOrTime($time[0]) && Base::isDateOrTime($time[1]))) { + if (!(is_array($time) && Timer::isDateOrTime($time[0]) && Timer::isDateOrTime($time[1]))) { return Base::retError('时间选择错误'); } if (Carbon::parse($time[1])->timestamp - Carbon::parse($time[0])->timestamp > 90 * 86400) { @@ -1279,9 +1280,9 @@ class ProjectController extends AbstractController $planTotalTime = $endTime - $startTime; $residueTime = $planTotalTime - $totalTime; if ($residueTime < 0) { - $overTime = Doo::translate(Base::timeFormat(abs($residueTime))); + $overTime = Doo::translate(Timer::timeFormat(abs($residueTime))); } - $planTime = Doo::translate(Base::timeDiff($startTime, $endTime)); + $planTime = Doo::translate(Timer::timeDiff($startTime, $endTime)); } $actualTime = $task->complete_at ? $totalTime : 0; // 实际完成用时 $statusText = '未完成'; @@ -1322,10 +1323,10 @@ class ProjectController extends AbstractController $task->complete_at ?: '-', $task->archived_at ?: '-', $planTime, - $actualTime ? Doo::translate(Base::timeFormat($actualTime)) : '-', + $actualTime ? Doo::translate(Timer::timeFormat($actualTime)) : '-', $overTime, - $developTime > 0 ? Doo::translate(Base::timeFormat($developTime)) : '-', - $testTime > 0 ? Doo::translate(Base::timeFormat($testTime)) : '-', + $developTime > 0 ? Doo::translate(Timer::timeFormat($developTime)) : '-', + $testTime > 0 ? Doo::translate(Timer::timeFormat($testTime)) : '-', Base::filterEmoji(User::userid2nickname($task->ownerid)) . " (ID: {$task->ownerid})", Base::filterEmoji(User::userid2nickname($task->userid)) . " (ID: {$task->userid})", Doo::translate($statusText), @@ -1362,8 +1363,8 @@ class ProjectController extends AbstractController } else { $fileName .= '的任务统计'; } - $fileName = Doo::translate($fileName) . '_' . Base::time() . '.xls'; - $filePath = "temp/task/export/" . date("Ym", Base::time()); + $fileName = Doo::translate($fileName) . '_' . Timer::time() . '.xls'; + $filePath = "temp/task/export/" . date("Ym", Timer::time()); $export = new BillMultipleExport($sheets); $res = $export->store($filePath . "/" . $fileName); if ($res != 1) { @@ -1464,9 +1465,9 @@ class ProjectController extends AbstractController $planTotalTime = $endTime - $startTime; $residueTime = $planTotalTime - $totalTime; if ($residueTime < 0) { - $overTime = Doo::translate(Base::timeFormat(abs($residueTime))); + $overTime = Doo::translate(Timer::timeFormat(abs($residueTime))); } - $planTime = Doo::translate(Base::timeDiff($startTime, $endTime)); + $planTime = Doo::translate(Timer::timeDiff($startTime, $endTime)); } $ownerIds = $task->taskUser->where('owner', 1)->pluck('userid')->toArray(); $ownerNames = []; @@ -1496,8 +1497,8 @@ class ProjectController extends AbstractController BillExport::create()->setTitle($title)->setHeadings($headings)->setData($data)->setStyles(["A1:J1" => ["font" => ["bold" => true]]]) ]; // - $fileName = $title . '_' . Base::time() . '.xls'; - $filePath = "temp/task/export/" . date("Ym", Base::time()); + $fileName = $title . '_' . Timer::time() . '.xls'; + $filePath = "temp/task/export/" . date("Ym", Timer::time()); $export = new BillMultipleExport($sheets); $res = $export->store($filePath . "/" . $fileName); if ($res != 1) { @@ -2541,10 +2542,10 @@ class ProjectController extends AbstractController } $log->detail = Doo::translate($log->detail); $log->time = [ - 'ymd' => date(date("Y", $timestamp) == date("Y", Base::time()) ? "m-d" : "Y-m-d", $timestamp), + 'ymd' => date(date("Y", $timestamp) == date("Y", Timer::time()) ? "m-d" : "Y-m-d", $timestamp), 'hi' => date("h:i", $timestamp) , - 'week' => Doo::translate("周" . Base::getTimeWeek($timestamp)), - 'segment' => Doo::translate(Base::getTimeDayeSegment($timestamp)), + 'week' => Doo::translate("周" . Timer::getWeek($timestamp)), + 'segment' => Doo::translate(Timer::getDayeSegment($timestamp)), ]; $record = Base::json2array($log->record); if (is_array($record['change'])) { diff --git a/app/Http/Controllers/Api/UsersController.php b/app/Http/Controllers/Api/UsersController.php index 0890e804f..217682883 100755 --- a/app/Http/Controllers/Api/UsersController.php +++ b/app/Http/Controllers/Api/UsersController.php @@ -11,6 +11,7 @@ use App\Module\Doo; use App\Models\File; use App\Models\User; use App\Module\Base; +use App\Module\Timer; use App\Ldap\LdapUser; use App\Models\Meeting; use App\Models\Project; @@ -1091,7 +1092,7 @@ class UsersController extends AbstractController return Base::retError('链接已经使用过', ['code' => 2]); $oldTime = Carbon::parse($res->created_at)->timestamp; - $time = Base::Time(); + $time = Timer::Time(); // 30分钟失效 if (abs($time - $oldTime) > 1800) { diff --git a/app/Models/FileContent.php b/app/Models/FileContent.php index 0a2db02cb..6a2135eb4 100644 --- a/app/Models/FileContent.php +++ b/app/Models/FileContent.php @@ -4,6 +4,7 @@ namespace App\Models; use App\Module\Base; +use App\Module\Timer; use Illuminate\Database\Eloquent\SoftDeletes; /** @@ -76,7 +77,7 @@ class FileContent extends AbstractModel 'name' => $name, 'ext' => $fileExt ])); - return Base::fillUrl("online/preview/{$name}?key={$key}&version=" . Base::getVersion() . "&__=" . Base::msecTime()); + return Base::fillUrl("online/preview/{$name}?key={$key}&version=" . Base::getVersion() . "&__=" . Timer::msecTime()); } /** diff --git a/app/Models/ProjectTask.php b/app/Models/ProjectTask.php index 09edffe81..df51eae7d 100644 --- a/app/Models/ProjectTask.php +++ b/app/Models/ProjectTask.php @@ -2,6 +2,7 @@ namespace App\Models; +use App\Module\Timer; use DB; use Arr; use Request; @@ -438,7 +439,7 @@ class ProjectTask extends AbstractModel // 时间 if ($times) { list($start, $end) = is_string($times) ? explode(",", $times) : (is_array($times) ? $times : []); - if (Base::isDate($start) && Base::isDate($end) && $start != $end) { + if (Timer::isDate($start) && Timer::isDate($end) && $start != $end) { $task->start_at = Carbon::parse($start); $task->end_at = Carbon::parse($end); } @@ -537,7 +538,7 @@ class ProjectTask extends AbstractModel if ($task->parent_id == 0 && $subtasks && is_array($subtasks)) { foreach ($subtasks as $subtask) { list($start, $end) = is_string($subtask['times']) ? explode(",", $subtask['times']) : (is_array($subtask['times']) ? $subtask['times'] : []); - if (Base::isDate($start) && Base::isDate($end) && $start != $end) { + if (Timer::isDate($start) && Timer::isDate($end) && $start != $end) { if (Carbon::parse($start)->lt($task->start_at)) { throw new ApiException('子任务开始时间不能小于主任务开始时间'); } @@ -663,7 +664,7 @@ class ProjectTask extends AbstractModel if ($mainTask?->complete_at) { throw new ApiException('主任务已完成,无法修改子任务状态'); } - if (Base::isDate($data['complete_at'])) { + if (Timer::isDate($data['complete_at'])) { // 标记已完成 if ($this->complete_at) { throw new ApiException('任务已完成'); @@ -774,7 +775,7 @@ class ProjectTask extends AbstractModel $this->end_at = null; $times = $data['times']; list($start, $end, $desc) = is_string($times) ? explode(",", $times) : (is_array($times) ? $times : []); - if (Base::isDate($start) && Base::isDate($end) && $start != $end) { + if (Timer::isDate($start) && Timer::isDate($end) && $start != $end) { $start_at = Carbon::parse($start); $end_at = Carbon::parse($end); if ($this->parent_id > 0) { diff --git a/app/Models/UserBot.php b/app/Models/UserBot.php index a83dcea72..e7389e18a 100644 --- a/app/Models/UserBot.php +++ b/app/Models/UserBot.php @@ -5,6 +5,7 @@ namespace App\Models; use App\Module\Base; use App\Module\Doo; use App\Module\Extranet; +use App\Module\Timer; use App\Tasks\JokeSoupTask; use Cache; use Carbon\Carbon; @@ -210,7 +211,7 @@ class UserBot extends AbstractModel if (!in_array('manual', $setting['modes'])) { return '暂未开放手动签到。'; } - if ($error = UserBot::checkinBotCheckin('manual-' . $userid, Base::time(), true)) { + if ($error = UserBot::checkinBotCheckin('manual-' . $userid, Timer::time(), true)) { return $error; } return null; @@ -230,7 +231,7 @@ class UserBot extends AbstractModel } else { return '错误的定位签到。'; } - if ($error = UserBot::checkinBotCheckin('locat-' . $userid, Base::time(), true)) { + if ($error = UserBot::checkinBotCheckin('locat-' . $userid, Timer::time(), true)) { return $error; } return null; @@ -262,7 +263,7 @@ class UserBot extends AbstractModel $timeEnd = strtotime("{$nowDate} {$times[1]}"); $timeAdvance = max($timeStart - $advance, strtotime($nowDate)); $timeDelay = min($timeEnd + $delay, strtotime("{$nowDate} 23:59:59")); - if (Base::time() < $timeAdvance || $timeDelay < Base::time()) { + if (Timer::time() < $timeAdvance || $timeDelay < Timer::time()) { return "不在有效时间内,有效时间为:" . date("H:i", $timeAdvance) . "-" . date("H:i", $timeDelay); } // @@ -367,13 +368,13 @@ class UserBot extends AbstractModel ], $botUser->userid, false, false, $type != "up"); } }; - if ($timeAdvance <= Base::time() && Base::time() < $timeEnd) { + if ($timeAdvance <= Timer::time() && Timer::time() < $timeEnd) { // 上班打卡通知(从最早打卡时间 到 下班打卡时间) foreach ($checkins as $checkin) { $sendMsg('up', $checkin); } } - if ($timeEnd <= Base::time() && Base::time() <= $timeDelay) { + if ($timeEnd <= Timer::time() && Timer::time() <= $timeDelay) { // 下班打卡通知(下班打卡时间 到 最晚打卡时间) foreach ($checkins as $checkin) { $sendMsg('down', $checkin); diff --git a/app/Models/UserEmailVerification.php b/app/Models/UserEmailVerification.php index e20ada5e4..e06417945 100644 --- a/app/Models/UserEmailVerification.php +++ b/app/Models/UserEmailVerification.php @@ -4,6 +4,7 @@ namespace App\Models; use App\Exceptions\ApiException; use App\Module\Base; +use App\Module\Timer; use Carbon\Carbon; use Guanguans\Notify\Factory; use Guanguans\Notify\Messages\EmailMessage; @@ -122,7 +123,7 @@ class UserEmailVerification extends AbstractModel } $oldTime = Carbon::parse($emailVerify->created_at)->timestamp; - $time = Base::Time(); + $time = Timer::Time(); // 30分钟失效 if (abs($time - $oldTime) > 1800) { diff --git a/app/Module/Base.php b/app/Module/Base.php index 362751b69..0538e1192 100755 --- a/app/Module/Base.php +++ b/app/Module/Base.php @@ -937,70 +937,7 @@ class Base */ public static function isTwoArray($array) { - if (!is_array($array)) { - return false; - } - $json = self::array2json($array); - return (bool)self::leftExists($json, '['); - } - - /** - * 检测日期格式 - * @param string $str 需要检测的字符串 - * @return bool - */ - public static function isDate($str) - { - $strArr = explode('-', $str); - if (empty($strArr) || count($strArr) != 3) { - return false; - } else { - list($year, $month, $day) = $strArr; - if (checkdate(intval($month), intval($day), intval($year))) { - return true; - } else { - return false; - } - } - } - - /** - * 检测时间格式 - * @param string $str 需要检测的字符串 - * @return bool - */ - public static function isTime($str) - { - $strArr = explode(':', $str); - $count = count($strArr); - if ($count < 2 || $count > 3) { - return false; - } - $hour = $strArr[0]; - if ($hour < 0 || $hour > 23) { - return false; - } - $minute = $strArr[1]; - if ($minute < 0 || $minute > 59) { - return false; - } - if ($count == 3) { - $second = $strArr[2]; - if ($second < 0 || $second > 59) { - return false; - } - } - return true; - } - - /** - * 检测 日期格式 或 时间格式 - * @param string $str 需要检测的字符串 - * @return bool - */ - public static function isDateOrTime($str) - { - return self::isDate($str) || self::isTime($str); + return is_array($array) && count(array_filter($array, 'is_array')) > 0; } /** @@ -1323,27 +1260,6 @@ class Base return RequestContext::save('setting_' . $setname, $setting); } - /** - * 时间转毫秒时间戳 - * @param $time - * @return float|int - */ - public static function strtotimeM($time) - { - if (str_contains($time, '.')) { - list($t, $m) = explode(".", $time); - if (is_string($t)) { - $t = strtotime($t); - } - $time = $t . str_pad($m, 3, "0", STR_PAD_LEFT); - } - if (is_numeric($time)) { - return (int) str_pad($time, 13, "0"); - } else { - return strtotime($time) * 1000; - } - } - /** * 获取设置值 * @param $setname @@ -1357,120 +1273,6 @@ class Base return $array[$keyname] ?? $defaultVal; } - /** - * 秒 (转) 年、天、时、分、秒 - * @param $time - * @return array|bool - */ - public static function sec2time($time) - { - if (is_numeric($time)) { - $value = array( - "years" => 0, "days" => 0, "hours" => 0, - "minutes" => 0, "seconds" => 0, - ); - if ($time >= 86400) { - $value["days"] = floor($time / 86400); - $time = ($time % 86400); - } - if ($time >= 3600) { - $value["hours"] = floor($time / 3600); - $time = ($time % 3600); - } - if ($time >= 60) { - $value["minutes"] = floor($time / 60); - $time = ($time % 60); - } - $value["seconds"] = floor($time); - return (array)$value; - } else { - return (bool)FALSE; - } - } - - /** - * 年、天、时、分、秒 (转) 秒 - * @param $value - * @return int - */ - public static function time2sec($value) - { - $time = intval($value["seconds"]); - $time += intval($value["minutes"] * 60); - $time += intval($value["hours"] * 3600); - $time += intval($value["days"] * 86400); - $time += intval($value["years"] * 31536000); - return $time; - } - - /** - * 阿拉伯数字转化为中文 - * @param $num - * @return string - */ - public static function chinaNum($num) - { - $china = array('零', '一', '二', '三', '四', '五', '六', '七', '八', '九'); - $arr = str_split($num); - $txt = ''; - for ($i = 0; $i < count($arr); $i++) { - $txt .= $china[$arr[$i]]; - } - return $txt; - } - - /** - * 阿拉伯数字转化为中文(用于星期,七改成日) - * @param $num - * @return string - */ - public static function chinaNumZ($num) - { - return str_replace("七", "日", Base::chinaNum($num)); - } - - /** - * 获取(时间戳转)今天是星期几,只返回(几) - * @param string|number $unixTime - * @return string - */ - public static function getTimeWeek($unixTime = '') - { - $unixTime = is_numeric($unixTime) ? $unixTime : time(); - $weekarray = ['日', '一', '二', '三', '四', '五', '六']; - return $weekarray[date('w', $unixTime)]; - } - - /** - * 获取(时间戳转)现在时间段:深夜、凌晨、早晨、上午..... - * @param string|number $unixTime - * @return string - */ - public static function getTimeDayeSegment($unixTime = '') - { - $unixTime = is_numeric($unixTime) ? $unixTime : time(); - $H = date('H', $unixTime); - if ($H >= 19) { - return '晚上'; - } elseif ($H >= 18) { - return '傍晚'; - } elseif ($H >= 13) { - return '下午'; - } elseif ($H >= 12) { - return '中午'; - } elseif ($H >= 8) { - return '上午'; - } elseif ($H >= 5) { - return '早晨'; - } elseif ($H >= 1) { - return '凌晨'; - } elseif ($H >= 0) { - return '深夜'; - } else { - return ''; - } - } - /** * JSON返回 * @param $param @@ -1616,38 +1418,6 @@ class Base return $hour . '小时'; } - /** - * 时间格式化 - * @param $date - * @return false|string - */ - public static function forumDate($date) - { - $dur = time() - $date; - if ($date > Carbon::now()->startOf('day')->timestamp) { - //今天 - if ($dur < 60) { - return max($dur, 1) . '秒前'; - } elseif ($dur < 3600) { - return floor($dur / 60) . '分钟前'; - } elseif ($dur < 86400) { - return floor($dur / 3600) . '小时前'; - } else { - return date("H:i", $date); - } - } elseif ($date > Carbon::now()->subDays()->startOf('day')->timestamp) { - //昨天 - return '昨天'; - } elseif ($date > Carbon::now()->subDays(2)->startOf('day')->timestamp) { - //前天 - return '前天'; - } elseif ($dur > 86400) { - //x天前 - return floor($dur / 86400) . '天前'; - } - return date("Y-m-d", $date); - } - /** * 创建Carbon对象 * @param $var @@ -1734,76 +1504,6 @@ class Base return $str; } - /** - * 获取时间戳 - * @return int - */ - public static function time() - { - return intval(RequestContext::get("start_time", time())); - } - - /** - * 获取毫秒时间戳 - * @return float - */ - public static function msecTime() - { - list($msec, $sec) = explode(' ', microtime()); - $time = explode(".", $sec . ($msec * 1000)); - return $time[0]; - } - - /** - * 时间差(不够1个小时算一个小时) - * @param int $s 开始时间戳 - * @param int $e 结束时间戳 - * @return string - */ - public static function timeDiff($s, $e) - { - $time = $e - $s; - $days = 0; - if ($time >= 86400) { // 如果大于1天 - $days = (int)($time / 86400); - $time = $time % 86400; // 计算天后剩余的毫秒数 - } - $hours = 0; - if ($time >= 3600) { // 如果大于1小时 - $hours = (int)($time / 3600); - $time = $time % 3600; // 计算小时后剩余的毫秒数 - } - $minutes = ceil($time / 60); // 剩下的毫秒数都算作分 - $daysStr = $days > 0 ? $days . '天' : ''; - $hoursStr = ($hours > 0 || ($days > 0 && $minutes > 0)) ? $hours . '时' : ''; - $minuteStr = ($minutes > 0) ? $minutes . '分' : ''; - return $daysStr . $hoursStr . $minuteStr; - } - - /** - * 时间秒数格式化 - * @param int $time 时间秒数 - * @return string - */ - public static function timeFormat($time) - { - $days = 0; - if ($time >= 86400) { // 如果大于1天 - $days = (int)($time / 86400); - $time = $time % 86400; // 计算天后剩余的毫秒数 - } - $hours = 0; - if ($time >= 3600) { // 如果大于1小时 - $hours = (int)($time / 3600); - $time = $time % 3600; // 计算小时后剩余的毫秒数 - } - $minutes = ceil($time / 60); // 剩下的毫秒数都算作分 - $daysStr = $days > 0 ? $days . '天' : ''; - $hoursStr = ($hours > 0 || ($days > 0 && $minutes > 0)) ? $hours . '时' : ''; - $minuteStr = ($minutes > 0) ? $minutes . '分' : ''; - return $daysStr . $hoursStr . $minuteStr; - } - /** * 取ip前3段 * @param $ip diff --git a/app/Tasks/CheckinRemindTask.php b/app/Tasks/CheckinRemindTask.php index be8994dde..c90e561d9 100644 --- a/app/Tasks/CheckinRemindTask.php +++ b/app/Tasks/CheckinRemindTask.php @@ -9,6 +9,7 @@ use App\Models\WebSocketDialogMsg; use App\Module\Base; use App\Module\Doo; use App\Module\Extranet; +use App\Module\Timer; use Cache; use Carbon\Carbon; @@ -41,14 +42,14 @@ class CheckinRemindTask extends AbstractTask // if ($remindin > 0) { $timeRemindin = $timeStart - $remindin; - if ($timeRemindin <= Base::time() && Base::time() <= $timeStart) { + if ($timeRemindin <= Timer::time() && Timer::time() <= $timeStart) { // 签到打卡提醒 $this->remind('in'); } } if ($remindexceed > 0) { $timeRemindexceed = $timeStart + $remindexceed; - if ($timeRemindexceed <= Base::time() && Base::time() <= $timeRemindexceed + 300) { + if ($timeRemindexceed <= Timer::time() && Timer::time() <= $timeRemindexceed + 300) { // 签到缺卡提醒 $this->remind('exceed'); }