离线
This commit is contained in:
@@ -1048,7 +1048,7 @@ class Room extends Model
|
||||
//麦位信息
|
||||
$pit_list = db::name('vs_room_pit')->alias('a')->join('user b', 'a.user_id = b.id', 'left')
|
||||
->where(['a.room_id' => $room_id,'a.status' => 1])
|
||||
->field('a.id,a.user_id,a.pit_number,a.is_lock,a.is_mute,a.count_down,b.nickname,b.avatar,b.sex,b.user_code')
|
||||
->field('a.id,a.user_id,a.pit_number,a.is_lock,a.is_mute,a.count_down,b.nickname,b.avatar,b.sex,b.user_code,b.is_online')
|
||||
->order('a.pit_number asc')->select();
|
||||
foreach ($pit_list as &$value) {
|
||||
$value['charm'] = 0;
|
||||
@@ -1455,23 +1455,6 @@ class Room extends Model
|
||||
if ($label_type['code'] != 1) {
|
||||
return ['code' => 0, 'msg' => '房间不存在', 'data' => null];
|
||||
}
|
||||
//查询房间里面的用户
|
||||
$room_user = db::name('vs_room_visitor')->where(['room_id' => $room_id])->select();
|
||||
if($room_user){
|
||||
foreach ($room_user as $vv){
|
||||
if(($label_type['data']['type_id'] == 1 || $label_type['data']['type_id'] == 8) && $label_type['data']['label_id'] == 1){
|
||||
//不做处理
|
||||
}else{
|
||||
//查询是否有切后台的操作
|
||||
$bg_room = db::name('vs_user_in_room_bg')->where(['room_id' => $room_id,'user_id' => $vv['user_id']])->find();
|
||||
|
||||
if(Db::name('user')->where('id', $vv['user_id'])->value('is_online') == 0 && !$bg_room){
|
||||
model('Room')->quit_room($vv['user_id'], $room_id,$vv['user_id'],2);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
$list = db::name('vs_room_visitor')->alias('a')
|
||||
->join('user b', 'a.user_id = b.id')
|
||||
@@ -1482,11 +1465,12 @@ class Room extends Model
|
||||
->page($page, $limit)
|
||||
->select();
|
||||
if ($list) {
|
||||
foreach ($list as &$v) {
|
||||
foreach ($list as $key => &$v) {
|
||||
//判断用户的隐身状态,隐身用户且不在麦位上不显示
|
||||
$hinde_status = db::name('user')->where('id', $v['user_id'])->value('hide_status');
|
||||
$on_pit = db::name('vs_room_pit')->where(['room_id' => $room_id, 'user_id' => $v['user_id']])->value('pit_number');
|
||||
if ($hinde_status == 1 && !$on_pit) {
|
||||
unset($list[$key]); // 完全移除该用户
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -1502,6 +1486,9 @@ class Room extends Model
|
||||
$v['role'] = $role['role'];
|
||||
$v['pit_number'] = $role['pit_number'];
|
||||
}
|
||||
// 重新索引数组以避免键名不连续的问题
|
||||
$list = array_values($list);
|
||||
|
||||
//根据角色排序 房主>管理员>主持人>普通用户
|
||||
usort($list, function ($a, $b) {
|
||||
if ($a['role'] == $b['role']) {
|
||||
|
||||
Reference in New Issue
Block a user