评论 评论 和点歌置顶
This commit is contained in:
@@ -211,7 +211,10 @@ class UserZone extends adminApi
|
||||
$zid = $comment_data['zone_id'];
|
||||
$pid = $id;
|
||||
$reply_to = input('reply_to', 0);
|
||||
$reslut = model('api/UserZone')->comment_zone(0, $zid, $content,$pid, $reply_to);
|
||||
if(!$reply_to){
|
||||
$reply_to = $comment_data['user_id'];
|
||||
}
|
||||
$reslut = model('api/UserZone')->comment_zone(21216, $zid, $content,$pid, $reply_to);
|
||||
return V($reslut['code'], $reslut['msg'], $reslut['data']);
|
||||
}
|
||||
|
||||
|
||||
@@ -175,7 +175,7 @@ class RoomSong extends Model
|
||||
public function song($room_id,$user_id,$song_code,$song_name,$singer,$poster,$duration){
|
||||
$action = 0;//初始值,1-申请点歌,2-切歌,3-下一首歌曲变化,4-拒绝申请点歌
|
||||
//查询当前房间中的场次状态
|
||||
$times_status = db::name('vs_room_song')->where('room_id',$room_id)->field('times,times_status')->order('sort desc')->find();
|
||||
$times_status = db::name('vs_room_song')->where('room_id',$room_id)->field('times,times_status')->order('times desc,sort desc')->find();
|
||||
if(!empty($times_status)){//已经有歌曲
|
||||
if($times_status['times_status'] == 2){//这一场次结束了
|
||||
$data['sort'] = 10000;//排序,新场次第一首歌
|
||||
@@ -327,21 +327,32 @@ class RoomSong extends Model
|
||||
return ['code'=>0,'msg'=>'您没有权限操作','data'=>null];
|
||||
}
|
||||
//根据房间ID查询当前房间中正在排序的歌曲 并获取当前排序的前一位的ID
|
||||
$sort_up = db::name('vs_room_song')->where(['room_id' => $sort['room_id'],'status' => 1,'times' =>$sort['times'],'times_status' => 1])->field('did')->order('sort desc')->select();
|
||||
$sort_up = db::name('vs_room_song')
|
||||
->where(['room_id' => $sort['room_id'],'status' => 1,'times' =>$sort['times'],'times_status' => 1])
|
||||
->field('did,status,song_code,song_name,singer,poster,duration,user_id')->order('sort desc')->select();
|
||||
|
||||
if($sort_up[0]['did'] == $room_song_id){
|
||||
return ['code'=>0,'msg'=>'已经是第一首歌了','data'=>null];
|
||||
}
|
||||
|
||||
$sort_ups = 1000;//默认值
|
||||
$now_room_song = 0;
|
||||
if($type == 1){ //上移
|
||||
foreach ($sort_up as $k=>$v){
|
||||
if($v['did'] == $room_song_id){
|
||||
$sort_ups = $sort_up[$k-1]['did'];
|
||||
}
|
||||
if($v['status'] == 2){
|
||||
$now_room_song = 1;
|
||||
}
|
||||
}
|
||||
$fa_zhi = 0;
|
||||
}else{ //置顶
|
||||
$sort_ups = $sort_up[0]['did'];
|
||||
foreach ($sort_up as $k=>$v){
|
||||
$sort_ups = $sort_up[0]['did'];
|
||||
if($v['status'] == 2){
|
||||
$now_room_song = 1;
|
||||
}
|
||||
}
|
||||
$fa_zhi = 9;//阈值 为了防止置顶后被上移歌曲覆盖
|
||||
}
|
||||
@@ -352,44 +363,36 @@ class RoomSong extends Model
|
||||
return ['code'=>0,'msg'=>'操作失败','data'=>null];
|
||||
}
|
||||
|
||||
$data = db::name('vs_room_song')->where(['room_id' => $sort['room_id'],'status' => 1,'times' =>$sort['times'],'times_status' => 1])
|
||||
->order('sort desc')->select();
|
||||
|
||||
//查询当前是否有正在演唱的歌曲
|
||||
$now_room_song = db::name('vs_room_song') ->where('room_id',$sort['room_id'])
|
||||
->where('times',$sort['times'])
|
||||
->where('status',2)
|
||||
->find();
|
||||
if(empty($now_room_song)){
|
||||
if(!$now_room_song){
|
||||
$total = db::name('vs_room_song')
|
||||
->where(['room_id' => $sort['room_id'],'status' => 1,'times_status' => 1])
|
||||
->count();
|
||||
$nowInfo = [
|
||||
'did' => $data[0]['did'],
|
||||
'song_code' => $data[0]['song_code'],
|
||||
'song_name' => $data[0]['song_name'],
|
||||
'singer' => $data[0]['singer'],
|
||||
'poster' => $data[0]['poster'],
|
||||
'duration' => $data[0]['duration'],
|
||||
'user_id' => $data[0]['user_id'],
|
||||
'dress' => model('Decorate')->user_decorate_detail($data[0]['user_id'], 1),
|
||||
'nickname' => db::name('user')->where('id',$data[0]['user_id'])->value('nickname'),
|
||||
'avatar' => db::name('user')->where('id',$data[0]['user_id'])->value('avatar'),
|
||||
'charm' => db::name('vs_room_user_charm')->where(['user_id' => $data[0]['user_id'],'room_id' => $sort['room_id']])->value('charm'),
|
||||
'did' => $sort_up[0]['did'],
|
||||
'song_code' => $sort_up[0]['song_code'],
|
||||
'song_name' => $sort_up[0]['song_name'],
|
||||
'singer' => $sort_up[0]['singer'],
|
||||
'poster' => $sort_up[0]['poster'],
|
||||
'duration' => $sort_up[0]['duration'],
|
||||
'user_id' => $sort_up[0]['user_id'],
|
||||
'dress' => model('Decorate')->user_decorate_detail($sort_up[0]['user_id'], 1),
|
||||
'nickname' => db::name('user')->where('id',$sort_up[0]['user_id'])->value('nickname'),
|
||||
'avatar' => db::name('user')->where('id',$sort_up[0]['user_id'])->value('avatar'),
|
||||
'charm' => db::name('vs_room_user_charm')->where(['user_id' => $sort_up[0]['user_id'],'room_id' => $sort['room_id']])->value('charm'),
|
||||
];
|
||||
if(isset($data[1]['did'])){
|
||||
if(count($sort_up) >= 2){
|
||||
$nextInfo = [
|
||||
'did' => $data[1]['did'],
|
||||
'song_code' => $data[1]['song_code'],
|
||||
'song_name' => $data[1]['song_name'],
|
||||
'singer' => $data[1]['singer'],
|
||||
'poster' => $data[1]['poster'],
|
||||
'duration' => $data[1]['duration'],
|
||||
'user_id' => $data[1]['user_id'],
|
||||
'dress' => model('Decorate')->user_decorate_detail($data[1]['user_id'], 1),
|
||||
'nickname' => db::name('user')->where('id',$data[1]['user_id'])->value('nickname'),
|
||||
'avatar' => db::name('user')->where('id',$data[1]['user_id'])->value('avatar'),
|
||||
'charm' => db::name('vs_room_user_charm')->where(['user_id' =>$data[1]['user_id'],'room_id' => $sort['room_id']])->value('charm'),
|
||||
'did' => $sort_up[1]['did'],
|
||||
'song_code' => $sort_up[1]['song_code'],
|
||||
'song_name' => $sort_up[1]['song_name'],
|
||||
'singer' => $sort_up[1]['singer'],
|
||||
'poster' => $sort_up[1]['poster'],
|
||||
'duration' => $sort_up[1]['duration'],
|
||||
'user_id' => $sort_up[1]['user_id'],
|
||||
'dress' => model('Decorate')->user_decorate_detail($sort_up[1]['user_id'], 1),
|
||||
'nickname' => db::name('user')->where('id',$sort_up[1]['user_id'])->value('nickname'),
|
||||
'avatar' => db::name('user')->where('id',$sort_up[1]['user_id'])->value('avatar'),
|
||||
'charm' => db::name('vs_room_user_charm')->where(['user_id' =>$sort_up[1]['user_id'],'room_id' => $sort['room_id']])->value('charm'),
|
||||
];
|
||||
}else{
|
||||
$nextInfo = null;
|
||||
@@ -402,28 +405,28 @@ class RoomSong extends Model
|
||||
'nextInfo' => $nextInfo
|
||||
];
|
||||
model('Chat')->sendMsg(1013,$sort['room_id'],$text);
|
||||
Cache::set("api:room:song:nextInfo:" . $sort['room_id'],$data[0]['did']);
|
||||
return ['code'=>1,'msg'=>'操作成功','data'=>$data];
|
||||
Cache::set("api:room:song:nextInfo:" . $sort['room_id'],$sort_up[0]['did']);
|
||||
return ['code'=>1,'msg'=>'操作成功','data'=>null];
|
||||
}
|
||||
|
||||
$did = Cache::get("api:room:song:nextInfo:" . $sort['room_id']);
|
||||
//歌曲移动后,下一首播放歌曲信息 发生改变 推送给前端
|
||||
if($data[0]['did'] != $did){
|
||||
if($sort_up[0]['did'] != $did){
|
||||
$total = db::name('vs_room_song')
|
||||
->where(['room_id' => $sort['room_id'],'status' => 1,'times_status' => 1])
|
||||
->count();
|
||||
$info = [
|
||||
'did' => $data[0]['did'],
|
||||
'song_code' => $data[0]['song_code'],
|
||||
'song_name' => $data[0]['song_name'],
|
||||
'singer' => $data[0]['singer'],
|
||||
'poster' => $data[0]['poster'],
|
||||
'duration' => $data[0]['duration'],
|
||||
'user_id' => $data[0]['user_id'],
|
||||
'dress' => model('Decorate')->user_decorate_detail($data[0]['user_id'], 1),
|
||||
'nickname' => db::name('user')->where('id',$data[0]['user_id'])->value('nickname'),
|
||||
'avatar' => db::name('user')->where('id',$data[0]['user_id'])->value('avatar'),
|
||||
'charm' => db::name('vs_room_user_charm')->where(['user_id' => $data[0]['user_id'],'room_id' => $sort['room_id']])->value('charm'),
|
||||
'did' => $sort_up[0]['did'],
|
||||
'song_code' => $sort_up[0]['song_code'],
|
||||
'song_name' => $sort_up[0]['song_name'],
|
||||
'singer' => $sort_up[0]['singer'],
|
||||
'poster' => $sort_up[0]['poster'],
|
||||
'duration' => $sort_up[0]['duration'],
|
||||
'user_id' => $sort_up[0]['user_id'],
|
||||
'dress' => model('Decorate')->user_decorate_detail($sort_up[0]['user_id'], 1),
|
||||
'nickname' => db::name('user')->where('id',$sort_up[0]['user_id'])->value('nickname'),
|
||||
'avatar' => db::name('user')->where('id',$sort_up[0]['user_id'])->value('avatar'),
|
||||
'charm' => db::name('vs_room_user_charm')->where(['user_id' => $sort_up[0]['user_id'],'room_id' => $sort['room_id']])->value('charm'),
|
||||
];
|
||||
$text = [
|
||||
'action' => 3,//下一首播放歌曲信息推送给前端
|
||||
@@ -432,9 +435,9 @@ class RoomSong extends Model
|
||||
'nextInfo' => $info
|
||||
];
|
||||
model('Chat')->sendMsg(1013,$sort['room_id'],$text);
|
||||
Cache::set("api:room:song:nextInfo:" . $sort['room_id'],$data[0]['did']);
|
||||
Cache::set("api:room:song:nextInfo:" . $sort['room_id'],$sort_up[0]['did']);
|
||||
}
|
||||
return ['code'=>1,'msg'=>'操作成功','data'=>$data];
|
||||
return ['code'=>1,'msg'=>'操作成功','data'=>null];
|
||||
}
|
||||
|
||||
//切歌
|
||||
|
||||
Reference in New Issue
Block a user