diff --git a/application/api/controller/Room.php b/application/api/controller/Room.php index 05f6e91..c56e057 100644 --- a/application/api/controller/Room.php +++ b/application/api/controller/Room.php @@ -443,4 +443,12 @@ class Room extends BaseCom // } // return['code' => 1, 'msg' => '成功创建了'.$i.'个房间', 'data' => null]; // } + + //用户重连 + public function user_reconnect() + { + $room_id = input('room_id', 0); + $reslut = model('Room')->user_reconnect($this->uid, $room_id); + return V($reslut['code'], $reslut['msg'], $reslut['data']); + } } \ No newline at end of file diff --git a/application/api/model/Room.php b/application/api/model/Room.php index 4227f35..ed5805c 100644 --- a/application/api/model/Room.php +++ b/application/api/model/Room.php @@ -564,7 +564,7 @@ class Room extends Model //用户是否在其他房间 $room_user = db::name('vs_room_visitor')->where(['user_id' => $user_id])->order('id desc')->value('room_id'); - if (isset($room_user) && $room_user != $room_id) { + if (isset($room_user) && $room_user != $room_id && $room_user != 0) { //根据所在房间状态判断是否要退出房间并且下麦 $roomInfo = db::name('vs_room')->where(['id' => $room_user,'apply_status' => 2])->find(); if(($roomInfo['type_id'] == 1 || $roomInfo['type_id'] == 3 || $roomInfo['type_id'] == 4 || $roomInfo['type_id'] == 8)&& $roomInfo['label_id'] == 1){ @@ -684,7 +684,7 @@ class Room extends Model if (!$is_join) { db::name('vs_room_visitor')->insert(['room_id' => $room_id, 'user_id' => $user_id, 'createtime' => time()]); } - Db::name('user_data')->where('user_id', $user_id)->update(['room_id' => $room_id]); +// db::name('user_data')->where('user_id', $user_id)->update(['room_id' => $room_id]); $room['is_use_code'] = 0; $liang = model('api/Decorate')->user_decorate_detail($room['id'],7); @@ -2507,4 +2507,18 @@ class Room extends Model } return ['code' => 1, 'msg' => '操作成功', 'data' => $list]; } + + //用户重连 + public function user_reconnect($user_id,$room_id) + { + if(!$room_id){ + $room_id = Db::name('vs_room_visitor')->where('user_id', $user_id)->order('id desc')->value('room_id'); + } + + $room_info = db::name('vs_room_visitor')->insert(['room_id' => $room_id, 'user_id' => $user_id, 'createtime' => time()]); + if(!$room_info){ + return ['code' => 0, 'msg' => '加入房间失败', 'data' => null]; + } + return ['code' => 1, 'msg' => '操作成功', 'data' => null]; + } } \ No newline at end of file diff --git a/application/api/model/Tencent.php b/application/api/model/Tencent.php index 3c076ad..e89d39e 100644 --- a/application/api/model/Tencent.php +++ b/application/api/model/Tencent.php @@ -940,10 +940,7 @@ class Tencent extends Model } elseif ($action == 'Login') { Db::name('user')->where('id', $uid)->update(['is_online' => 1, 'updatetime' => time()]); $room = Db::name('vs_room_visitor')->where('user_id', $uid)->order('id desc')->value('room_id'); - if(!$room){ - $room = db::name('user_data')->where(['user_id' => $uid])->value('room_id')??0; - db::name('vs_room_visitor')->insert(['room_id' => $room, 'user_id' => $uid, 'createtime' => time()]); - } + $text['text'] = '重新上线!'; $text['user_id'] = $uid; $text['type'] = 1;