房间用户列表
This commit is contained in:
@@ -1808,47 +1808,63 @@ class Room extends Model
|
|||||||
|
|
||||||
$lists['on_pit'] = [];
|
$lists['on_pit'] = [];
|
||||||
$lists['off_pit'] = [];
|
$lists['off_pit'] = [];
|
||||||
$lists['count'] = db::name('vs_room_visitor')->where(['room_id' => $room_id])->count();
|
$count = 0;
|
||||||
$where = ['a.room_id' => $room_id];
|
|
||||||
|
|
||||||
$list = db::name('vs_room_visitor')->alias('a')
|
$lists['count'] = db::name('vs_room_visitor')->alias('a')
|
||||||
->join('user b', 'a.user_id = b.id','left')
|
->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,'b.hide_status'=>0])
|
||||||
->where($where)
|
->count();
|
||||||
->page($page, $limit)
|
|
||||||
->select();
|
|
||||||
if ($list) {
|
|
||||||
foreach ($list as $v) {
|
|
||||||
$v['icon'][0] = model('UserData')->user_wealth_icon($v['user_id']);//财富图标
|
|
||||||
$v['icon'][1] = model('UserData')->user_charm_icon($v['user_id']);//魅力图标
|
|
||||||
//判断是否是歌手 如果是 返回等级图标
|
|
||||||
$isSinnger = db::name('vs_singer')->where(['user_id' => $v['user_id'], 'status' => 1])->value('level');
|
|
||||||
if ($isSinnger) {
|
|
||||||
$v['icon'][2] = db::name('vs_singer_level')->where(['level' => $isSinnger, 'deletetime' => 0])->value('image');//等级图标
|
|
||||||
}
|
|
||||||
//用户的角色
|
|
||||||
$role = $this->get_user_role($v['user_id'], $room_id);
|
|
||||||
$v['role'] = $role['role'];
|
|
||||||
$v['pit_number'] = $role['pit_number'];
|
|
||||||
|
|
||||||
if ($page != 1) {
|
if ($page == 1) {
|
||||||
// $lists['off_pit'][] = $v;
|
$onPitUser = db::name('vs_room_visitor')->alias('a')
|
||||||
if ($v['is_onpit'] == 1) {//bu在麦位上的用户
|
->join('user b', 'a.user_id = b.id')
|
||||||
if($v['hide_status'] == 0){//非隐身用户
|
->field('a.user_id,b.nickname,b.avatar,b.hide_status,a.is_onpit')
|
||||||
$lists['off_pit'][] = $v;
|
->where(['a.room_id' => $room_id,'a.is_onpit' => 0])
|
||||||
}
|
->select();
|
||||||
}
|
if(!empty($onPitUser)){
|
||||||
} else {
|
foreach ($onPitUser as $v) {
|
||||||
if ($v['is_onpit'] == 1) {//bu在麦位上的用户
|
$v['icon'][0] = model('UserData')->user_wealth_icon($v['user_id']);//财富图标
|
||||||
if($v['hide_status'] == 0){//非隐身用户
|
$v['icon'][1] = model('UserData')->user_charm_icon($v['user_id']);//魅力图标
|
||||||
$lists['off_pit'][] = $v;
|
//判断是否是歌手 如果是 返回等级图标
|
||||||
}
|
$isSinnger = db::name('vs_singer')->where(['user_id' => $v['user_id'], 'status' => 1])->value('level');
|
||||||
} else {
|
if ($isSinnger) {
|
||||||
$lists['on_pit'][] = $v;
|
$v['icon'][2] = db::name('vs_singer_level')->where(['level' => $isSinnger, 'deletetime' => 0])->value('image');//等级图标
|
||||||
}
|
}
|
||||||
|
//用户的角色
|
||||||
|
$role = $this->get_user_role($v['user_id'], $room_id);
|
||||||
|
$v['role'] = $role['role'];
|
||||||
|
$v['pit_number'] = $role['pit_number'];
|
||||||
}
|
}
|
||||||
|
$lists['on_pit'] = $onPitUser;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$pg = $limit - count($lists['on_pit']);
|
||||||
|
if($pg > 0){
|
||||||
|
$offPitUser = db::name('vs_room_visitor')->alias('a')
|
||||||
|
->join('user b', 'a.user_id = b.id')
|
||||||
|
->field('a.user_id,b.nickname,b.avatar,b.hide_status,a.is_onpit')
|
||||||
|
->where(['a.room_id' => $room_id,'b.hide_status' => 0])
|
||||||
|
->page($page, $pg)
|
||||||
|
->select();
|
||||||
|
if(!empty($offPitUser)){
|
||||||
|
foreach ($offPitUser as $v) {
|
||||||
|
$v['icon'][0] = model('UserData')->user_wealth_icon($v['user_id']);//财富图标
|
||||||
|
$v['icon'][1] = model('UserData')->user_charm_icon($v['user_id']);//魅力图标
|
||||||
|
//判断是否是歌手 如果是 返回等级图标
|
||||||
|
$isSinnger = db::name('vs_singer')->where(['user_id' => $v['user_id'], 'status' => 1])->value('level');
|
||||||
|
if ($isSinnger) {
|
||||||
|
$v['icon'][2] = db::name('vs_singer_level')->where(['level' => $isSinnger, 'deletetime' => 0])->value('image');//等级图标
|
||||||
|
}
|
||||||
|
//用户的角色
|
||||||
|
$role = $this->get_user_role($v['user_id'], $room_id);
|
||||||
|
$v['role'] = $role['role'];
|
||||||
|
$v['pit_number'] = $role['pit_number'];
|
||||||
|
}
|
||||||
|
$lists['off_pit'] = $offPitUser;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (!empty($lists['off_pit']) && is_array($lists['off_pit'])) {
|
if (!empty($lists['off_pit']) && is_array($lists['off_pit'])) {
|
||||||
usort($lists['off_pit'], function ($a, $b) {
|
usort($lists['off_pit'], function ($a, $b) {
|
||||||
if ($a['role'] == $b['role']) {
|
if ($a['role'] == $b['role']) {
|
||||||
@@ -1865,6 +1881,7 @@ class Room extends Model
|
|||||||
return ($a['role'] < $b['role']) ? -1 : 1;
|
return ($a['role'] < $b['role']) ? -1 : 1;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
$lists['count'] = $lists['count'] - $count;
|
||||||
return ['code' => 1, 'msg' => '成功', 'data' => $lists];
|
return ['code' => 1, 'msg' => '成功', 'data' => $lists];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user