diff --git a/application/api/controller/SingerSong.php b/application/api/controller/SingerSong.php index d33f66b..71067bb 100644 --- a/application/api/controller/SingerSong.php +++ b/application/api/controller/SingerSong.php @@ -96,7 +96,8 @@ class SingerSong extends BaseCom if (!$room_id && !$user_id) { return V(0, '请选择房间或歌手'); } - $reslut = model('SingerSong')->getSong($user_id, $room_id, $page, $page_limit); + + $reslut = model('SingerSong')->getSong($this->uid, $user_id, $room_id, $page, $page_limit); return V($reslut['code'], $reslut['msg'], $reslut['data']); } diff --git a/application/api/model/SingerSong.php b/application/api/model/SingerSong.php index 0977386..dd1e2c0 100644 --- a/application/api/model/SingerSong.php +++ b/application/api/model/SingerSong.php @@ -100,7 +100,7 @@ class SingerSong extends Model * @param room_id 房间id * @param user_id 用户id */ - public function getSong($user_id, $room_id, $page, $page_limit) + public function getSong($uid, $user_id, $room_id, $page, $page_limit) { if($user_id > 0){ $count = db::name('vs_singer_song')->where(['user_id' => $user_id])->count(); @@ -109,6 +109,8 @@ class SingerSong extends Model //查询当前房间内麦位上的歌手 $room_singer = db::name('vs_room_pit')->where(['room_id' => $room_id, 'pit_number' => ['<',9]])->column('user_id'); if ($room_singer) { + //$uid 是当前自己,有自己就去除自己 + $room_singer = array_diff($room_singer, [$uid]); $count = db::name('vs_singer_song')->where(['user_id' => ['in', $room_singer]])->count(); $res = db::name('vs_singer_song')->where(['user_id' => ['in', $room_singer]])->page($page, $page_limit)->select(); }else{ @@ -143,6 +145,10 @@ class SingerSong extends Model if (!$song) { return ['code' => 0, 'msg' => '歌曲不存在', 'data' => null]; } + //查询歌曲是否是自己的 + if ($song['user_id'] != $user_id) { + return ['code' => 0, 'msg' => '不能点自己歌曲', 'data' => null]; + } //查询用户余额 $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');