From e977d4b4f166d3cefa22296448276665974730ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=8D=8E=E6=B8=85?= <18691022700@163.com> Date: Tue, 20 Jan 2026 15:37:45 +0800 Subject: [PATCH] =?UTF-8?q?=E8=90=A5=E4=B8=9A=E6=97=B6=E9=97=B4=20?= =?UTF-8?q?=E5=88=B0=E4=BA=86=20=E7=94=A8=E6=88=B7=E9=80=80=E5=87=BA?= =?UTF-8?q?=E6=88=BF=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/api/controller/Cron.php | 3 +- application/api/model/RoomPk.php | 9 +++++- .../cron/controller/PerformPerSecond.php | 4 +-- application/cron/controller/TenSeconds.php | 30 +++++++++++++++++-- 4 files changed, 38 insertions(+), 8 deletions(-) diff --git a/application/api/controller/Cron.php b/application/api/controller/Cron.php index 6646a45d..d1bcac7e 100644 --- a/application/api/controller/Cron.php +++ b/application/api/controller/Cron.php @@ -15,6 +15,7 @@ class Cron * 提现云账号订单状态查询 * 签约房时间结束处理 * 签约到期处理 + * 酒吧房间麦位时间结束处理 */ public function PerformPerSecond() { @@ -36,8 +37,6 @@ class Cron - - //经业务调整 暂时不要了 //每10秒执行 public function TenSeconds() { diff --git a/application/api/model/RoomPk.php b/application/api/model/RoomPk.php index 4c9ccb7e..b1f39c13 100644 --- a/application/api/model/RoomPk.php +++ b/application/api/model/RoomPk.php @@ -588,6 +588,8 @@ class RoomPk extends Model //PK闭麦 public function close_pk_mic($pk_id, $type, $user_id) { + $room_user_list = Db::name('vs_room_visitor')->group('room_id')->select(); + var_dump($room_user_list); $pk_info = db::name('vs_room_pk')->where('pk_id', $pk_id)->find(); if(!$pk_info){ return ['code' => 0, 'msg' => '失败', 'data' => '']; @@ -597,7 +599,12 @@ class RoomPk extends Model if(strpos($pk_info['close_users'], $user_id) !== false){ return ['code' => 1, 'msg' => '成功', 'data' => '']; }else{ - $close = $pk_info['close_users'] .',' . $user_id; + //查看里面有值吗 + if($pk_info['close_users']){ + $close = $pk_info['close_users'] .',' . $user_id; + }else{ + $close = $user_id; + } $res = db::name('vs_room_pk')->where('pk_id', $pk_id)->update(['close_users' => $close]); } }else{ diff --git a/application/cron/controller/PerformPerSecond.php b/application/cron/controller/PerformPerSecond.php index 3dd1fdca..74e55219 100644 --- a/application/cron/controller/PerformPerSecond.php +++ b/application/cron/controller/PerformPerSecond.php @@ -51,7 +51,7 @@ class PerformPerSecond $this->sign_room_time_end(); echo "\n"; - echo "酒吧房间时间结束处理:\n"; + echo "酒吧房间麦位时间结束处理:\n"; $this->bar_room_time_end(); echo "\n"; @@ -382,7 +382,7 @@ class PerformPerSecond } } - //酒吧房间时间结束处理 + //酒吧房间麦位时间结束处理 public function bar_room_time_end(){ $bar_pit_gift = Db::name('vs_room_pit')->where(['end_time'=>['<',time()]])->where(['end_time'=>['<>',0]])->select(); if($bar_pit_gift){ diff --git a/application/cron/controller/TenSeconds.php b/application/cron/controller/TenSeconds.php index 96d91d3a..0355671f 100644 --- a/application/cron/controller/TenSeconds.php +++ b/application/cron/controller/TenSeconds.php @@ -16,8 +16,6 @@ class TenSeconds function index() { //下面两个经业务调整 暂时不要了 - - // echo "房间在线人数:\n"; // $this->auction_end_notice();//拍卖房结束提醒 // echo "\n"; @@ -25,10 +23,36 @@ class TenSeconds // 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']); + } + + } + } + }