进入房间
This commit is contained in:
@@ -85,7 +85,7 @@ class Friend extends Model
|
||||
}
|
||||
|
||||
// 获取心动值最高的
|
||||
$originalPairs = db::name('user_friending_heart')
|
||||
$originalPairs = db::name('vs_user_friending_heart')
|
||||
->where(['room_id'=>$room_id,'friend_id'=>$id ,'status' =>1])
|
||||
->order('heart_value DESC')->find();
|
||||
$friend_heart_value = get_system_config_value('friend_heart_value');
|
||||
@@ -137,9 +137,9 @@ class Friend extends Model
|
||||
|
||||
$user1 = min($user1_id, $user2_id);
|
||||
$user2 = max($user1_id, $user2_id);
|
||||
$friending_heart = db::name('user_friending_heart')
|
||||
$friending_heart = db::name('vs_user_friending_heart')
|
||||
->where(['room_id'=>$room_id,'friend_id'=>$friend_id ,'user1_id' =>$user1,'user2_id' => $user2])->find();
|
||||
$originalPairs = db::name('user_friending_heart')
|
||||
$originalPairs = db::name('vs_user_friending_heart')
|
||||
->where(['id'=>$friending_heart['id']])
|
||||
->save(['status' => 3,'friend_config_id' =>$friending_config_id]);
|
||||
if ($originalPairs) {
|
||||
@@ -179,7 +179,7 @@ class Friend extends Model
|
||||
$friendendtime = time() + $shijian * 3600;
|
||||
|
||||
//更新关系结束时间
|
||||
db::name('user_friending_heart')->where(['id'=>$friending_heart['id']])->update(['contact_end_time' => $friendendtime]);
|
||||
db::name('vs_user_friending_heart')->where(['id'=>$friending_heart['id']])->update(['contact_end_time' => $friendendtime]);
|
||||
|
||||
//关系增加时间
|
||||
$room_auction = model('RoomAuction')->room_auction_create_or_add($user1_id,$user2_id,$friending_config_id,$shijian*3600,0);
|
||||
@@ -244,7 +244,7 @@ class Friend extends Model
|
||||
$user_idd = $to_uid;
|
||||
|
||||
if($heart_id){//有这个值就是助力 不参加抢麦操作
|
||||
db::name('user_friending_heart')->where(['id' => $heart_id])->setInc('heart_value', $sumPrice);
|
||||
db::name('vs_user_friending_heart')->where(['id' => $heart_id])->setInc('heart_value', $sumPrice);
|
||||
$this->pullHeartChange($room_id,$friend['id']);//聊天室心动值变化通知
|
||||
//生成新排名 判断抱上麦 还是换麦
|
||||
$this->pullUserPit($room_id,$friend['id']);
|
||||
@@ -351,7 +351,7 @@ class Friend extends Model
|
||||
// 获取心跳值排行
|
||||
public function getRanking($room_id,$friend_id) {
|
||||
// 获取有心动值的用户对且不重复
|
||||
$originalPairs = db::name('user_friending_heart')
|
||||
$originalPairs = db::name('vs_user_friending_heart')
|
||||
->where(array('room_id'=>$room_id,'friend_id'=>$friend_id))
|
||||
->order('heart_value DESC')->select();
|
||||
// 初始化排名数组和已使用用户数组
|
||||
@@ -383,7 +383,7 @@ class Friend extends Model
|
||||
$ranking2 = [];
|
||||
if(count($ranking)<3){
|
||||
$make_up_num = 3 - count($ranking);
|
||||
$ranking_make_up = db::name('user_friending_heart')
|
||||
$ranking_make_up = db::name('vs_user_friending_heart')
|
||||
->where(['room_id'=>$room_id,'friend_id'=>$friend_id ,'id'=> ['notin',$heart_ids]])
|
||||
->limit($make_up_num)
|
||||
->order('heart_value DESC')->select();
|
||||
@@ -420,7 +420,7 @@ class Friend extends Model
|
||||
$ranking_rut = array_merge($ranking, $ranking1);
|
||||
if(count($ranking_rut)<6){
|
||||
$make_up_num = 6 - count($ranking_rut);
|
||||
$ranking_make_up = db::name('user_friending_heart')
|
||||
$ranking_make_up = db::name('vs_user_friending_heart')
|
||||
->where(array('room_id'=>$room_id,'friend_id'=>$friend_id ,'id'=>array('notin',$heart_ids)))
|
||||
->limit($make_up_num)
|
||||
->order('heart_value DESC')->select();
|
||||
@@ -650,21 +650,21 @@ class Friend extends Model
|
||||
$user1 = min(UID, $user_ids[$i]);
|
||||
$user2 = max(UID, $user_ids[$i]);
|
||||
// 更新心动关系表
|
||||
$relation = db::name('user_friending_heart')->where([
|
||||
$relation = db::name('vs_user_friending_heart')->where([
|
||||
'user1_id' => $user1,
|
||||
'user2_id' => $user2,
|
||||
'friend_id' => $friend_id
|
||||
])->find();
|
||||
|
||||
if ($relation) {
|
||||
db::name('user_friending_heart')->where([
|
||||
db::name('vs_user_friending_heart')->where([
|
||||
'room_id' => $room_id,
|
||||
'user1_id' => $user1,
|
||||
'user2_id' => $user2,
|
||||
'friend_id' => $friend_id
|
||||
])->setInc('heart_value', $heart_value);
|
||||
} else {
|
||||
$relation['id'] = db::name('user_friending_heart')->insert([
|
||||
$relation['id'] = db::name('vs_user_friending_heart')->insert([
|
||||
'room_id' => $room_id,
|
||||
'user1_id' => $user1,
|
||||
'user2_id' => $user2,
|
||||
@@ -674,10 +674,10 @@ class Friend extends Model
|
||||
}
|
||||
}
|
||||
//修改用户行动连线状态
|
||||
$relation = db::name('user_friending_heart')->where("(user1_id=".UID." OR user2_id=".UID.") AND friend_id=$friend_id AND room_id=$room_id AND status!=3")->order('heart_value desc')->find();
|
||||
$relation = db::name('vs_user_friending_heart')->where("(user1_id=".UID." OR user2_id=".UID.") AND friend_id=$friend_id AND room_id=$room_id AND status!=3")->order('heart_value desc')->find();
|
||||
if($relation){
|
||||
db::name('user_friending_heart')->where("(user1_id=".UID." OR user2_id=".UID.") AND friend_id=$friend_id AND room_id=$room_id AND status!=3")->update(['status'=>2]);
|
||||
db::name('user_friending_heart')->where(['id'=>$relation['id']])->update(['status'=>1]);
|
||||
db::name('vs_user_friending_heart')->where("(user1_id=".UID." OR user2_id=".UID.") AND friend_id=$friend_id AND room_id=$room_id AND status!=3")->update(['status'=>2]);
|
||||
db::name('vs_user_friending_heart')->where(['id'=>$relation['id']])->update(['status'=>1]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user