/** * 获取活动成员列表 */ public function index($id = 0) { $data = $this->get_data(); if ($this->get_method() != 'GET') { $this->send_response(405, NULL, '请求的方法不存在'); } elseif (empty($id)) { $this->send_response(400, NULL, '400501:活动ID为空'); } $data = $this->get_data(); $apply_type = (int) $this->input->get('type', 0); $result = array(); if ($apply_type < -1 || $apply_type > Kohana::config('activity.apply_type.interest')) { $this->send_response(400, NULL, '400508:活动报名类型非法'); } $activityInfo = $this->model->getActivityInfo($id); if (!$activityInfo) { $this->send_response(400, NULL, '400502:活动不存在'); } $grade = $this->model->getMemberGrade($id, $this->user_id); if ($grade < Kohana::config('activity.grade.normal')) { $this->send_response(400, NULL, '400509:非活动报名者,无权限查看报名成员'); } $invitationList = $this->model->getMembersInviteUser($id); $inviteArray = array(); foreach ($invitationList as $value) { if (!array_key_exists($value['uid'], $inviteArray)) { $inviteArray[$value['uid']] = array('id' => floatval($value['invite_uid']), 'name' => $value['realname']); } } if ($apply_type == -1) { //未确认成员 $memberList = $this->model->getInviteUnset($id); } else { if ($apply_type == 0) { //全部成员 $apply_member = $this->model->getActivityAllMember($id); $invite_member = $this->model->getInviteUnset($id); $memberList = array_merge($apply_member, $invite_member); } else { //各报名类型成员 $memberList = $this->model->getActivityMember($id, $apply_type); } } foreach ($memberList as $value) { $member = array(); $user = array(); $user['id'] = floatval($value['uid']); $user['name'] = $value['realname']; $user['avatar'] = sns::getavatar($value['uid']); $user['mobile'] = ""; $userGrade = intval($value['grade']); if ($grade > Kohana::config('activity.grade.normal') || $userGrade > Kohana::config('activity.grade.normal')) { $user['mobile'] = $value['mobile']; } $member['user'] = $user; $invite_user = array(); if (array_key_exists($value['uid'], $inviteArray)) { $invite_user = $inviteArray[$value['uid']]; } $member['invite_user'] = $invite_user; $member['apply_type'] = intval($value['apply_type']); $member['grade'] = $userGrade; $result[] = $member; unset($user); unset($member); } $this->send_response(200, $result); }