diff --git a/application/api/model/Friend.php b/application/api/model/Friend.php index 188422c..71647df 100644 --- a/application/api/model/Friend.php +++ b/application/api/model/Friend.php @@ -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]); } } diff --git a/application/api/model/Room.php b/application/api/model/Room.php index de66e1e..9fa3a2e 100644 --- a/application/api/model/Room.php +++ b/application/api/model/Room.php @@ -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; + } } \ No newline at end of file