进入房间

This commit is contained in:
2025-08-20 10:17:10 +08:00
parent 7dd338cde2
commit e2a4a4d1d4
2 changed files with 77 additions and 16 deletions

View File

@@ -853,6 +853,17 @@ class Room extends Model
if($user_id != $room_owner['user_id']){
model('api/User')->add_user_visit_log(2,$user_id, $room_id);
}
//交友相关回值
if($room['type_id'] == 7){
$friend = $this->getRoomFriendData($room_id);
//交友状态 交友进行到第几步 1等待邂逅 2心动连线 3牵手良缘
$friend['step'] =$room['step'];
}else{
$friend = null;
}
return ['code' => 1,
'msg' => '成功',
'data' => ['room_info' => $room_info,
@@ -863,7 +874,8 @@ class Room extends Model
'room_auction'=>$roomauction,
'cp_user'=>$cp_users,
'pk_info' => $pk_info,
'song_pit_list' => $song_pit_list
'song_pit_list' => $song_pit_list,
'friend_info' => $friend,
]
];
}
@@ -1994,6 +2006,15 @@ class Room extends Model
$user_info = $this ->get_user_info($room_id,$user_id,$user_pit);
$user_info['is_room_owner'] = ($user_id == $room['user_id']) ? 1 : 0;
//交友相关回值
if($room['type_id'] == 7){
$friend = $this->getRoomFriendData($room_id);
//交友状态 交友进行到第几步 1等待邂逅 2心动连线 3牵手良缘
$friend['step'] =$room['step'];
}else{
$friend = null;
}
return ['code' => 1,
'msg' => '成功',
'data' => ['room_info' => $room_info,
@@ -2004,7 +2025,8 @@ class Room extends Model
'room_auction'=>$roomauction,
'cp_user'=>$cp_users,
'pk_info'=>$pk_info,
'song_pit_list'=>$song_pit_list
'song_pit_list'=>$song_pit_list,
'friend_info' => $friend,
]
];
}
@@ -2467,4 +2489,43 @@ class Room extends Model
return ['code' => 1, 'msg' => '操作成功', 'data' => $data];
}
public function getRoomFriendData($room_id)
{
//交友相关回值
$friend = [];
$friend['friend_id'] = 0;//场次ID
$friend['friend_status'] = 1;//等待邂逅
//查询用户交友表
$friend_info = db::name('vs_user_friending')->where(['room_id' => $room_id])->order('id', 'desc')->find();
$friend['room_on_line_cp'] = 0;
$friend['heart_list'] = [];
$friend['is_preside'] = 0;
$friend['end_time'] = 0;
if($friend_info){
$friend['friend_id'] = $friend_info['id'];
$friend['end_time'] = $friend_info['end_time'];
//获取麦上CP心动值列表
$heart_list = db::name('vs_user_friending_heart')->where(['room_id' => $room_id, 'friend_id' => $friend_info['id'], 'status' => 1])->order('heart_value', 'desc')->limit(3)->select();
if($heart_list){
$heart_list_data = [];
$heart_list = $heart_list->toArray();
$pit_number_array_reverse = [0=>[2,5],1=>[1,6],2=>[3,4]];
foreach($heart_list as $k=>$v){
$heart_list_data[$k]['heartId'] = $v['id'];
$pitnum1 = db::name('vs_room_pit')->where(['room_id' =>$room_id, 'user_id' => $v['user1_id']])->value('pit_number');
$pitnum2 = db::name('vs_room_pit')->where(['room_id' =>$room_id, 'user_id' => $v['user2_id']])->value('pit_number');
if(in_array($pitnum1,$pit_number_array_reverse[$k]) && in_array($pitnum2,$pit_number_array_reverse[$k])){
$heart_list_data[$k]['heartNum'] = $v['heart_value'];
}else{
$heart_list_data[$k]['heartNum'] = 0;
}
}
$friend['heart_list'] =$heart_list_data;
}else{
$friend['heart_list'] = [];
}
}
return $friend;
}
}