From 770c78b3e2649ece6d92c9788e69c5ac6abc81f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=8D=8E=E6=B8=85?= <18691022700@163.com> Date: Mon, 17 Nov 2025 11:58:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A8=E9=80=81=E4=BF=A1=E6=81=AF=E5=8F=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/api/model/Room.php | 54 ++++++++++++++++++++++++++-- application/api/model/SingerSong.php | 5 +++ 2 files changed, 57 insertions(+), 2 deletions(-) diff --git a/application/api/model/Room.php b/application/api/model/Room.php index 2445313..f12693c 100644 --- a/application/api/model/Room.php +++ b/application/api/model/Room.php @@ -811,6 +811,9 @@ class Room extends Model } } + //点唱房内的演唱信息 + $singer_info = $this->getSingInfo($room_id); + //房间信息 $room_info = [ 'room_id' => $room['id'], @@ -833,7 +836,8 @@ class Room extends Model 'head_line' => $headline_data, 'is_pk' => $room['is_pk'],//1-默认接受PK,2不接受', 'last_pk_room_id' => $last_pk_room_id, - 'queue_number' => db::name('vs_room_pit_apply')->where(['room_id' => $room_id,'status' => 0])->count() + 'queue_number' => db::name('vs_room_pit_apply')->where(['room_id' => $room_id,'status' => 0])->count(), + 'singer_innfo' => $singer_info, ]; //房主信息 @@ -2063,6 +2067,9 @@ class Room extends Model } } + //点唱房内的演唱信息 + $singer_info = $this->getSingInfo($room_id); + //房间信息 $room_info = [ 'room_id' => $room['id'], @@ -2087,7 +2094,8 @@ class Room extends Model 'head_line'=>$headline_data, 'is_pk' => $room['is_pk'],//1-默认接受PK,2不接受', 'last_pk_room_id' => $last_pk_room_id, - 'queue_number' => db::name('vs_room_pit_apply')->where(['room_id' => $room_id,'status' => 0])->count() + 'queue_number' => db::name('vs_room_pit_apply')->where(['room_id' => $room_id,'status' => 0])->count(), + 'singer_innfo' => $singer_info, ]; //房主信息 $room_owner = db::name('user')->where('id', $room['user_id'])->field('id as user_id,user_code,sex,nickname,avatar')->find(); @@ -2137,6 +2145,48 @@ class Room extends Model } + public function getSingInfo($room_id) + { + $song_info = db::name('vs_song_log')->where(['room_id' => $room_id,'status' => 1])->find(); + if($song_info){ + $song_info['boss_user_id'] = $song_info['user_id']; + $song_info['boss_nickname'] = db::name('user')->where(['id' => $song_info['user_id']])->value('nickname'); + $song_info['boss_avatar'] = db::name('user')->where(['id' => $song_info['user_id']])->value('avatar'); + $song_info['boss_dress'] = model('api/Decorate')->user_decorate_detail($song_info['user_id'], 1); + $song_info['boss_mic_cycle'] = model('api/Decorate')->user_decorate_detail($song_info['user_id'],3); + $singer_song = db::name('vs_singer_song')->where(['id' => $song_info['singer_song_id']])->find(); + $song_info['singer_user_id'] = $singer_song['user_id']; + $song_info['singer_nickname'] = db::name('user')->where(['id' => $singer_song['user_id']])->value('nickname'); + $song_info['singer_avatar'] = db::name('user')->where(['id' => $singer_song['user_id']])->value('avatar'); + $song_info['singer_dress'] = model('api/Decorate')->user_decorate_detail($singer_song['user_id'], 1); + $song_info['singer_mic_cycle'] = model('api/Decorate')->user_decorate_detail($singer_song['user_id'],3); + $song_info['song_name'] = $singer_song['song_name']; + + //给前端推送下首歌曲信息 + $next_song_info = db::name('vs_song_log')->where(['room_id' => $room_id,'status' => 0])->order('sort desc')->find(); + if($next_song_info){ + $next_song_info['boss_nickname'] = db::name('user')->where(['id' => $next_song_info['user_id']])->value('nickname'); + $next_song_info['boss_avatar'] = db::name('user')->where(['id' => $next_song_info['user_id']])->value('avatar'); + $singer_song = db::name('vs_singer_song')->where(['id' => $next_song_info['singer_song_id']])->find(); + $next_song_info['singer_nickname'] = db::name('user')->where(['id' => $singer_song['user_id']])->value('nickname'); + $next_song_info['singer_avatar'] = db::name('user')->where(['id' => $singer_song['user_id']])->value('avatar'); + $next_song_info['song_name'] = $singer_song['song_name']; + }else{ + $next_song_info = null; + } + + }else{ + $song_info = null; + $next_song_info = null; + } + + return [ + 'song_info' => $song_info, + 'next_song_info' => $next_song_info + ]; + } + + //禁言 //1-禁言,2-禁麦,3-解禁,4-解麦 public function set_mute($uid,$room_id, $user_id,$is_mute) diff --git a/application/api/model/SingerSong.php b/application/api/model/SingerSong.php index ef6a075..54f1201 100644 --- a/application/api/model/SingerSong.php +++ b/application/api/model/SingerSong.php @@ -375,6 +375,11 @@ class SingerSong extends Model model('Chat')->sendMsg(1071,$next_song_info['room_id'],$data); }else{ + $data = [ + 'text' => '房间下一首演唱歌曲变化', + 'next_song_info' => null + ]; + model('Chat')->sendMsg(1071,$sonng_log['room_id'],$data); return ['code' => 0, 'msg' => '暂无歌曲,请点歌吧','data' => null]; } }else{