diff --git a/application/api/model/Friend.php b/application/api/model/Friend.php index 0b1c5a8..20d70cd 100644 --- a/application/api/model/Friend.php +++ b/application/api/model/Friend.php @@ -310,7 +310,7 @@ class Friend extends Model $user_idd = array_diff($user_idd, $host['is_preside_user']); // 从数组中移除 if($user_idd){ //插入/更新心动表 - $this->addUserHeart($to_uid,$friend['id'],$sumPrice,$room_id); + $this->addUserHeart($uid,$to_uid,$friend['id'],$sumPrice,$room_id); //送礼产生心动值并计算 判断拉取用户上麦还是换麦 //生成新排名 判断抱上麦 还是换麦 $this->pullUserPit($room_id,$friend['id']); @@ -318,7 +318,7 @@ class Friend extends Model } }else{ //插入/更新心动表 - $this->addUserHeart($user_idd,$friend['id'],$sumPrice,$room_id); + $this->addUserHeart($uid,$user_idd,$friend['id'],$sumPrice,$room_id); //送礼产生心动值并计算 判断拉取用户上麦还是换麦 //生成新排名 判断抱上麦 还是换麦 $this->pullUserPit($room_id,$friend['id']); @@ -334,7 +334,7 @@ class Friend extends Model $host[] = db::name('vs_room_pit')->where(['room_id' => $room_id,'pit_number' => 9])->value('user_id'); $host[] = db::name('vs_room_pit')->where(['room_id' => $room_id,'pit_number' => 10])->value('user_id'); - $is_preside_user = null; + $is_preside_user = []; $is_preside = 0; $user_ids = explode(",", $to_uid); foreach ($user_ids as $value) { @@ -415,8 +415,6 @@ class Friend extends Model !in_array($rel['user2_id'], $usedUsers)) { // 将符合条件的用户对添加到排名列表中 $ranking[] = [ -// 'left' => $rel['user1_id'], -// 'right' => $rel['user2_id'], 'heart_value' => $rel['heart_value'], 'id' => $rel['id'], 'user1_id' => $rel['user1_id'], @@ -444,8 +442,6 @@ class Friend extends Model } if(in_array($rel1['user1_id'], $usedUsers)){ $ranking1[] = [ -// 'left' => $rel1['user1_id'], -// 'right' => $rel1['user2_id'], 'heart_value' => 0, 'id' => $rel1['id'], 'user1_id' => -1, @@ -455,8 +451,6 @@ class Friend extends Model } if(in_array($rel1['user2_id'], $usedUsers)){ $ranking1[] = [ -// 'left' => $rel1['user1_id'], -// 'right' => $rel1['user2_id'], 'heart_value' => 0, 'id' => $rel1['id'], 'user1_id' => $rel1['user1_id'], @@ -481,8 +475,6 @@ class Friend extends Model } if(in_array($rel1['user1_id'], $usedUsers)){ $ranking2[] = [ -// 'left' => $rel1['user1_id'], -// 'right' => $rel1['user2_id'], 'heart_value' => 0, 'id' => $rel1['id'], 'user1_id' => -1, @@ -492,8 +484,6 @@ class Friend extends Model } if(in_array($rel1['user2_id'], $usedUsers)){ $ranking2[] = [ -// 'left' => $rel1['user1_id'], -// 'right' => $rel1['user2_id'], 'heart_value' => 0, 'id' => $rel1['id'], 'user1_id' => $rel1['user1_id'], @@ -520,7 +510,7 @@ class Friend extends Model $heart_data = $this->getRanking($room_id,$friend_id); $pit = []; $pit_number_array = [2=>5,1=>6,3=>4,5=>2,6=>1,4=>3]; //麦位对应关系 - $pit_number_array_reverse = [0=>2,1=>1,2=>3]; + $pit_number_array_reverse = [0=>2,1=>1,2=>3,3=>4,4=>5,5=>6]; if($heart_data){ //排麦位 $pit_unique = []; @@ -529,49 +519,25 @@ class Friend extends Model if(count($pit) >= 6){ break; } + if($value['user1_id'] == -1){ - $user_sex = db::name('user')->where('id',$value['user2_id'])->value('sex'); - if($user_sex == 2){ - if(!in_array($value['user2_id'],$pit_unique)){ - $pit[$pit_number_array_reverse[$key]] = $value['user2_id']; - } - }else{ - if(!in_array($value['user2_id'],$pit_unique)){ - $pit[$pit_number_array[$pit_number_array_reverse[$key]]] = $value['user2_id']; - } + if(!in_array($value['user2_id'],$pit_unique)){ + $pit[$pit_number_array_reverse[$key]] = $value['user2_id']; } - } + if($value['user2_id'] == -1){ - $user_sex = db::name('user')->where('id',$value['user1_id'])->value('sex'); - if($user_sex == 2){ - if(!in_array($value['user1_id'],$pit_unique)){ - $pit[$pit_number_array_reverse[$key]] = $value['user1_id']; - } - }else{ - if(!in_array($value['user1_id'],$pit_unique)){ - $pit[$pit_number_array[$pit_number_array_reverse[$key]]] = $value['user1_id']; - } + if(!in_array($value['user1_id'],$pit_unique)){ + $pit[$pit_number_array_reverse[$key]] = $value['user1_id']; } - } + if($value['user1_id']!=-1 && $value['user2_id']!=-1){ - //判断用户1性别 - $user1_sex = db::name('user')->where('id',$value['user1_id'])->value('sex'); - if($user1_sex == 2){ - if(!in_array($value['user1_id'],$pit_unique)){ - $pit[$pit_number_array_reverse[$key]] = $value['user1_id']; - } - if(!in_array($value['user2_id'],$pit_unique)){ - $pit[$pit_number_array[$pit_number_array_reverse[$key]]] = $value['user2_id']; - } - }else{ - if(!in_array($value['user1_id'],$pit_unique)){ - $pit[$pit_number_array_reverse[$key]] = $value['user2_id']; - } - if(!in_array($value['user2_id'],$pit_unique)){ - $pit[$pit_number_array[$pit_number_array_reverse[$key]]] = $value['user1_id']; - } + if(!in_array($value['user1_id'],$pit_unique)){ + $pit[$pit_number_array_reverse[$key]] = $value['user1_id']; + } + if(!in_array($value['user2_id'],$pit_unique)){ + $pit[$pit_number_array[$pit_number_array_reverse[$key]]] = $value['user2_id']; } } @@ -691,14 +657,14 @@ class Friend extends Model //交友厅游戏开始后送礼后一系列操作 //插入/更新心动表 - public function addUserHeart($user_id,$friend_id,$value,$room_id){ + public function addUserHeart($uid,$user_id,$friend_id,$value,$room_id){ //给多个用户送礼 $user_ids = explode(",", $user_id); $heart_value = $value;//心动值 for ($i = 0; $i < count($user_ids); $i++) { // 处理用户ID顺序 - $user1 = min(UID, $user_ids[$i]); - $user2 = max(UID, $user_ids[$i]); + $user1 = min($uid, $user_ids[$i]); + $user2 = max($uid, $user_ids[$i]); // 更新心动关系表 $relation = db::name('vs_user_friending_heart')->where([ 'user1_id' => $user1, @@ -723,10 +689,10 @@ class Friend extends Model ]); } } - //修改用户行动连线状态 - $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(); + //修改用户心动连线状态 + $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('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("(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]); }