保持心跳检测

This commit is contained in:
2025-12-06 18:37:19 +08:00
parent bbcb4a7a8c
commit 828a29d0ee
5 changed files with 37 additions and 22 deletions

View File

@@ -653,11 +653,12 @@ 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,b.is_online')
->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')
->order('a.pit_number asc')->select();
foreach ($pit_list as &$value) {
$value['charm'] = 0;
$value['dress'] = '';
$value['is_online'] = 2;
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['dress'] = model('api/Decorate')->user_decorate_detail($value['user_id'], 1);
@@ -667,6 +668,7 @@ class Room extends Model
$value['mic_cycle'] = model('api/Decorate')->user_decorate_detail($value['user_id'],3);
$value['nobility_image'] = $Nobility['play_image'];
$value['nickname_color'] = $Nobility['nick_name_color'];
$value['is_online'] = db::name('vs_room_visitor')->where(['user_id' => $value['user_id'],'room_id' => $room_id])->value('is_online');
}
}
$user_pit = db::name('vs_room_pit')->where(['room_id' => $room['id'],'user_id' => $user_id])->find();
@@ -735,8 +737,6 @@ class Room extends Model
$tet['user_id'] = $user_id;
$tet['type'] = 1;
model('api/Chat')->sendMsg(1058,$room_id,$tet);
//进入房间查看是否在房间内 修正数据
db::name('user')->where('id', $user_id)->update(['is_online' => 1]);
$room['is_use_code'] = 0;
$liang = model('api/Decorate')->user_decorate_detail($room['id'],7);
@@ -1079,11 +1079,12 @@ 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,b.is_online')
->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')
->order('a.pit_number asc')->select();
foreach ($pit_list as &$value) {
$value['charm'] = 0;
$value['dress'] = '';
$value['is_online'] = 2;
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['dress'] = model('api/Decorate')->user_decorate_detail($value['user_id'], 1);
@@ -1093,6 +1094,7 @@ class Room extends Model
$value['mic_cycle'] = model('api/Decorate')->user_decorate_detail($value['user_id'],3);
$value['nobility_image'] = $Nobility['play_image'];
$value['nickname_color'] = $Nobility['nick_name_color'];
$value['is_online'] = db::name('vs_room_visitor')->where(['user_id' => $value['user_id'],'room_id' => $room_id])->value('is_online');
}
}
$song_pit_list = db::name('vs_room_pit_simulate')->where(['room_id' => $room_id])->select();
@@ -1139,10 +1141,11 @@ class Room extends Model
{
//房间正在拍的信息
$auction = db::name('vs_room_auction')->alias('a')->join('user b', 'a.user_id = b.id', 'left')
->field('a.auction_id,a.user_id,b.nickname,b.avatar,b.sex,b.user_code,a.auction_type,a.relation_id,a.gift_id,a.gift_price,a.time_day,a.duration,b.is_online')
->field('a.auction_id,a.user_id,b.nickname,b.avatar,b.sex,b.user_code,a.auction_type,a.relation_id,a.gift_id,a.gift_price,a.time_day,a.duration,')
->where(['a.room_id' => $room_id,'a.status' => 2])->find();
// var_dump($auction);exit;
if($auction){
$auction['is_online'] = db::name('vs_room_visitor')->where(['user_id' => $auction['user_id'],'room_id' => $room_id])->value('is_online');
$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_icon'] = db::name('vs_relation')->where('id',$auction['relation_id'])->value('icon');
@@ -1170,7 +1173,8 @@ class Room extends Model
$user_pit['pit_number'] = 0;
}else{
$auction_list = null;
$users = db::name('user')->where('id',$catdc)->field('id as user_id,nickname,avatar,sex,user_code,is_online')->find();
$users = db::name('user')->where('id',$catdc)->field('id as user_id,nickname,avatar,sex,user_code')->find();
$users['is_online'] = db::name('vs_room_visitor')->where(['user_id' => $catdc,'room_id' => $room_id])->value('is_online');
$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;
$auction_user = $users;
@@ -1190,6 +1194,7 @@ class Room extends Model
foreach ($pit_list as &$value) {
$value['charm'] = 0;
$value['dress'] = '';
$value['is_online'] = 2;
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['dress'] = model('api/Decorate')->user_decorate_detail($value['user_id'], 1);
@@ -1202,6 +1207,7 @@ class Room extends Model
$value['mic_cycle'] = model('api/Decorate')->user_decorate_detail($value['user_id'],3);
$value['nobility_image'] = $Nobility['play_image'];
$value['nickname_color'] = $Nobility['nick_name_color'];
$value['is_online'] = db::name('vs_room_visitor')->where(['user_id' => $value['user_id'],'room_id' => $room_id])->value('is_online');
}
}
return ['auction_list' => $auction_list,'pit_list' => $pit_list,'auction_user' => $auction_user,'user_pit' => $user_pit];
@@ -2108,10 +2114,11 @@ 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,b.is_online')->order('a.pit_number asc')->select();
->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')->order('a.pit_number asc')->select();
foreach ($pit_list as &$value) {
$value['charm'] = 0;
$value['dress'] = '';
$value['is_online'] = 2;
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['dress'] = model('Decorate')->user_decorate_detail($value['user_id'], 1);
@@ -2121,6 +2128,7 @@ class Room extends Model
$value['mic_cycle'] = model('api/Decorate')->user_decorate_detail($value['user_id'],3);
$value['nobility_image'] = $Nobility['play_image'];
$value['nickname_color'] = $Nobility['nick_name_color'];
$value['is_online'] = db::name('vs_room_visitor')->where(['user_id' => $value['user_id'],'room_id' => $room_id])->value('is_online');
}
}
$user_pit = db::name('vs_room_pit')->where(['room_id' => $room['id'],'user_id' => $user_id])->find();
@@ -2787,7 +2795,7 @@ class Room extends Model
foreach ($user as $v){
$data[] = [
'user_id' => $v,
'is_online' => db::name('user')->where('id',$v)->value('is_online'),
'is_online' => db::name('vs_room_visitor')->where(['user_id' => $v,'room_id' => $room_id])->value('is_online'),
];
}
return ['code' => 1, 'msg' => '操作成功', 'data' => $data];
@@ -2831,8 +2839,8 @@ class Room extends Model
if(db::name('user')->where(['id' => $v['user_id']])->value('is_robot')){
$online_number++;
}else{
$is_online = db::name('user')->where(['id' => $v['user_id']])->value('is_online');
if($is_online){
$is_online = db::name('vs_room_visitor')->where(['user_id' => $v,'room_id' => $room_id])->value('is_online');
if($is_online == 1){
$online_number++;
}
}