|  | @@ -114,8 +114,10 @@ class RoomService
 | 
											
												
													
														|  |                      $roomTypeStr = isset($this->roomTypeArr[$roomType]) ? $this->roomTypeArr[$roomType] : '';
 |  |                      $roomTypeStr = isset($this->roomTypeArr[$roomType]) ? $this->roomTypeArr[$roomType] : '';
 | 
											
												
													
														|  |                      $getredisPartyInfo = $this->redis->get($roomTypeStr.'_'.$v['id']);
 |  |                      $getredisPartyInfo = $this->redis->get($roomTypeStr.'_'.$v['id']);
 | 
											
												
													
														|  |                      $foreachData = json_decode($getredisPartyInfo,true);
 |  |                      $foreachData = json_decode($getredisPartyInfo,true);
 | 
											
												
													
														|  | -                    if(!$foreachData || $foreachData["is_close"] == 1) continue;
 |  | 
 | 
											
												
													
														|  | -                    if(!$foreachData || $foreachData["party_pass"] != '') continue;
 |  | 
 | 
											
												
													
														|  | 
 |  | +                    $isClose = isset($foreachData["is_close"]) ? $foreachData["is_close"] : 0;
 | 
											
												
													
														|  | 
 |  | +                    $partyPass = isset($foreachData["party_pass"]) ? $foreachData["party_pass"] : '';
 | 
											
												
													
														|  | 
 |  | +                    if(!$foreachData || $isClose == 1) continue;
 | 
											
												
													
														|  | 
 |  | +                    if(!$foreachData || $partyPass != '') continue;
 | 
											
												
													
														|  |                      $mod = isset($foreachData["party_type"])?intval($foreachData["party_type"])%5:1;
 |  |                      $mod = isset($foreachData["party_type"])?intval($foreachData["party_type"])%5:1;
 | 
											
												
													
														|  |                      if(isset($foreachData["type_name"]) && $foreachData["type_name"]) {
 |  |                      if(isset($foreachData["type_name"]) && $foreachData["type_name"]) {
 | 
											
												
													
														|  |                          $type_name = $foreachData["type_name"];
 |  |                          $type_name = $foreachData["type_name"];
 | 
											
										
											
												
													
														|  | @@ -135,19 +137,40 @@ class RoomService
 | 
											
												
													
														|  |                      }
 |  |                      }
 | 
											
												
													
														|  |                      if($foreachData["status"] != 1) $hasdata = false;
 |  |                      if($foreachData["status"] != 1) $hasdata = false;
 | 
											
												
													
														|  |                      $foreachData = info_domain_image($foreachData,['party_logo']);
 |  |                      $foreachData = info_domain_image($foreachData,['party_logo']);
 | 
											
												
													
														|  | -                    $hasdata && $redisPartyInfo[] = [
 |  | 
 | 
											
												
													
														|  | -                        "id" => $foreachData["id"],
 |  | 
 | 
											
												
													
														|  | -                        "party_id" => $foreachData["party_id"],
 |  | 
 | 
											
												
													
														|  | -                        "r_id" => $foreachData["party_id"],
 |  | 
 | 
											
												
													
														|  | -                        "party_name" => $foreachData["party_name"],
 |  | 
 | 
											
												
													
														|  | -                        "party_pass" => $foreachData["party_pass"] ? $foreachData["party_pass"]:"",
 |  | 
 | 
											
												
													
														|  | -                        "party_hot" => $v['party_hot'],
 |  | 
 | 
											
												
													
														|  | -                        "party_logo" => $foreachData["party_logo"],
 |  | 
 | 
											
												
													
														|  | -                        "party_type" => $type_name,
 |  | 
 | 
											
												
													
														|  | -                        "avatar" => $roomType == 2 ? $foreachData["avatar"]:"",
 |  | 
 | 
											
												
													
														|  | -                        "party_type_color" => $mod == 0?5:$mod,
 |  | 
 | 
											
												
													
														|  | -                        "party_user" => isset($foreachData["party_user"]) ? array_values($foreachData["party_user"]) : [] // 当前麦位人头像
 |  | 
 | 
											
												
													
														|  | -                    ];
 |  | 
 | 
											
												
													
														|  | 
 |  | +                    $userIds = $this->redis->zRange("party_user_".$foreachData["id"],0,-1);
 | 
											
												
													
														|  | 
 |  | +                    if ($hasdata) {
 | 
											
												
													
														|  | 
 |  | +                        $field = 'id,avatar';
 | 
											
												
													
														|  | 
 |  | +                        $fieldArr = explode(',',$field);
 | 
											
												
													
														|  | 
 |  | +                        $userWhere['id'] = ['in', $userIds];
 | 
											
												
													
														|  | 
 |  | +                        $userModel = new \app\common\model\User();
 | 
											
												
													
														|  | 
 |  | +                        $userData = $userModel->field($field)->where($userWhere)->select();
 | 
											
												
													
														|  | 
 |  | +                        $userDatas = [];
 | 
											
												
													
														|  | 
 |  | +                        if (!empty($userData)) {
 | 
											
												
													
														|  | 
 |  | +                            foreach($userData as $key => $value) {
 | 
											
												
													
														|  | 
 |  | +                                foreach ($fieldArr as $fieldk => $fieldv) {
 | 
											
												
													
														|  | 
 |  | +                                    $userDatas[$key][$fieldv] = $value[$fieldv];
 | 
											
												
													
														|  | 
 |  | +                                }
 | 
											
												
													
														|  | 
 |  | +                            }
 | 
											
												
													
														|  | 
 |  | +                            $userDatas = list_domain_image($userDatas,['avatar']);
 | 
											
												
													
														|  | 
 |  | +                        }
 | 
											
												
													
														|  | 
 |  | +                        $partyUserList = [
 | 
											
												
													
														|  | 
 |  | +                            'user_list' => $userDatas,
 | 
											
												
													
														|  | 
 |  | +                            'online_num' => count($userData),
 | 
											
												
													
														|  | 
 |  | +                        ];
 | 
											
												
													
														|  | 
 |  | +                        $redisPartyInfo[] = [
 | 
											
												
													
														|  | 
 |  | +                            "id" => $foreachData["id"],
 | 
											
												
													
														|  | 
 |  | +                            "party_id" => $foreachData["party_id"],
 | 
											
												
													
														|  | 
 |  | +                            "r_id" => $foreachData["party_id"],
 | 
											
												
													
														|  | 
 |  | +                            "party_name" => $foreachData["party_name"],
 | 
											
												
													
														|  | 
 |  | +                            "party_pass" => $foreachData["party_pass"] ? $foreachData["party_pass"]:"",
 | 
											
												
													
														|  | 
 |  | +                            "party_hot" => $v['party_hot'],
 | 
											
												
													
														|  | 
 |  | +                            "party_logo" => $foreachData["party_logo"],
 | 
											
												
													
														|  | 
 |  | +                            "party_type" => $type_name,
 | 
											
												
													
														|  | 
 |  | +                            "avatar" => $roomType == 2 ? $foreachData["avatar"]:"",
 | 
											
												
													
														|  | 
 |  | +                            "party_type_color" => $mod == 0?5:$mod,
 | 
											
												
													
														|  | 
 |  | +                            "party_user" => $partyUserList,
 | 
											
												
													
														|  | 
 |  | +                        ];
 | 
											
												
													
														|  | 
 |  | +                    }
 | 
											
												
													
														|  |                  }
 |  |                  }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |                  if($index == 1) {
 |  |                  if($index == 1) {
 |