房间用户列表
This commit is contained in:
@@ -215,7 +215,7 @@ class Room extends BaseCom
|
|||||||
{
|
{
|
||||||
$room_id = input('room_id', 0);
|
$room_id = input('room_id', 0);
|
||||||
$page = input('page', 1);
|
$page = input('page', 1);
|
||||||
$limit = input('limit', 50);
|
$limit = input('limit', 15);
|
||||||
$reslut = model('Room')->room_online_list($room_id, $page, $limit);
|
$reslut = model('Room')->room_online_list($room_id, $page, $limit);
|
||||||
return V($reslut['code'], $reslut['msg'], $reslut['data']);
|
return V($reslut['code'], $reslut['msg'], $reslut['data']);
|
||||||
}
|
}
|
||||||
@@ -425,16 +425,6 @@ class Room extends BaseCom
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//房间在线列表
|
|
||||||
public function room_online_list_ceshi()
|
|
||||||
{
|
|
||||||
$room_id = input('room_id', 0);
|
|
||||||
$page = input('page', 1);
|
|
||||||
$limit = input('limit', 50);
|
|
||||||
$reslut = model('Room')->room_online_list($room_id, $page, $limit);
|
|
||||||
return V($reslut['code'], $reslut['msg'], $reslut['data']);
|
|
||||||
}
|
|
||||||
|
|
||||||
//房间用户当前魅力值列表
|
//房间用户当前魅力值列表
|
||||||
public function room_user_charm_list()
|
public function room_user_charm_list()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1290,6 +1290,7 @@ class Room extends Model
|
|||||||
$text['FromUserInfo'] = $FromUserInfo;
|
$text['FromUserInfo'] = $FromUserInfo;
|
||||||
$text['pit_number'] = '';
|
$text['pit_number'] = '';
|
||||||
model('api/Chat')->sendMsg(1004,$room_id,$text);
|
model('api/Chat')->sendMsg(1004,$room_id,$text);
|
||||||
|
db::name('vs_room_visitor')->where(['user_id' => $user_id,'room_id' => $room_id])->update(['is_onpit' => 1]);
|
||||||
}
|
}
|
||||||
}elseif ($apply_type == 3){
|
}elseif ($apply_type == 3){
|
||||||
$roomInfoStep = db::name('vs_room')->where(['id' => $room_id])->value('step');
|
$roomInfoStep = db::name('vs_room')->where(['id' => $room_id])->value('step');
|
||||||
@@ -1624,7 +1625,7 @@ class Room extends Model
|
|||||||
|
|
||||||
|
|
||||||
//房间在线列表
|
//房间在线列表
|
||||||
public function room_online_list($room_id, $page, $limit)
|
public function room_online_list1($room_id, $page, $limit)
|
||||||
{
|
{
|
||||||
if (!$room_id) {
|
if (!$room_id) {
|
||||||
return ['code' => 0, 'msg' => '参数错误'];
|
return ['code' => 0, 'msg' => '参数错误'];
|
||||||
@@ -1798,6 +1799,80 @@ class Room extends Model
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//房间在线列表
|
||||||
|
public function room_online_list($room_id, $page = 1, $limit = 15)
|
||||||
|
{
|
||||||
|
if (!$room_id) {
|
||||||
|
return ['code' => 0, 'msg' => '参数错误'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$roomType = db::name('vs_room')->where(['id' => $room_id])->field('type_id,label_id')->find();
|
||||||
|
if (!$roomType) {
|
||||||
|
return ['code' => 0, 'msg' => '房间不存在'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$lists['on_pit'] = [];
|
||||||
|
$lists['off_pit'] = [];
|
||||||
|
$lists['count'] = db::name('vs_room_visitor')->where(['room_id' => $room_id])->count();
|
||||||
|
$where = ['a.room_id' => $room_id];
|
||||||
|
if ($page != 1) {
|
||||||
|
$where['a.is_onpit'] = 1;//不在麦位上的用户
|
||||||
|
$where['b.hide_status'] = 0;//非隐身用户
|
||||||
|
}
|
||||||
|
|
||||||
|
$list = 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')
|
||||||
|
->where($where)
|
||||||
|
->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) {
|
||||||
|
$lists['off_pit'][] = $v;
|
||||||
|
} else {
|
||||||
|
if ($v['is_onpit'] == 0) {//在麦位上的用户
|
||||||
|
$lists['on_pit'][] = $v;
|
||||||
|
} else {
|
||||||
|
if($v['hide_status'] == 0){//非隐身用户
|
||||||
|
$lists['off_pit'][] = $v;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!empty($lists['off_pit']) && is_array($lists['off_pit'])) {
|
||||||
|
usort($lists['off_pit'], function ($a, $b) {
|
||||||
|
if ($a['role'] == $b['role']) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return ($a['role'] < $b['role']) ? -1 : 1;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (!empty($lists['on_pit']) && is_array($lists['on_pit'])) {
|
||||||
|
usort($lists['on_pit'], function ($a, $b) {
|
||||||
|
if ($a['role'] == $b['role']) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return ($a['role'] < $b['role']) ? -1 : 1;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return ['code' => 1, 'msg' => '成功', 'data' => $lists];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//用户在房间内的角色
|
//用户在房间内的角色
|
||||||
public function get_user_role($user_id, $room_id)
|
public function get_user_role($user_id, $room_id)
|
||||||
|
|||||||
@@ -105,6 +105,7 @@ class RoomPit extends Model
|
|||||||
$text['pit_number'] = $pit_number;
|
$text['pit_number'] = $pit_number;
|
||||||
//聊天室推送系统消息
|
//聊天室推送系统消息
|
||||||
model('Chat')->sendMsg(1003,$room_id,$text);
|
model('Chat')->sendMsg(1003,$room_id,$text);
|
||||||
|
db::name('vs_room_visitor')->where(['user_id' => $user_id,'room_id' => $room_id])->update(['is_onpit' => 0]);
|
||||||
|
|
||||||
//查看此房间是否处于pk中
|
//查看此房间是否处于pk中
|
||||||
$is_pk = db::name('vs_room_pk')->where(['room_id_a' => $room_id])->where(['status' => ['in',[2,3,4]]])->value('room_id_b') ?? 0;
|
$is_pk = db::name('vs_room_pk')->where(['room_id_a' => $room_id])->where(['status' => ['in',[2,3,4]]])->value('room_id_b') ?? 0;
|
||||||
@@ -260,6 +261,7 @@ class RoomPit extends Model
|
|||||||
model('Chat')->sendMsg(1022,$room_id,$text);
|
model('Chat')->sendMsg(1022,$room_id,$text);
|
||||||
}else{
|
}else{
|
||||||
model('Chat')->sendMsg(1004,$room_id,$text);
|
model('Chat')->sendMsg(1004,$room_id,$text);
|
||||||
|
db::name('vs_room_visitor')->where(['user_id' => $user_id,'room_id' => $room_id])->update(['is_onpit' => 1]);
|
||||||
//查看此房间是否处于pk中
|
//查看此房间是否处于pk中
|
||||||
$is_pk = db::name('vs_room_pk')->where(['room_id_a' => $room_id])->where(['status' => ['in',[2,3,4]]])->value('room_id_b') ?? 0;
|
$is_pk = db::name('vs_room_pk')->where(['room_id_a' => $room_id])->where(['status' => ['in',[2,3,4]]])->value('room_id_b') ?? 0;
|
||||||
if(!$is_pk){
|
if(!$is_pk){
|
||||||
@@ -752,6 +754,7 @@ class RoomPit extends Model
|
|||||||
$text['FromUserInfo'] = $FromUserInfo;
|
$text['FromUserInfo'] = $FromUserInfo;
|
||||||
$text['pit_number'] = 9999;
|
$text['pit_number'] = 9999;
|
||||||
model('Chat')->sendMsg(1003,$room_id,$text);
|
model('Chat')->sendMsg(1003,$room_id,$text);
|
||||||
|
db::name('vs_room_visitor')->where(['user_id' => $value,'room_id' => $room_id])->update(['is_onpit' => 0]);
|
||||||
//1-禁麦位,2-清空消息,3-清空魅力值,4-加入黑名单,5-踢出房间,6-关闭麦克风,7-申请上麦,8-同意上麦,9-拒绝上麦,10-点歌,11-开启PK',
|
//1-禁麦位,2-清空消息,3-清空魅力值,4-加入黑名单,5-踢出房间,6-关闭麦克风,7-申请上麦,8-同意上麦,9-拒绝上麦,10-点歌,11-开启PK',
|
||||||
model('Room')->room_operation_record($user_id,$room_id,8,$value);
|
model('Room')->room_operation_record($user_id,$room_id,8,$value);
|
||||||
}
|
}
|
||||||
@@ -883,6 +886,7 @@ class RoomPit extends Model
|
|||||||
$text['pit_number'] = 1;
|
$text['pit_number'] = 1;
|
||||||
//聊天室推送系统消息
|
//聊天室推送系统消息
|
||||||
model('Chat')->sendMsg(1003,$room_id,$text);
|
model('Chat')->sendMsg(1003,$room_id,$text);
|
||||||
|
db::name('vs_room_visitor')->where(['user_id' => $uid,'room_id' => $room_id])->update(['is_onpit' => 0]);
|
||||||
|
|
||||||
//删除他的申请上麦
|
//删除他的申请上麦
|
||||||
db::name('vs_room_pit_apply')->where(['user_id' => $uid, 'room_id' => $room_id, 'status' => 0])->delete();
|
db::name('vs_room_pit_apply')->where(['user_id' => $uid, 'room_id' => $room_id, 'status' => 0])->delete();
|
||||||
@@ -1136,6 +1140,7 @@ class RoomPit extends Model
|
|||||||
$text['pit_number'] = $pit_number;
|
$text['pit_number'] = $pit_number;
|
||||||
//聊天室推送系统消息
|
//聊天室推送系统消息
|
||||||
model('Chat')->sendMsg(1003,$room_id,$text);
|
model('Chat')->sendMsg(1003,$room_id,$text);
|
||||||
|
db::name('vs_room_visitor')->where(['user_id' => $accept_user_id,'room_id' => $room_id])->update(['is_onpit' => 0]);
|
||||||
|
|
||||||
//查找当前用户是否有申请上麦 有就删掉
|
//查找当前用户是否有申请上麦 有就删掉
|
||||||
$is_apply_pit = db::name('vs_room_pit_apply')->where(['room_id' => $room_id, 'user_id' => $accept_user_id])->find();
|
$is_apply_pit = db::name('vs_room_pit_apply')->where(['room_id' => $room_id, 'user_id' => $accept_user_id])->find();
|
||||||
|
|||||||
@@ -559,6 +559,7 @@ class RoomSong extends Model
|
|||||||
}
|
}
|
||||||
//聊天室推送系统消息
|
//聊天室推送系统消息
|
||||||
model('Chat')->sendMsg(1003,$room_id,$text);
|
model('Chat')->sendMsg(1003,$room_id,$text);
|
||||||
|
db::name('vs_room_visitor')->where(['user_id' => $user_id,'room_id' => $room_id])->update(['is_onpit' => 0]);
|
||||||
return ['code' => 1, 'msg' => '上麦成功', 'data' => null];
|
return ['code' => 1, 'msg' => '上麦成功', 'data' => null];
|
||||||
}else{
|
}else{
|
||||||
//检查用户是否已经申请
|
//检查用户是否已经申请
|
||||||
@@ -618,6 +619,7 @@ class RoomSong extends Model
|
|||||||
$text['FromUserInfo'] = $FromUserInfo;
|
$text['FromUserInfo'] = $FromUserInfo;
|
||||||
$text['pit_number'] = '';
|
$text['pit_number'] = '';
|
||||||
model('Chat')->sendMsg(1004,$room_id,$text);
|
model('Chat')->sendMsg(1004,$room_id,$text);
|
||||||
|
db::name('vs_room_visitor')->where(['user_id' => $user_id,'room_id' => $room_id])->update(['is_onpit' => 1]);
|
||||||
return ['code' => 1, 'msg' => '下麦成功', 'data' => null];
|
return ['code' => 1, 'msg' => '下麦成功', 'data' => null];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user