房间用户列表

This commit is contained in:
2025-12-09 20:14:23 +08:00
parent f72d5782ed
commit 1687640191

View File

@@ -1824,8 +1824,8 @@ 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.user_id,b.nickname,b.avatar,b.hide_status,a.is_onpit')
->join('user b', 'a.user_id = b.id','left')
->field('a.user_id,b.nickname,b.avatar,b.hide_status,a.is_onpit')
->where(['a.room_id' => $room_id,'a.is_onpit' => 0])//is_onpit1-未上麦0-已上麦
->select();
if(!empty($onPitUser)){
@@ -1844,6 +1844,7 @@ class Room extends Model
}
unset($v); // 释放引用
$lists['on_pit'] = $onPitUser;
$onPitUserIds = array_column($lists['on_pit'], 'user_id');
}
}
@@ -1856,9 +1857,9 @@ class Room extends Model
$needOffPitCount = $limit - $onPitCount;
if ($needOffPitCount > 0) {
$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')
->where(['a.room_id' => $room_id,'a.is_onpit' => 1]) // 非隐身且未上麦
->join('user b', 'a.user_id = b.id','left')
->field('a.user_id,b.nickname,b.avatar,b.hide_status,a.is_onpit')
->where(['a.room_id' => $room_id,'b.hide_status' => 0,'a.is_onpit' => 1,'a.user_id' => ['not in', empty($onPitUserIds) ? [0] : $onPitUserIds]]) // 非隐身且未上麦
->limit(0, $needOffPitCount)
->order('a.id', 'desc')
->select();
@@ -1889,9 +1890,9 @@ class Room extends Model
$offset = max(0, $offset);
$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')
->where(['a.room_id' => $room_id,'a.is_onpit' => 1]) // 非隐身且未上麦
->join('user b', 'a.user_id = b.id','left')
->field('a.user_id,b.nickname,b.avatar,b.hide_status,a.is_onpit')
->where(['a.room_id' => $room_id,'b.hide_status' => 0,'a.is_onpit' => 1,'a.user_id' => ['not in', empty($onPitUserIds) ? [0] : $onPitUserIds]]) // 非隐身且未上麦
->limit($offset, $limit)
->order('a.id', 'desc')
->select();