90 lines
2.8 KiB
PHP
90 lines
2.8 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";
|
|
|
|
|
|
echo "清除房间热度值:\n";
|
|
$this->clear_room_today_hot_value();//整点以后房间热度值清零
|
|
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) {
|
|
$user_list = Db::name('vs_room_visitor')->where('room_id',$room_user['room_id'])->select();
|
|
if($user_list){
|
|
foreach ($user_list as $user){
|
|
|
|
model('Room')->quit_room($room_info['user_id'], $room_user['room_id'],$user['user_id'],1);
|
|
}
|
|
}
|
|
}
|
|
echo "房间:".$room_user['room_id']."营业时间结束,把用户踢出房间\n";
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
/*
|
|
* 整点以后房间热度值清零
|
|
* 配置:
|
|
*/
|
|
public function clear_room_today_hot_value() {
|
|
$where = [];
|
|
$where['delete_time'] = 0;
|
|
$where['is_show_room'] = 1;
|
|
$room = db::name('vs_room')->where($where)->select();
|
|
echo date('Y-m-d H:i:s').' 开始清零:'.count($room)."\n";
|
|
foreach ($room as $key => $value) {
|
|
$data = [
|
|
'today_hot_value' => 0,
|
|
];
|
|
db::name('vs_room')->where(['id' => $value['id']])->update($data);
|
|
}
|
|
echo date('Y-m-d H:i:s').' 完成'."\n";
|
|
|
|
}
|
|
|
|
|
|
} |