diff --git a/application/api/model/Room.php b/application/api/model/Room.php index 66e21a9a..ed12b991 100644 --- a/application/api/model/Room.php +++ b/application/api/model/Room.php @@ -1818,11 +1818,17 @@ 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') + ->field('a.id,a.user_id,b.nickname,b.avatar,b.hide_status,a.is_onpit') ->where(['a.room_id' => $room_id,'a.is_onpit' => 0])//is_onpit:1-未上麦,0-已上麦 ->select(); + $validOnPitUsers = []; if(!empty($onPitUser)){ - foreach ($onPitUser as &$v) { + foreach ($onPitUser as $k => $v) { + $isOnPit = db::name('vs_room_pit')->where(['user_id' => $v['user_id'],'room_id' => $room_id])->value('pit_number'); + if(!$isOnPit){ + db::name('vs_room_visitor')->where(['id' => $v['id']])->update(['is_onpit' => 1]); + continue; + } $v['icon'][0] = model('UserData')->user_wealth_icon($v['user_id']);//财富图标 $v['icon'][1] = model('UserData')->user_charm_icon($v['user_id']);//魅力图标 //判断是否是歌手 如果是 返回等级图标 @@ -1835,9 +1841,11 @@ class Room extends Model $role = $this->get_user_role($v['user_id'], $room_id); $v['role'] = $role['role']; $v['pit_number'] = $role['pit_number']; + + // 只有验证通过的用户才添加到结果中 + $validOnPitUsers[] = $v; } - unset($v); // 释放引用 - $lists['on_pit'] = $onPitUser; + $lists['on_pit'] = $validOnPitUsers; } }