121 lines
3.7 KiB
PHP
121 lines
3.7 KiB
PHP
<?php
|
|
|
|
namespace app\api\model;
|
|
|
|
use think\Db;
|
|
use think\Model;
|
|
|
|
class SingerSong extends Model
|
|
{
|
|
/*
|
|
* 歌手认证 状态及等级
|
|
*/
|
|
public function singerAuthStatus($user_id)
|
|
{
|
|
$res = db::name('vs_singer')->where(['user_id' => $user_id])->find();
|
|
if ($res) {
|
|
$data = [
|
|
'status' => $res['status'],
|
|
'level' => $res['level'],
|
|
];
|
|
} else {
|
|
$data = [
|
|
'status' => -1,
|
|
'level' => 0,
|
|
];
|
|
}
|
|
return $data ;
|
|
}
|
|
|
|
/*
|
|
* 歌手认证
|
|
*/
|
|
public function singerAuth($user_id, $song)
|
|
{
|
|
//查询是否提交过认证
|
|
$res = db::name('vs_singer')->where(['user_id' => $user_id])->find();
|
|
if ($res) {
|
|
$data = [
|
|
'song' => $song,
|
|
'status' => 0,
|
|
'updatetime' => time()
|
|
];
|
|
$result = db::name('vs_singer')->where(['id' => $res['id']])->update($data);
|
|
}else{
|
|
$data = [
|
|
'user_id' => $user_id,
|
|
'song' => $song,
|
|
'status' => 0,
|
|
'createtime' => time()
|
|
];
|
|
$result = db::name('vs_singer')->insert($data);
|
|
}
|
|
if ($result) {
|
|
return ['code' => 1, 'msg' => '提交成功'];
|
|
} else {
|
|
return ['code' => 0, 'msg' => '提交失败'];
|
|
}
|
|
}
|
|
|
|
|
|
/*
|
|
* 歌手添加歌曲
|
|
* @param song_name 歌曲名称
|
|
* @param gift_id 礼物id
|
|
* @param gift_num 礼物数量
|
|
*/
|
|
public function singerAddSong($user_id, $song_name, $gift_id, $gift_num)
|
|
{
|
|
//查询是否提交过歌曲
|
|
$res = db::name('vs_singer_song')->where(['user_id' => $user_id, 'song_name' => $song_name])->find();
|
|
if ($res) {
|
|
return ['code' => 0, 'msg' => '请勿重复提交歌曲'];
|
|
}
|
|
$data = [
|
|
'user_id' => $user_id,
|
|
'song_name' => $song_name,
|
|
'gift_id' => $gift_id,
|
|
'gift_num' => $gift_num,
|
|
'createtime' => time()
|
|
];
|
|
$result = db::name('vs_singer_song')->insert($data);
|
|
if ($result) {
|
|
return ['code' => 1, 'msg' => '提交成功'];
|
|
} else {
|
|
return ['code' => 0, 'msg' => '提交失败'];
|
|
}
|
|
}
|
|
|
|
|
|
/*
|
|
* 获取房间内麦位上歌手歌曲
|
|
* @param room_id 房间id
|
|
* @param user_id 用户id
|
|
*/
|
|
public function getSong($user_id, $room_id)
|
|
{
|
|
if($user_id > 0){
|
|
$res = db::name('vs_singer_song')->where(['user_id' => $user_id])->select();
|
|
}else{
|
|
//查询当前房间内麦位上的歌手
|
|
$room_singer = db::name('vs_room_pit')->where(['room_id' => $room_id, 'pit_number' => ['<',9]])->column('user_id');
|
|
if ($room_singer) {
|
|
$res = db::name('vs_singer_song')->where(['user_id' => ['in', $room_singer]])->select();
|
|
}else{
|
|
$res = [];
|
|
}
|
|
}
|
|
if ($res) {
|
|
foreach ($res as $k => $v) {
|
|
$res[$k]['gift_name'] = db::name('vs_gift')->where(['gid' => $v['gift_id']])->value('gift_name');
|
|
$res[$k]['gift_price'] = db::name('vs_gift')->where(['gid' => $v['gift_id']])->value('gift_price');
|
|
$res[$k]['base_image'] = db::name('vs_gift')->where(['gid' => $v['base_image']])->value('base_image');
|
|
$res[$k]['nickname'] = db::name('user')->where(['id' => $v['user_id']])->value('nickname');
|
|
}
|
|
return ['code' => 1, 'msg' => '获取成功', 'data' => $res];
|
|
} else {
|
|
return ['code' => 0, 'msg' => '暂无数据'];
|
|
}
|
|
|
|
}
|
|
} |