From f3104f30a81183bd1cdda517ca9c8ef6c9a4c8b2 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, 2 Dec 2025 17:30:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=A8=E7=A6=BB=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/api/model/Login.php | 4 +- application/cron/controller/FriendEnd.php | 50 +---------------------- application/cron/controller/RoomPan.php | 50 +++++++++++++++++++++++ 3 files changed, 54 insertions(+), 50 deletions(-) diff --git a/application/api/model/Login.php b/application/api/model/Login.php index 976b3a6..c8f7c5c 100644 --- a/application/api/model/Login.php +++ b/application/api/model/Login.php @@ -461,9 +461,9 @@ class Login extends Model //退出登录 public function logout($token){ - $user_info = model('UserToken')->where('token', $token)->find(); + $user_info = db::name('user_token')->where('token', $token)->find(); if($user_info){ - model('UserToken')->where('id', $user_info['id'])->update(['token' => 1]); + db::name('user_token')->where('id', $user_info['id'])->update(['token' => 1]); //断线 db::name('user')->where('id',$user_info['user_id'])->update(['is_online'=>2]); //是否在房间内 diff --git a/application/cron/controller/FriendEnd.php b/application/cron/controller/FriendEnd.php index 906c0d6..5a29dae 100644 --- a/application/cron/controller/FriendEnd.php +++ b/application/cron/controller/FriendEnd.php @@ -20,55 +20,9 @@ class FriendEnd $this->clear_room_end();//清除私密小屋过期数据 echo "清除私密小屋过期数据结束 \n"; - echo "查询在线状态:\n"; - $this->online_status(); - echo "\n"; } - //查询在线状态 - protected function online_status() - { - $user_list = db::name('vs_xintiao')->select(); - if($user_list){ - foreach ($user_list as $value){ - if(time() - $value['updatetime'] >= 183){//2秒刷新一次,加上用户多 三分钟补偿3秒 - $is_online = db::name('user')->where('id',$value['user_id'])->value('is_online'); - if($is_online == 2){ - //在线 - continue; - } - //断线 - db::name('user')->where('id',$value['user_id'])->update(['is_online'=>2]); - //是否在房间内 - $room_id = db::name('vs_room_visitor')->where('user_id',$value['user_id'])->order('id desc')->value('room_id'); - if($room_id){ - $text['text'] = '掉线!'; - $text['user_id'] = $value['user_id']; - $text['type'] = 2; - model('Chat')->sendMsg(1058,$room_id,$text); - } - }else{ - $is_online = db::name('user')->where('id',$value['user_id'])->value('is_online'); - if($is_online == 1){ - //在线 - continue; - }else{ - //修改在线状态 - db::name('user')->where('id',$value['user_id'])->update(['is_online'=>1]); - //是否在房间内 - $room_id = db::name('vs_room_visitor')->where('user_id',$value['user_id'])->order('id desc')->value('room_id'); - if($room_id){ - $text['text'] = '重新上线!'; - $text['user_id'] = $value['user_id']; - $text['type'] = 1; - model('Chat')->sendMsg(1058,$room_id,$text); - } - } - } - } - } - } //清除交友房过期未结束数据 public function clearFriendingEndRoom() @@ -83,7 +37,7 @@ class FriendEnd if($friending_info){ //判断结束时间是否到期 if($friending_info['end_time'] <= time() || $room['step'] == 3){ - model('Friend')->end_friend(0,$room['id'],$friending_info['id'],1); + model('api/Friend')->end_friend(0,$room['id'],$friending_info['id'],1); } } } @@ -98,7 +52,7 @@ class FriendEnd $room_list = db::name('vs_room_cp_movie')->where(['status' => 1,'type'=>1,'time_day' =>['<',time()]])->select(); if(!empty($room_list)){ foreach ($room_list as $room) { - model('Friend')->outRoom(0,$room['room_id']); + model('api/Friend')->outRoom(0,$room['room_id']); } } } diff --git a/application/cron/controller/RoomPan.php b/application/cron/controller/RoomPan.php index 64f2023..b635a74 100644 --- a/application/cron/controller/RoomPan.php +++ b/application/cron/controller/RoomPan.php @@ -24,8 +24,58 @@ class RoomPan echo "盲盒转盘礼物补发:\n"; $this->blind_box_turntable_gift_send();//盲盒转盘礼物补发 echo "盲盒转盘礼物补发结束 \n"; + + echo "查询用户在线状态:\n"; + $this->online_status(); + echo "\n"; } + //查询在线状态 + protected function online_status() + { + $user_list = db::name('vs_xintiao')->select(); + if($user_list){ + foreach ($user_list as $value){ + if(time() - $value['updatetime'] >= 180){//三分钟没有上线 + $is_online = db::name('user')->where('id',$value['user_id'])->value('is_online'); + if($is_online == 2){ + //在线 + continue; + } + //断线 + db::name('user')->where('id',$value['user_id'])->update(['is_online'=>2]); + //是否在房间内 + $room_id = db::name('vs_room_visitor')->where('user_id',$value['user_id'])->order('id desc')->value('room_id'); + if($room_id){ + $text['text'] = '掉线!'; + $text['user_id'] = $value['user_id']; + $text['type'] = 2; + model('api/Chat')->sendMsg(1058,$room_id,$text); + } + }else{ + $is_online = db::name('user')->where('id',$value['user_id'])->value('is_online'); + if($is_online == 1){ + //在线 + continue; + }else{ + //修改在线状态 + db::name('user')->where('id',$value['user_id'])->update(['is_online'=>1]); + //是否在房间内 + $room_id = db::name('vs_room_visitor')->where('user_id',$value['user_id'])->order('id desc')->value('room_id'); + if($room_id){ + $text['text'] = '重新上线!'; + $text['user_id'] = $value['user_id']; + $text['type'] = 1; + model('api/Chat')->sendMsg(1058,$room_id,$text); + } + } + } + } + } + } + + + /* * 盲盒转盘礼物推送补发 */