/** * 查找好友 * * @param int $user_id //用户id * @param string $nickname //查找好友昵称 * */ public function findFriend($user_id, $nickname) { $data = array(); //查看是否有此人 $friend_id = User::model()->getUserId($nickname); if ($friend_id < 1) { return false; } $info = Consumer::model()->getUserAll($friend_id); if (!empty($info)) { //查看是否已经建立了好友关系 $is_exist = UserFriend::model()->isFriend($user_id, $friend_id); if ($is_exist) { $data['status'] = 1; } else { $data['status'] = 0; } $data['friend_id'] = (int) $friend_id; $data['face_url'] = $info['avatar']; $data['nickname'] = $info['nickname']; $data['username'] = $info['username']; $data['exp'] = $info['point']; $data['level'] = $info['level']; } else { return false; } return $data; }
/** * 查找好友 * * @param string $user_id * @param string $token * @param string $find_username * @param int $page * @param int $page_size * */ public function actionFindFriend() { // 参数检查 if (!isset($_REQUEST['user_id']) || !isset($_REQUEST['token']) || !isset($_REQUEST['find_username'])) { $this->_return('MSG_ERR_LESS_PARAM'); } $now = date("Y-m-d H:i:s"); $user_id = trim(Yii::app()->request->getParam('user_id')); $token = trim(Yii::app()->request->getParam('token')); $find_username = trim(Yii::app()->request->getParam('find_username')); $page = trim(Yii::app()->request->getParam('page')); $page_size = (int) trim(Yii::app()->request->getParam('page_size')); if (empty($page)) { $page = 1; } if (empty($page_size)) { $page_size = 10; } if ($page_size > 20) { $this->_return('MSG_ERR_FAIL_PARAM'); } $start = ($page - 1) * $page_size; //$page 大小范围 $page_size 大小范围 if (empty($find_username)) { $this->_return('MSG_ERR_FAIL_PARAM'); } $find_username = mb_substr($find_username, 0, 20, 'utf-8'); if (!is_numeric($user_id)) { $this->_return('MSG_ERR_FAIL_PARAM'); } //用户不存在 返回错误 if ($user_id < 1) { $this->_return('MSG_ERR_NO_USER'); } //验证token if (!Token::model()->verifyToken($user_id, $token, $GLOBALS['__APPID'])) { //LOG $this->_return('MSG_ERR_TOKEN'); } $info = array(); //获取用户列表 $info[] = User::model()->findFriend($user_id, $find_username); ############################### 模糊 if (empty($info[0])) { $info = array(); $data = array(); //查看是否有此人 $ids = User::model()->fuzzy($find_username, $start, $page_size); // echo '<pre>'; // print_r($ids);exit; foreach ($ids as $id) { $uinfo = Consumer::model()->getUserAll($id); if (!empty($uinfo)) { //查看是否已经建立了好友关系 $is_exist = UserFriend::model()->isFriend($user_id, $id); if ($is_exist) { $data['status'] = 1; } else { $data['status'] = 0; } $data['friend_id'] = $id; $data['face_url'] = $uinfo['avatar']; $data['nickname'] = $uinfo['nickname']; $data['username'] = $uinfo['username']; $data['exp'] = $uinfo['point']; $data['level'] = $uinfo['level']; $info[] = $data; } } } ############################### $this->_return('MSG_SUCCESS', $info); }