Merge branch 'master' into develop

This commit is contained in:
2025-08-11 16:23:02 +08:00
5 changed files with 115 additions and 67 deletions

View File

@@ -395,4 +395,15 @@ class Room extends BaseCom
$reslut = model('Room')->room_online_number($room_id); $reslut = model('Room')->room_online_number($room_id);
return V($reslut['code'], $reslut['msg'], $reslut['data']); return V($reslut['code'], $reslut['msg'], $reslut['data']);
} }
//房间在线列表
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']);
}
} }

View File

@@ -98,7 +98,7 @@ class Chat extends Model
'Text' => $content 'Text' => $content
]; ];
$data = model('Tencent')->send_group_system_notification('room'.$roomId,json_encode($text)); $data = model('api/Tencent')->send_group_system_notification('room'.$roomId,json_encode($text));
if($data['code'] == 0){ if($data['code'] == 0){
Log::record("腾讯发送群消息:".$data['msg'].$type,"info"); Log::record("腾讯发送群消息:".$data['msg'].$type,"info");

View File

@@ -599,7 +599,7 @@ class Room extends Model
foreach ($song_list as $key => $value){ foreach ($song_list as $key => $value){
if($value['status'] == 2 && $value['times_status'] == 1){ if($value['status'] == 2 && $value['times_status'] == 1){
//切歌 //切歌
model('RoomSong')->change_song($room_id,$value['did']); model('api/RoomSong')->change_song($room_id,$value['did']);
} }
if($value['status'] == 1){ if($value['status'] == 1){
db::name('vs_room_song')->where(['did' => $value['did']])->update(['status' => 3]); db::name('vs_room_song')->where(['did' => $value['did']])->update(['status' => 3]);
@@ -617,7 +617,7 @@ class Room extends Model
db::name('vs_room_visitor')->where(['room_id' => $room_user, 'user_id' => $user_id])->delete(); db::name('vs_room_visitor')->where(['room_id' => $room_user, 'user_id' => $user_id])->delete();
$nickname = db::name('user')->where('id', $user_id)->value('nickname'); $nickname = db::name('user')->where('id', $user_id)->value('nickname');
$text['text'] = '用户 ' . $nickname .' 退出了房间'; $text['text'] = '用户 ' . $nickname .' 退出了房间';
model('Chat')->sendMsg(1002,$room_user,$text,$user_id); model('api/Chat')->sendMsg(1002,$room_user,$text,$user_id);
}else{ }else{
//退出其他房间 //退出其他房间
$this->quit_room($user_id, $room_user,$user_id); $this->quit_room($user_id, $room_user,$user_id);
@@ -655,8 +655,8 @@ class Room extends Model
$value['dress'] = ''; $value['dress'] = '';
if (isset($value['user_id']) && $value['user_id'] > 0) { if (isset($value['user_id']) && $value['user_id'] > 0) {
$value['charm'] = db::name('vs_room_user_charm')->where(['room_id' => $room['id'], 'user_id' => $value['user_id']])->value('charm'); $value['charm'] = db::name('vs_room_user_charm')->where(['room_id' => $room['id'], 'user_id' => $value['user_id']])->value('charm');
$value['dress'] = model('Decorate')->user_decorate_detail($value['user_id'], 1); $value['dress'] = model('api/Decorate')->user_decorate_detail($value['user_id'], 1);
$value['user_code'] = model('Decorate')->user_decorate_detail($value['user_id'], 6); $value['user_code'] = model('api/Decorate')->user_decorate_detail($value['user_id'], 6);
} }
} }
$user_pit = db::name('vs_room_pit')->where(['room_id' => $room['id'],'user_id' => $user_id])->find(); $user_pit = db::name('vs_room_pit')->where(['room_id' => $room['id'],'user_id' => $user_id])->find();
@@ -672,7 +672,7 @@ class Room extends Model
if($room_time <= time()){ if($room_time <= time()){
db::name('vs_room')->where(['id' => $room_id])->update(['room_status' => 3]); db::name('vs_room')->where(['id' => $room_id])->update(['room_status' => 3]);
db::name('vs_room_cp_movie')->where(['room_id' => $room['id']])->update(['status' => 2]); db::name('vs_room_cp_movie')->where(['room_id' => $room['id']])->update(['status' => 2]);
model('Tencent')->delete_group('room'.$room_id); model('api/Tencent')->delete_group('room'.$room_id);
return ['code' => 0, 'msg' => 'cp房间已到期', 'data' => '']; return ['code' => 0, 'msg' => 'cp房间已到期', 'data' => ''];
} }
$room_status = db::name('vs_room_cp_movie')->where(['room_id' => $room['id']])->value('status'); $room_status = db::name('vs_room_cp_movie')->where(['room_id' => $room['id']])->value('status');
@@ -690,8 +690,8 @@ class Room extends Model
if($cp_users['user_id'] != $user_id && $cp_users['user_id1'] != $user_id){ if($cp_users['user_id'] != $user_id && $cp_users['user_id1'] != $user_id){
return ['code' => 0, 'msg' => '您不是房间的cp用户请勿进入', 'data' => '']; return ['code' => 0, 'msg' => '您不是房间的cp用户请勿进入', 'data' => ''];
} }
$cp_users['dress'] = model('Decorate')->user_decorate_detail($cp_users['user_id'],1); $cp_users['dress'] = model('api/Decorate')->user_decorate_detail($cp_users['user_id'],1);
$cp_users['dress1'] = model('Decorate')->user_decorate_detail($cp_users['user_id1'],1); $cp_users['dress1'] = model('api/Decorate')->user_decorate_detail($cp_users['user_id1'],1);
if($cp_users['user_id'] == $user_id){ if($cp_users['user_id'] == $user_id){
$room_name = db::name('user')->where('id', $cp_users['user_id1'])->value('nickname'); $room_name = db::name('user')->where('id', $cp_users['user_id1'])->value('nickname');
} }
@@ -708,7 +708,7 @@ class Room extends Model
} }
$room['is_use_code'] = 0; $room['is_use_code'] = 0;
$liang = model('Decorate')->user_decorate_detail($room['id'],7); $liang = model('api/Decorate')->user_decorate_detail($room['id'],7);
if($liang != $room['room_number']){ if($liang != $room['room_number']){
$room['is_use_code'] = 1; $room['is_use_code'] = 1;
$room['room_number'] = $liang; $room['room_number'] = $liang;
@@ -835,23 +835,23 @@ class Room extends Model
//房主信息 //房主信息
$room_owner = db::name('user')->where('id', $room['user_id'])->field('id as user_id,user_code,sex,nickname,avatar')->find(); $room_owner = db::name('user')->where('id', $room['user_id'])->field('id as user_id,user_code,sex,nickname,avatar')->find();
$room_owner['user_code'] = model('Decorate')->user_decorate_detail($room['user_id'],6); $room_owner['user_code'] = model('api/Decorate')->user_decorate_detail($room['user_id'],6);
//当前用户信息 //当前用户信息
$user_info = $this ->get_user_info($room_id,$user_id,$user_pit,1);//用户进入房间 才会获取声网token更新房间不获取声网token $user_info = $this ->get_user_info($room_id,$user_id,$user_pit,1);//用户进入房间 才会获取声网token更新房间不获取声网token
$user_info['is_room_owner'] = ($user_id == $room['user_id']) ? 1 : 0; $user_info['is_room_owner'] = ($user_id == $room['user_id']) ? 1 : 0;
//推送信息 //推送信息
$text['text'] = '欢迎用户 ' . $user_info['nickname'] .' 进入房间'; $text['text'] = '欢迎用户 ' . $user_info['nickname'] .' 进入房间';
$text['jia_jia'] = model('Decorate')->user_decorate_detail($user_id,2); $text['jia_jia'] = model('api/Decorate')->user_decorate_detail($user_id,2);
$text['FromUserInfo'] = db::name('user')->where('id',$user_id)->field('id as user_id,nickname,avatar,sex')->find(); $text['FromUserInfo'] = db::name('user')->where('id',$user_id)->field('id as user_id,nickname,avatar,sex')->find();
$text['FromUserInfo']['dress'] = model('Decorate')->user_decorate_detail($user_id,1); $text['FromUserInfo']['dress'] = model('api/Decorate')->user_decorate_detail($user_id,1);
$text['FromUserInfo']['mic_dress'] = model('Decorate')->user_decorate_detail($user_id,4); $text['FromUserInfo']['mic_dress'] = model('api/Decorate')->user_decorate_detail($user_id,4);
$text['FromUserInfo']['chat_dress'] = model('Decorate')->user_decorate_detail($user_id,5); $text['FromUserInfo']['chat_dress'] = model('api/Decorate')->user_decorate_detail($user_id,5);
model('Chat')->sendMsg(1001,$room_id,$text,$user_id); model('api/Chat')->sendMsg(1001,$room_id,$text,$user_id);
//记录用户访问记录 //记录用户访问记录
if($user_id != $room_owner['user_id']){ if($user_id != $room_owner['user_id']){
model('User')->add_user_visit_log(2,$user_id, $room_id); model('api/User')->add_user_visit_log(2,$user_id, $room_id);
} }
return ['code' => 1, return ['code' => 1,
'msg' => '成功', 'msg' => '成功',
@@ -873,18 +873,18 @@ class Room extends Model
public function get_user_info($room_id,$user_id,$user_pit,$is_join = 0) public function get_user_info($room_id,$user_id,$user_pit,$is_join = 0)
{ {
$user_info = db::name('user')->where('id', $user_id)->field('id as user_id,user_code,sex,nickname,avatar')->find(); $user_info = db::name('user')->where('id', $user_id)->field('id as user_id,user_code,sex,nickname,avatar')->find();
$user_info['dress'] = model('Decorate')->user_decorate_detail($user_id,1); $user_info['dress'] = model('api/Decorate')->user_decorate_detail($user_id,1);
$user_info['user_code'] = model('Decorate')->user_decorate_detail($user_id,6); $user_info['user_code'] = model('api/Decorate')->user_decorate_detail($user_id,6);
$user_info['pit_number'] = (isset($user_pit['pit_number'])) ? $user_pit['pit_number'] : 0; $user_info['pit_number'] = (isset($user_pit['pit_number'])) ? $user_pit['pit_number'] : 0;
$user_info['count_down'] = 0; $user_info['count_down'] = 0;
$user_info['is_collect'] = db::name('user_follow')->where(['follow_id' => $room_id,'user_id' => $user_id,'type' => 2])->find() ? 1 : 0; $user_info['is_collect'] = db::name('user_follow')->where(['follow_id' => $room_id,'user_id' => $user_id,'type' => 2])->find() ? 1 : 0;
$user_info['is_host'] = db::name('vs_room_host')->where(['room_id' => $room_id,'user_id' => $user_id,'type' => 1,'delete_time' => null])->find() ? 1 : 0; $user_info['is_host'] = db::name('vs_room_host')->where(['room_id' => $room_id,'user_id' => $user_id,'type' => 1,'delete_time' => null])->find() ? 1 : 0;
$user_info['is_management'] = db::name('vs_room_host')->where(['room_id' => $room_id,'user_id' => $user_id,'type' => 2,'delete_time' => null])->find() ? 1 : 0; $user_info['is_management'] = db::name('vs_room_host')->where(['room_id' => $room_id,'user_id' => $user_id,'type' => 2,'delete_time' => null])->find() ? 1 : 0;
$user_info['icon'][0] = model('UserData')->user_wealth_icon($user_id);//财富图标 $user_info['icon'][0] = model('api/UserData')->user_wealth_icon($user_id);//财富图标
$user_info['icon'][1] = model('UserData')->user_charm_icon($user_id);//魅力图标 $user_info['icon'][1] = model('api/UserData')->user_charm_icon($user_id);//魅力图标
if($is_join){ if($is_join){
$user_info['agora_token'] =model('Agora')->agora_token_info($user_id, $room_id); $user_info['agora_token'] =model('api/Agora')->agora_token_info($user_id, $room_id);
$user_info['agora_rtm_token'] = model('Agora')->agora_rtm_token_info($user_id, $room_id);//连麦用的 $user_info['agora_rtm_token'] = model('api/Agora')->agora_rtm_token_info($user_id, $room_id);//连麦用的
} }
$user_info['is_mute'] = db::name('vs_room_user_muted')->where(['room_id' => $room_id, 'user_id' => $user_id,'status' => 1])->find() ? 1 : 0; $user_info['is_mute'] = db::name('vs_room_user_muted')->where(['room_id' => $room_id, 'user_id' => $user_id,'status' => 1])->find() ? 1 : 0;
$user_info['is_mute_pit'] = db::name('vs_room_user_muted')->where(['room_id' => $room_id, 'user_id' => $user_id,'status' => 2])->find() ? 1 : 0; $user_info['is_mute_pit'] = db::name('vs_room_user_muted')->where(['room_id' => $room_id, 'user_id' => $user_id,'status' => 2])->find() ? 1 : 0;
@@ -907,7 +907,7 @@ class Room extends Model
'poster' => $song['poster'], 'poster' => $song['poster'],
'duration' => $song['duration'], 'duration' => $song['duration'],
'user_id' => $song['user_id'], 'user_id' => $song['user_id'],
'dress' => model('Decorate')->user_decorate_detail($song['user_id'], 1), 'dress' => model('api/Decorate')->user_decorate_detail($song['user_id'], 1),
'nickname' => db::name('user')->where('id',$song['user_id'])->value('nickname'), 'nickname' => db::name('user')->where('id',$song['user_id'])->value('nickname'),
'avatar' => db::name('user')->where('id',$song['user_id'])->value('avatar'), 'avatar' => db::name('user')->where('id',$song['user_id'])->value('avatar'),
'charm' => db::name('vs_room_user_charm')->where(['user_id' =>$song['user_id'],'room_id' => $room_id])->value('charm'), 'charm' => db::name('vs_room_user_charm')->where(['user_id' =>$song['user_id'],'room_id' => $room_id])->value('charm'),
@@ -926,7 +926,7 @@ class Room extends Model
'poster' => $data[0]['poster'], 'poster' => $data[0]['poster'],
'duration' => $data[0]['duration'], 'duration' => $data[0]['duration'],
'user_id' => $data[0]['user_id'], 'user_id' => $data[0]['user_id'],
'dress' => model('Decorate')->user_decorate_detail($data[0]['user_id'], 1), 'dress' => model('api/Decorate')->user_decorate_detail($data[0]['user_id'], 1),
'nickanme' => db::name('user')->where('id',$data[0]['user_id'])->value('nickname'), 'nickanme' => db::name('user')->where('id',$data[0]['user_id'])->value('nickname'),
'avatar' => db::name('user')->where('id',$data[0]['user_id'])->value('avatar'), 'avatar' => db::name('user')->where('id',$data[0]['user_id'])->value('avatar'),
'charm' => db::name('vs_room_user_charm')->where('user_id',$data[0]['user_id'])->value('charm'), 'charm' => db::name('vs_room_user_charm')->where('user_id',$data[0]['user_id'])->value('charm'),
@@ -943,19 +943,19 @@ class Room extends Model
$value['dress'] = ''; $value['dress'] = '';
if (isset($value['user_id']) && $value['user_id'] > 0) { if (isset($value['user_id']) && $value['user_id'] > 0) {
$value['charm'] = db::name('vs_room_user_charm')->where(['room_id' => $room_id, 'user_id' => $value['user_id']])->value('charm') ?? 0; $value['charm'] = db::name('vs_room_user_charm')->where(['room_id' => $room_id, 'user_id' => $value['user_id']])->value('charm') ?? 0;
$value['dress'] = model('Decorate')->user_decorate_detail($value['user_id'], 1); $value['dress'] = model('api/Decorate')->user_decorate_detail($value['user_id'], 1);
$value['user_code'] = model('Decorate')->user_decorate_detail($value['user_id'], 6); $value['user_code'] = model('api/Decorate')->user_decorate_detail($value['user_id'], 6);
} }
} }
$song_pit_list = db::name('vs_room_pit_simulate')->where(['room_id' => $room_id])->select(); $song_pit_list = db::name('vs_room_pit_simulate')->where(['room_id' => $room_id])->select();
if($song_pit_list){ if($song_pit_list){
foreach ($song_pit_list as &$value){ foreach ($song_pit_list as &$value){
$value['dress'] = model('Decorate')->user_decorate_detail($value['user_id'], 1); $value['dress'] = model('api/Decorate')->user_decorate_detail($value['user_id'], 1);
$value['nickname'] = db::name('user')->where('id',$value['user_id'])->value('nickname'); $value['nickname'] = db::name('user')->where('id',$value['user_id'])->value('nickname');
$value['avatar'] = db::name('user')->where('id',$value['user_id'])->value('avatar'); $value['avatar'] = db::name('user')->where('id',$value['user_id'])->value('avatar');
$value['sex'] = db::name('user')->where('id',$value['user_id'])->value('sex'); $value['sex'] = db::name('user')->where('id',$value['user_id'])->value('sex');
$value['charm'] = db::name('vs_room_user_charm')->where(['room_id' => $room_id, 'user_id' => $value['user_id']])->value('charm') ?? 0; $value['charm'] = db::name('vs_room_user_charm')->where(['room_id' => $room_id, 'user_id' => $value['user_id']])->value('charm') ?? 0;
$value['user_code'] = model('Decorate')->user_decorate_detail($value['user_id'], 6); $value['user_code'] = model('api/Decorate')->user_decorate_detail($value['user_id'], 6);
$value['is_lock'] = 0; $value['is_lock'] = 0;
$value['is_mute'] = 0; $value['is_mute'] = 0;
$value['count_down'] = 0; $value['count_down'] = 0;
@@ -995,14 +995,14 @@ class Room extends Model
->where(['a.room_id' => $room_id,'a.status' => 2])->find(); ->where(['a.room_id' => $room_id,'a.status' => 2])->find();
// var_dump($auction);exit; // var_dump($auction);exit;
if($auction){ if($auction){
$auction['dress'] = model('Decorate')->user_decorate_detail($auction['user_id'], 1); $auction['dress'] = model('api/Decorate')->user_decorate_detail($auction['user_id'], 1);
$auction['relation_name'] = db::name('vs_relation')->where('id',$auction['relation_id'])->value('name'); $auction['relation_name'] = db::name('vs_relation')->where('id',$auction['relation_id'])->value('name');
$auction['relation_icon'] = db::name('vs_relation')->where('id',$auction['relation_id'])->value('icon'); $auction['relation_icon'] = db::name('vs_relation')->where('id',$auction['relation_id'])->value('icon');
$auction['base_image'] = db::name('vs_gift')->where('gid',$auction['gift_id'])->value('base_image'); $auction['base_image'] = db::name('vs_gift')->where('gid',$auction['gift_id'])->value('base_image');
$auction['gift_name'] = db::name('vs_gift')->where('gid',$auction['gift_id'])->value('gift_name'); $auction['gift_name'] = db::name('vs_gift')->where('gid',$auction['gift_id'])->value('gift_name');
$auction['time_day'] = $auction['time_day'] / 60 / 60; $auction['time_day'] = $auction['time_day'] / 60 / 60;
$auction['charm'] = db::name('vs_room_user_charm')->where(['room_id' => $room_id, 'user_id' => $auction['user_id']])->value('charm') ?? 0; $auction['charm'] = db::name('vs_room_user_charm')->where(['room_id' => $room_id, 'user_id' => $auction['user_id']])->value('charm') ?? 0;
$auction_list = model('RoomAuction')->room_auction_list_on($auction['auction_id']); $auction_list = model('api/RoomAuction')->room_auction_list_on($auction['auction_id']);
$auction_user = $auction; $auction_user = $auction;
if($auction['user_id'] == $user_id){ if($auction['user_id'] == $user_id){
$user_pit['pit_number'] = 888; $user_pit['pit_number'] = 888;
@@ -1018,7 +1018,7 @@ class Room extends Model
}else{ }else{
$auction_list = null; $auction_list = null;
$users = db::name('user')->where('id',$catdc)->field('id as user_id,nickname,avatar,sex,user_code')->find(); $users = db::name('user')->where('id',$catdc)->field('id as user_id,nickname,avatar,sex,user_code')->find();
$users['dress'] = model('Decorate')->user_decorate_detail($catdc, 1); $users['dress'] = model('api/Decorate')->user_decorate_detail($catdc, 1);
$users['charm'] = db::name('vs_room_user_charm')->where(['room_id' => $room_id, 'user_id' => $catdc])->value('charm') ?? 0; $users['charm'] = db::name('vs_room_user_charm')->where(['room_id' => $room_id, 'user_id' => $catdc])->value('charm') ?? 0;
$auction_user = $users; $auction_user = $users;
if($catdc == $user_id){ if($catdc == $user_id){
@@ -1039,8 +1039,8 @@ class Room extends Model
$value['dress'] = ''; $value['dress'] = '';
if (isset($value['user_id']) && $value['user_id'] > 0) { if (isset($value['user_id']) && $value['user_id'] > 0) {
$value['charm'] = db::name('vs_room_user_charm')->where(['room_id' => $room_id, 'user_id' => $value['user_id']])->value('charm') ?? 0; $value['charm'] = db::name('vs_room_user_charm')->where(['room_id' => $room_id, 'user_id' => $value['user_id']])->value('charm') ?? 0;
$value['dress'] = model('Decorate')->user_decorate_detail($value['user_id'], 1); $value['dress'] = model('api/Decorate')->user_decorate_detail($value['user_id'], 1);
$value['user_code'] = model('Decorate')->user_decorate_detail($value['user_id'], 6); $value['user_code'] = model('api/Decorate')->user_decorate_detail($value['user_id'], 6);
if($value['user_id'] == $user_id){ if($value['user_id'] == $user_id){
$user_pit['pit_number'] = 9; $user_pit['pit_number'] = 9;
} }
@@ -1059,7 +1059,7 @@ class Room extends Model
$nickname = db::name('user')->where('id', $user_id)->value('nickname'); $nickname = db::name('user')->where('id', $user_id)->value('nickname');
} }
if($type == 1){ if($type == 1){
if(!model('QuanXian')->quan_xian($uid, $user_id, $room_id)){ if(!model('api/QuanXian')->quan_xian($uid, $user_id, $room_id)){
return ['code' => 0, 'msg' => '您没有权限操作', 'data' => null]; return ['code' => 0, 'msg' => '您没有权限操作', 'data' => null];
} }
} }
@@ -1067,7 +1067,7 @@ class Room extends Model
//记录用户退出房 //记录用户退出房
db::name('vs_room_visitor')->where(['room_id' => $room_id, 'user_id' => $user_id])->delete(); db::name('vs_room_visitor')->where(['room_id' => $room_id, 'user_id' => $user_id])->delete();
//房间的模式 //房间的模式
$res = model('Room')->get_room_label($room_id); $res = model('api/Room')->get_room_label($room_id);
$room_label = $res['data']['label_id']; $room_label = $res['data']['label_id'];
$room_type = $res['data']['type_id']; $room_type = $res['data']['type_id'];
@@ -1082,30 +1082,30 @@ class Room extends Model
//在麦位上 移除用户 //在麦位上 移除用户
$room_pit = db::name('vs_room_pit')->where(['room_id' => $room_id, 'user_id' => $user_id])->find(); $room_pit = db::name('vs_room_pit')->where(['room_id' => $room_id, 'user_id' => $user_id])->find();
if (isset($room_pit)) { if (isset($room_pit)) {
model('RoomPit')->DownPit($user_id, $room_id, $room_pit['pit_number']); model('api/RoomPit')->DownPit($user_id, $room_id, $room_pit['pit_number']);
} }
}elseif ($apply_type == 2){ }elseif ($apply_type == 2){
//在麦位上 移除用户 //在麦位上 移除用户
$room_pit = db::name('vs_room_pit')->where(['room_id' => $room_id, 'user_id' => $user_id])->find(); $room_pit = db::name('vs_room_pit')->where(['room_id' => $room_id, 'user_id' => $user_id])->find();
if (isset($room_pit)) { if (isset($room_pit)) {
model('RoomPit')->DownPit($user_id, $room_id, $room_pit['pit_number']); model('api/RoomPit')->DownPit($user_id, $room_id, $room_pit['pit_number']);
} }
if(db::name('vs_room_pit_simulate')->where(['room_id' => $room_id, 'user_id' => $user_id])->find()){ if(db::name('vs_room_pit_simulate')->where(['room_id' => $room_id, 'user_id' => $user_id])->find()){
db::name('vs_room_pit_simulate')->where(['room_id' => $room_id, 'user_id' => $user_id])->delete(); db::name('vs_room_pit_simulate')->where(['room_id' => $room_id, 'user_id' => $user_id])->delete();
$FromUserInfo = db::name('user')->where('id',$user_id)->field('id as user_id,nickname,avatar,sex')->find(); $FromUserInfo = db::name('user')->where('id',$user_id)->field('id as user_id,nickname,avatar,sex')->find();
$FromUserInfo['icon'][0] = model('UserData')->user_wealth_icon($user_id);//财富图标 $FromUserInfo['icon'][0] = model('api/UserData')->user_wealth_icon($user_id);//财富图标
$FromUserInfo['icon'][1] = model('UserData')->user_charm_icon($user_id);//魅力图标 $FromUserInfo['icon'][1] = model('api/UserData')->user_charm_icon($user_id);//魅力图标
//推送告诉前端下了几号麦位 //推送告诉前端下了几号麦位
$text['text'] = $FromUserInfo['nickname'].' 下麦了 '; $text['text'] = $FromUserInfo['nickname'].' 下麦了 ';
$text['FromUserInfo'] = $FromUserInfo; $text['FromUserInfo'] = $FromUserInfo;
$text['pit_number'] = ''; $text['pit_number'] = '';
model('Chat')->sendMsg(1004,$room_id,$text); model('api/Chat')->sendMsg(1004,$room_id,$text);
} }
}else{ }else{
//在麦位上 移除用户 //在麦位上 移除用户
$room_pit = db::name('vs_room_pit')->where(['room_id' => $room_id, 'user_id' => $user_id])->find(); $room_pit = db::name('vs_room_pit')->where(['room_id' => $room_id, 'user_id' => $user_id])->find();
if (isset($room_pit)) { if (isset($room_pit)) {
model('RoomPit')->DownPit($user_id, $room_id, $room_pit['pit_number']); model('api/RoomPit')->DownPit($user_id, $room_id, $room_pit['pit_number']);
} }
} }
@@ -1115,9 +1115,9 @@ class Room extends Model
db::name('vs_room_pit_apply')->where(['room_id' => $room_id, 'user_id' => $user_id])->delete(); db::name('vs_room_pit_apply')->where(['room_id' => $room_id, 'user_id' => $user_id])->delete();
} }
$FromUserInfo = db::name('user')->where('id',$user_id)->field('id as user_id,nickname,avatar,sex')->find(); $FromUserInfo = db::name('user')->where('id',$user_id)->field('id as user_id,nickname,avatar,sex')->find();
$FromUserInfo['icon'][0] = model('UserData')->user_wealth_icon($user_id);//财富图标 $FromUserInfo['icon'][0] = model('api/UserData')->user_wealth_icon($user_id);//财富图标
$FromUserInfo['icon'][1] = model('UserData')->user_charm_icon($user_id);//魅力图标 $FromUserInfo['icon'][1] = model('api/UserData')->user_charm_icon($user_id);//魅力图标
$FromUserInfo['dress'] = model('Decorate')->user_decorate_detail($user_id,1); $FromUserInfo['dress'] = model('api/Decorate')->user_decorate_detail($user_id,1);
$text['FromUserInfo'] = $FromUserInfo; $text['FromUserInfo'] = $FromUserInfo;
//1-踢出房间 //1-踢出房间
@@ -1136,14 +1136,14 @@ class Room extends Model
//发送消息 //发送消息
$text['text'] = '用户 ' . $nickname . ' 被 '. $room_typer .' 踢出房间'; $text['text'] = '用户 ' . $nickname . ' 被 '. $room_typer .' 踢出房间';
model('Chat')->sendMsg(1011,$room_id,$text,$user_id); model('api/Chat')->sendMsg(1011,$room_id,$text,$user_id);
//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($uid,$room_id,5,$user_id); model('api/Room')->room_operation_record($uid,$room_id,5,$user_id);
} }
if($type == 0){ if($type == 0){
//发送消息 //发送消息
$text['text'] = '用户 ' . $nickname .' 退出了房间'; $text['text'] = '用户 ' . $nickname .' 退出了房间';
model('Chat')->sendMsg(1002,$room_id,$text,$user_id); model('api/Chat')->sendMsg(1002,$room_id,$text,$user_id);
} }
return ['code' => 1, 'msg' => '成功','data' => []]; return ['code' => 1, 'msg' => '成功','data' => []];
} }
@@ -1268,11 +1268,19 @@ class Room extends Model
$dblist = db::name('vs_room_visitor')->where(['room_id' => $room_id])->field('user_id')->select(); $dblist = db::name('vs_room_visitor')->where(['room_id' => $room_id])->field('user_id')->select();
//循环获取在线用户ID 拼接数据 //循环获取在线用户ID 拼接数据
$user_id_array = []; $user_id_array = [];
//机器人user_id
$robot_user_id = [];
foreach ($dblist as $v) { foreach ($dblist as $v) {
//机器人
if(db::name('user')->where(['id' => $v['user_id']])->value('is_robot')){
$robot_user_id[] = $v['user_id'];
continue;
}
$user_id_array[] = 'u'.$v['user_id']; $user_id_array[] = 'u'.$v['user_id'];
} }
//获取腾讯的在线用户 //获取腾讯的在线用户
$online_users = model('Tencent')->query_user_online_status($user_id_array); $online_users = model('Tencent')->query_user_online_status($user_id_array);
$online_user = [];
if(isset($online_users['ActionStatus']) && $online_users['ActionStatus'] == 'OK'){ if(isset($online_users['ActionStatus']) && $online_users['ActionStatus'] == 'OK'){
if($online_users['QueryResult']){ if($online_users['QueryResult']){
foreach ($online_users['QueryResult'] as $v){ foreach ($online_users['QueryResult'] as $v){
@@ -1284,12 +1292,12 @@ class Room extends Model
} }
} }
} }
if(empty($online_user)){
$online_user = [];
}
if($dblist){ if($dblist){
$onpit = db::name('vs_room_pit')->field('user_id')->where(['room_id' => $room_id])->select(); $onpit = db::name('vs_room_pit')->field('user_id')->where(['room_id' => $room_id])->select();
$array = $online_user; //合并数组
$array = array_merge($online_user,$robot_user_id);
// $array = $online_user;
$arraypit = array_values((array)$onpit); $arraypit = array_values((array)$onpit);
foreach ($dblist as &$v){ foreach ($dblist as &$v){
// if(in_array($v['user_id'],$arraypit)){ // if(in_array($v['user_id'],$arraypit)){
@@ -2421,19 +2429,29 @@ class Room extends Model
return ['code' => 1, 'msg' => '操作成功', 'data' => null]; return ['code' => 1, 'msg' => '操作成功', 'data' => null];
} }
//房间在线人数 //房间在线人
public function room_online_number($room_id) public function room_online_number($room_id)
{ {
if(!$room_id){ if(!$room_id){
return ['code' => 0, 'msg' => '参数错误', 'data' => null]; return ['code' => 0, 'msg' => '参数错误', 'data' => null];
} }
//查找数据库用户
$dblist = db::name('vs_room_visitor')->where(['room_id' => $room_id])->field('user_id')->select();
$num_robit = 0;
foreach ($dblist as $v) {
//机器人
if(db::name('user')->where(['id' => $v['user_id']])->value('is_robot')){
$num_robit++;
}
}
$room_online_number = model('Tencent')->get_group_online_num($room_id); $room_online_number = model('Tencent')->get_group_online_num($room_id);
if($room_online_number['ActionStatus'] != 'OK'){ if($room_online_number['ActionStatus'] != 'OK'){
return ['code' => 0, 'msg' => $room_online_number['ErrorInfo'].'-'.$room_online_number['ErrorCode'], 'data' => null]; return ['code' => 0, 'msg' => $room_online_number['ErrorInfo'].'-'.$room_online_number['ErrorCode'], 'data' => null];
} }
$data = [ $data = [
'online_number' => $room_online_number['OnlineMemberNum'], 'online_number' => $room_online_number['OnlineMemberNum'] + $num_robit,
]; ];
return ['code' => 1, 'msg' => '操作成功', 'data' => $data]; return ['code' => 1, 'msg' => '操作成功', 'data' => $data];

View File

@@ -11,7 +11,7 @@ class RoomAuction extends Model
//房间关系列表 //房间关系列表
public function room_relation_list($type_id) public function room_relation_list($type_id)
{ {
$list = db::name('vs_relation')->field('id as relation_id,name,type,icon')->where('type',$type_id)->select(); $list = db::name('vs_relation')->field('id as relation_id,name,type,icon')->where(['type' => $type_id,'delete_time' => 0])->select();
return ['code' => 1, 'msg' => '操作成功','data' => $list]; return ['code' => 1, 'msg' => '操作成功','data' => $list];
} }

View File

@@ -3,6 +3,7 @@
namespace app\common\controller; namespace app\common\controller;
use think\Controller; use think\Controller;
use think\Db;
class BaseCom extends Controller class BaseCom extends Controller
@@ -24,22 +25,40 @@ class BaseCom extends Controller
if($is_maintenance == 2){ if($is_maintenance == 2){
return V(203, '系统维护中'); return V(203, '系统维护中');
} }
$token = input('token', ''); //检测是什么系统
if (empty($token)) { $system = input('system','');
$token = request()->header('token'); if(empty($system)){
if(empty($token)){ $system = request()->header('system');
return V(301, '登录失效');
}
} }
//版本号
$reslut = model('UserToken')->check_login_token($token); $version = input('App-Version','');
if($reslut['code'] != 1) { if(empty($version)){
model('UserToken')->where('token', $token)->update(['token' => 1]); $version = request()->header('App-Version');
return V($reslut['code'], $reslut['msg'],$reslut['data']); }
} else { $zhenshi_version = db::name('version')->where('type', 2)->value('oldversion');
$this->uid = $reslut['data']; $result = version_compare($version,$zhenshi_version);
if($system == 'iOS' && $result > 0){
$this->uid = 0;
//定义一个常量 //定义一个常量
define('UID', $this->uid); define('UID', $this->uid);
}else{
$token = input('token', '');
if (empty($token)) {
$token = request()->header('token');
if(empty($token)){
return V(301, '登录失效');
}
}
$reslut = model('UserToken')->check_login_token($token);
if($reslut['code'] != 1) {
model('UserToken')->where('token', $token)->update(['token' => 1]);
return V($reslut['code'], $reslut['msg'],$reslut['data']);
} else {
$this->uid = $reslut['data'];
//定义一个常量
define('UID', $this->uid);
}
} }
} }