进入房间
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])
|
->where(['room_id'=>$room_id,'friend_id'=>$id ,'status' =>1])
|
||||||
->order('heart_value DESC')->find();
|
->order('heart_value DESC')->find();
|
||||||
$friend_heart_value = get_system_config_value('friend_heart_value');
|
$friend_heart_value = get_system_config_value('friend_heart_value');
|
||||||
@@ -137,9 +137,9 @@ class Friend extends Model
|
|||||||
|
|
||||||
$user1 = min($user1_id, $user2_id);
|
$user1 = min($user1_id, $user2_id);
|
||||||
$user2 = max($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();
|
->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']])
|
->where(['id'=>$friending_heart['id']])
|
||||||
->save(['status' => 3,'friend_config_id' =>$friending_config_id]);
|
->save(['status' => 3,'friend_config_id' =>$friending_config_id]);
|
||||||
if ($originalPairs) {
|
if ($originalPairs) {
|
||||||
@@ -179,7 +179,7 @@ class Friend extends Model
|
|||||||
$friendendtime = time() + $shijian * 3600;
|
$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);
|
$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;
|
$user_idd = $to_uid;
|
||||||
|
|
||||||
if($heart_id){//有这个值就是助力 不参加抢麦操作
|
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->pullHeartChange($room_id,$friend['id']);//聊天室心动值变化通知
|
||||||
//生成新排名 判断抱上麦 还是换麦
|
//生成新排名 判断抱上麦 还是换麦
|
||||||
$this->pullUserPit($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) {
|
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))
|
->where(array('room_id'=>$room_id,'friend_id'=>$friend_id))
|
||||||
->order('heart_value DESC')->select();
|
->order('heart_value DESC')->select();
|
||||||
// 初始化排名数组和已使用用户数组
|
// 初始化排名数组和已使用用户数组
|
||||||
@@ -383,7 +383,7 @@ class Friend extends Model
|
|||||||
$ranking2 = [];
|
$ranking2 = [];
|
||||||
if(count($ranking)<3){
|
if(count($ranking)<3){
|
||||||
$make_up_num = 3 - count($ranking);
|
$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]])
|
->where(['room_id'=>$room_id,'friend_id'=>$friend_id ,'id'=> ['notin',$heart_ids]])
|
||||||
->limit($make_up_num)
|
->limit($make_up_num)
|
||||||
->order('heart_value DESC')->select();
|
->order('heart_value DESC')->select();
|
||||||
@@ -420,7 +420,7 @@ class Friend extends Model
|
|||||||
$ranking_rut = array_merge($ranking, $ranking1);
|
$ranking_rut = array_merge($ranking, $ranking1);
|
||||||
if(count($ranking_rut)<6){
|
if(count($ranking_rut)<6){
|
||||||
$make_up_num = 6 - count($ranking_rut);
|
$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)))
|
->where(array('room_id'=>$room_id,'friend_id'=>$friend_id ,'id'=>array('notin',$heart_ids)))
|
||||||
->limit($make_up_num)
|
->limit($make_up_num)
|
||||||
->order('heart_value DESC')->select();
|
->order('heart_value DESC')->select();
|
||||||
@@ -650,21 +650,21 @@ class Friend extends Model
|
|||||||
$user1 = min(UID, $user_ids[$i]);
|
$user1 = min(UID, $user_ids[$i]);
|
||||||
$user2 = max(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,
|
'user1_id' => $user1,
|
||||||
'user2_id' => $user2,
|
'user2_id' => $user2,
|
||||||
'friend_id' => $friend_id
|
'friend_id' => $friend_id
|
||||||
])->find();
|
])->find();
|
||||||
|
|
||||||
if ($relation) {
|
if ($relation) {
|
||||||
db::name('user_friending_heart')->where([
|
db::name('vs_user_friending_heart')->where([
|
||||||
'room_id' => $room_id,
|
'room_id' => $room_id,
|
||||||
'user1_id' => $user1,
|
'user1_id' => $user1,
|
||||||
'user2_id' => $user2,
|
'user2_id' => $user2,
|
||||||
'friend_id' => $friend_id
|
'friend_id' => $friend_id
|
||||||
])->setInc('heart_value', $heart_value);
|
])->setInc('heart_value', $heart_value);
|
||||||
} else {
|
} else {
|
||||||
$relation['id'] = db::name('user_friending_heart')->insert([
|
$relation['id'] = db::name('vs_user_friending_heart')->insert([
|
||||||
'room_id' => $room_id,
|
'room_id' => $room_id,
|
||||||
'user1_id' => $user1,
|
'user1_id' => $user1,
|
||||||
'user2_id' => $user2,
|
'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){
|
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('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('user_friending_heart')->where(['id'=>$relation['id']])->update(['status'=>1]);
|
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']){
|
if($user_id != $room_owner['user_id']){
|
||||||
model('api/User')->add_user_visit_log(2,$user_id, $room_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,
|
return ['code' => 1,
|
||||||
'msg' => '成功',
|
'msg' => '成功',
|
||||||
'data' => ['room_info' => $room_info,
|
'data' => ['room_info' => $room_info,
|
||||||
@@ -863,7 +874,8 @@ class Room extends Model
|
|||||||
'room_auction'=>$roomauction,
|
'room_auction'=>$roomauction,
|
||||||
'cp_user'=>$cp_users,
|
'cp_user'=>$cp_users,
|
||||||
'pk_info' => $pk_info,
|
'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 = $this ->get_user_info($room_id,$user_id,$user_pit);
|
||||||
$user_info['is_room_owner'] = ($user_id == $room['user_id']) ? 1 : 0;
|
$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,
|
return ['code' => 1,
|
||||||
'msg' => '成功',
|
'msg' => '成功',
|
||||||
'data' => ['room_info' => $room_info,
|
'data' => ['room_info' => $room_info,
|
||||||
@@ -2004,7 +2025,8 @@ class Room extends Model
|
|||||||
'room_auction'=>$roomauction,
|
'room_auction'=>$roomauction,
|
||||||
'cp_user'=>$cp_users,
|
'cp_user'=>$cp_users,
|
||||||
'pk_info'=>$pk_info,
|
'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];
|
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