点唱的推送

This commit is contained in:
2025-11-17 10:54:22 +08:00
parent 722aaf5834
commit 86e09fe175
2 changed files with 77 additions and 7 deletions

View File

@@ -165,16 +165,38 @@ class SingerSong extends Model
'singer_song_id' => $song_id,
'createtime' => time()
];
$result = db::name('vs_song_log')->insert($data);
//插入数据库并获取ID
$result = db::name('vs_song_log')->insertGetId($data);
if (!$result) {
return ['code' => 0, 'msg' => '点歌失败', 'data' => null];
}
//获取当前房间内点歌总数
$song_info_count = db::name('vs_song_log')->where(['room_id' => $room_id,'status' => ['in',[0,1]]])->count();
//给前端推送
$text = [
'text' => '房间点歌变化'
'text' => '房间点歌数量变化',
'count' => $song_info_count
];
//聊天室推送系统消息
model('Chat')->sendMsg(1070,$room_id,$text);
model('Chat')->sendMsg(1072,$room_id,$text);
if($song_info_count == 1){
//修改房间当前演唱歌曲
db::name('vs_song_log')->where(['id' => $result])->update(['status' => 1]);
$song_info = db::name('vs_song_log')->where(['id' => $result])->find();
$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');
$singer_song = db::name('vs_singer_song')->where(['id' => $song_info['singer_song_id']])->find();
$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['song_name'] = $singer_song['song_name'];
$song_info_data = [
'text' => '房间当前演唱歌曲变化',
'song_info' => $song_info
];
model('Chat')->sendMsg(1070,$room_id,$song_info_data);
}
return ['code' => 1, 'msg' => '点歌成功', 'data' => null];
} else {
@@ -301,12 +323,45 @@ class SingerSong extends Model
if($id){
db::name('vs_song_log')->where(['id' => $id])->update(['status' => 1]);
//给前端推送
//获取当前房间内点歌总数
$song_info_count = db::name('vs_song_log')->where(['room_id' => $sonng_log['room_id'],'status' => ['in',[0,1]]])->count();
//给前端推送
$text = [
'text' => '切歌',
'id' => $id,
'text' => '房间点歌数量变化',
'count' => $song_info_count
];
//聊天室推送系统消息
model('Chat')->sendMsg(1072,$sonng_log['room_id'],$text);
//房间当前演唱歌曲
$song_info = db::name('vs_song_log')->where(['id' => $id])->find();
$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');
$singer_song = db::name('vs_singer_song')->where(['id' => $song_info['singer_song_id']])->find();
$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['song_name'] = $singer_song['song_name'];
$song_info_data = [
'text' => '房间当前演唱歌曲变化',
'song_info' => $song_info
];
model('Chat')->sendMsg(1070,$sonng_log['room_id'],$song_info_data);
//给前端推送下首歌曲信息
$next_song_info = db::name('vs_song_log')->where(['room_id' => $sonng_log['room_id'],'status' => 0])->order('sort desc')->find();
$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'];
$data = [
'text' => '房间下一首演唱歌曲变化',
'next_song_info' => $next_song_info
];
model('Chat')->sendMsg(1071,$next_song_info['room_id'],$data);
}else{
return ['code' => 0, 'msg' => '暂无歌曲,请点歌吧','data' => null];
}