点歌
This commit is contained in:
@@ -98,4 +98,20 @@ class SingerSong extends BaseCom
|
|||||||
return V($reslut['code'], $reslut['msg'], $reslut['data']);
|
return V($reslut['code'], $reslut['msg'], $reslut['data']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//点歌
|
||||||
|
public function singerSong()
|
||||||
|
{
|
||||||
|
$song_id = input('song_id', 0);
|
||||||
|
if (!$song_id) {
|
||||||
|
return V(0, '请选择歌曲');
|
||||||
|
}
|
||||||
|
$room_id = input('room_id', 0);
|
||||||
|
if (!$room_id) {
|
||||||
|
return V(0, '请选择房间');
|
||||||
|
}
|
||||||
|
$reslut = model('SingerSong')->singerSong($this->uid, $song_id ,$room_id);
|
||||||
|
return V($reslut['code'], $reslut['msg'], $reslut['data']);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -124,6 +124,10 @@ class Chat extends Model
|
|||||||
//红包领完推送
|
//红包领完推送
|
||||||
// RedPacketComplete = 1061,
|
// RedPacketComplete = 1061,
|
||||||
|
|
||||||
|
//点歌房推送信息
|
||||||
|
//歌曲发生变化
|
||||||
|
// SongChange = 1070,
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -34,6 +34,9 @@ class SingerSong extends Model
|
|||||||
{
|
{
|
||||||
//查询是否提交过认证
|
//查询是否提交过认证
|
||||||
$res = db::name('vs_singer')->where(['user_id' => $user_id])->find();
|
$res = db::name('vs_singer')->where(['user_id' => $user_id])->find();
|
||||||
|
if ($res && $res['status'] == 1) {
|
||||||
|
return ['code' => 0, 'msg' => '认证已通过,无需重复提交'];
|
||||||
|
}
|
||||||
if ($res) {
|
if ($res) {
|
||||||
$data = [
|
$data = [
|
||||||
'song' => $song,
|
'song' => $song,
|
||||||
@@ -118,4 +121,50 @@ class SingerSong extends Model
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 点歌
|
||||||
|
* @param song_id 歌曲id
|
||||||
|
* @param user_id 用户id
|
||||||
|
*/
|
||||||
|
public function singerSong($user_id, $song_id, $room_id)
|
||||||
|
{
|
||||||
|
//查询歌曲信息
|
||||||
|
$song = db::name('vs_singer_song')->where(['id' => $song_id])->find();
|
||||||
|
if (!$song) {
|
||||||
|
return ['code' => 0, 'msg' => '歌曲不存在'];
|
||||||
|
}
|
||||||
|
//查询用户余额
|
||||||
|
$user_money = db::name('user_wallet')->where(['user_id' => $user_id])->value('coin');
|
||||||
|
$gift_price = db::name('vs_gift')->where(['gid' => $song['gift_id']])->value('gift_price');
|
||||||
|
if ($user_money < $gift_price * $song['gift_num']) {
|
||||||
|
return ['code' => 0, 'msg' => '余额不足'];
|
||||||
|
}
|
||||||
|
|
||||||
|
//走送礼流程
|
||||||
|
$res = model('GiveGift')->give_gift($user_id,$song['user_id'],$song['gift_id'],$song['gift_num'],2,1,$room_id);
|
||||||
|
if ($res['code'] == 1) {
|
||||||
|
$data = [
|
||||||
|
'user_id' => $user_id,
|
||||||
|
'room_id' => $room_id,
|
||||||
|
'singer_song_id' => $song_id,
|
||||||
|
'createtime' => time()
|
||||||
|
];
|
||||||
|
$result = db::name('vs_song_log')->insert($data);
|
||||||
|
if (!$result) {
|
||||||
|
return ['code' => 0, 'msg' => '点歌失败'];
|
||||||
|
}
|
||||||
|
//给前端推送
|
||||||
|
$text = [
|
||||||
|
'text' => '房间点歌变化'
|
||||||
|
];
|
||||||
|
//聊天室推送系统消息
|
||||||
|
model('Chat')->sendMsg(1070,$room_id,$text);
|
||||||
|
|
||||||
|
return ['code' => 1, 'msg' => '点歌成功'];
|
||||||
|
} else {
|
||||||
|
return ['code' => 0, 'msg' => $res['msg']];
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user