59 lines
1.7 KiB
PHP
59 lines
1.7 KiB
PHP
<?php
|
|
|
|
namespace app\cron\controller;
|
|
|
|
use think\Db;
|
|
|
|
|
|
/*
|
|
* 定时任务,每秒执行的方法
|
|
*/
|
|
class TenSeconds
|
|
{
|
|
/*
|
|
* 运行函数
|
|
*/
|
|
function index()
|
|
{
|
|
//下面两个经业务调整 暂时不要了
|
|
// echo "房间在线人数:\n";
|
|
// $this->auction_end_notice();//拍卖房结束提醒
|
|
// echo "\n";
|
|
//清理切后台超过5分钟的用户
|
|
// echo "清理切后台超过5分钟的用户\n";
|
|
// $this->clear_offline_user();
|
|
// echo "\n";
|
|
|
|
//房间营业时间结束后把用户踢出房间
|
|
echo "房间营业时间结束后把用户踢出房间\n";
|
|
$this->room_end_kick_user();
|
|
echo "\n";
|
|
}
|
|
|
|
|
|
//房间营业时间结束后把用户踢出房间
|
|
public function room_end_kick_user()
|
|
{
|
|
//查找房间有人的用户
|
|
$room_user_list = Db::name('vs_room_visitor')->group('room_id')->select();
|
|
if($room_user_list){
|
|
foreach ($room_user_list as $room_user){
|
|
//查找房间营业时间
|
|
$room_info = Db::name('vs_room')->where('id',$room_user['room_id'])->find();
|
|
//房间是否在营业时间
|
|
$startTime = $room_info['start_time'];
|
|
$endTime = $room_info['end_time'];
|
|
//查看现在时间是否在营业时间
|
|
$isBusinessHours = model('api/Room')-> isBetweenTime($startTime, $endTime);
|
|
//当前时间不在营业时间内
|
|
if (!$isBusinessHours) {
|
|
model('Room')->quit_room(0, $room_user['room_id'],$room_user['user_id']);
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
} |