房间在线列表处理
This commit is contained in:
@@ -2269,7 +2269,7 @@ class Room extends Model
|
||||
if (!$room_id) {
|
||||
return ['code' => 0, 'msg' => '参数错误', 'data' => null];
|
||||
}
|
||||
|
||||
$room_type = db::name('vs_room')->where(['id' => $room_id])->value('type_id');
|
||||
$lists['on_pit'] = [];
|
||||
$lists['off_pit'] = [];
|
||||
|
||||
@@ -2287,14 +2287,9 @@ class Room extends Model
|
||||
|
||||
// 第一页特殊处理,显示麦上用户
|
||||
if ($page == 1) {
|
||||
// $onPitUser = db::name('vs_room_visitor')->alias('a')
|
||||
// ->join('user b', 'a.user_id = b.id','left')
|
||||
// ->field('a.id,a.user_id,b.nickname,b.avatar,b.hide_status,a.is_onpit')
|
||||
// ->where(['a.room_id' => $room_id])//is_onpit:1-未上麦,0-已上麦
|
||||
// ->select();
|
||||
$onPitUser = db::name('vs_room_visitor')
|
||||
->field('id,user_id,is_onpit')
|
||||
->where(['room_id' => $room_id])
|
||||
->where(['room_id' => $room_id, 'is_onpit' => 0])//0-在麦上,1-不在麦上
|
||||
->select();
|
||||
|
||||
$validOnPitUsers = [];
|
||||
@@ -2338,8 +2333,13 @@ class Room extends Model
|
||||
->order('a.id', 'desc')
|
||||
->select();
|
||||
|
||||
$validOffPitUsers = [];
|
||||
if(!empty($offPitUser)){
|
||||
foreach ($offPitUser as &$v) {
|
||||
foreach ($offPitUser as $k => $v) {
|
||||
$isOnPit = db::name('vs_room_pit')->where(['user_id' => $v['user_id'],'room_id' => $room_id])->value('pit_number');
|
||||
if($isOnPit){
|
||||
continue;
|
||||
}
|
||||
$v['icon'][0] = model('UserData')->user_wealth_icon($v['user_id']);//财富图标
|
||||
$v['icon'][1] = model('UserData')->user_charm_icon($v['user_id']);//魅力图标
|
||||
//判断是否是歌手 如果是 返回等级图标
|
||||
@@ -2352,12 +2352,14 @@ class Room extends Model
|
||||
$role = $this->get_user_role($v['user_id'], $room_id);
|
||||
$v['role'] = $role['role'];
|
||||
$v['pit_number'] = $role['pit_number'];
|
||||
$validOffPitUsers [] = $v;
|
||||
}
|
||||
unset($v); // 释放引用
|
||||
$lists['off_pit'] = $offPitUser;
|
||||
|
||||
$lists['off_pit'] = $validOffPitUsers;
|
||||
}
|
||||
|
||||
} else {
|
||||
$validOffPitUsers = [];
|
||||
$offPitUser = db::name('vs_room_visitor')->alias('a')
|
||||
->join('user b', 'a.user_id = b.id','left')
|
||||
->field('a.user_id,b.nickname,b.avatar,b.hide_status,a.is_onpit')
|
||||
@@ -2367,7 +2369,11 @@ class Room extends Model
|
||||
->select();
|
||||
|
||||
if(!empty($offPitUser)){
|
||||
foreach ($offPitUser as &$v) {
|
||||
foreach ($offPitUser as $k => $v) {
|
||||
$isOnPit = db::name('vs_room_pit')->where(['user_id' => $v['user_id'],'room_id' => $room_id])->value('pit_number');
|
||||
if($isOnPit){
|
||||
continue;
|
||||
}
|
||||
$v['icon'][0] = model('UserData')->user_wealth_icon($v['user_id']);//财富图标
|
||||
$v['icon'][1] = model('UserData')->user_charm_icon($v['user_id']);//魅力图标
|
||||
//判断是否是歌手 如果是 返回等级图标
|
||||
@@ -2380,9 +2386,10 @@ class Room extends Model
|
||||
$role = $this->get_user_role($v['user_id'], $room_id);
|
||||
$v['role'] = $role['role'];
|
||||
$v['pit_number'] = $role['pit_number'];
|
||||
$validOffPitUsers [] = $v;
|
||||
}
|
||||
unset($v); // 释放引用
|
||||
$lists['off_pit'] = $offPitUser;
|
||||
|
||||
$lists['off_pit'] = $validOffPitUsers;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user