/** * API:添加好友 * * @access public * @param 无 * @return JsonView 响应json */ public function exeAddFriend() { $requestParam = $this->getAllParameters(); Logger::debug('requestParam:' . print_r($requestParam, true)); $requestJsonParam = $this->getDecodedJsonRequest(); Logger::debug('requestJsonParam:' . print_r($requestJsonParam, true)); $user_id = $requestParam['user_id']; $session_key = $requestParam['session_key']; $friend_id = $requestJsonParam['friend_id']; if ($user_id == $friend_id) { $messageArr['error'] = "不能添加自己为好友!"; $messageArr['session_key'] = CharacterModel::setSessionKey($user_id, $session_key); $view = new JsonView(); return $this->getViewByJson($view, $messageArr, 0, "friend/add_friend"); } //最大好友数判断 $friendNum = FriendModel::getFriendNum($user_id); if ($friendNum >= Constants::MAX_FRIEND_NUM) { $messageArr['error'] = "好友数已达上限!"; $messageArr['session_key'] = CharacterModel::setSessionKey($user_id, $session_key); $view = new JsonView(); return $this->getViewByJson($view, $messageArr, 0, "friend/add_friend"); } //是否已申请添加, $isAdd = FriendModel::isAddFriend($user_id, $friend_id); if ($isAdd) { $messageArr['error'] = "已在申请列表中!"; $messageArr['session_key'] = CharacterModel::setSessionKey($user_id, $session_key); $view = new JsonView(); return $this->getViewByJson($view, $messageArr, 0, "friend/add_friend"); } $res = FriendModel::insertMail(array('n_send_id' => $user_id, 'n_receive_id' => $friend_id, 'n_type' => 1, 't_update_time' => date("Y-m-d H:i:s"), 't_create_time' => date("Y-m-d H:i:s"))); if (!$res) { throw new Exception("insert false"); } $messageArr['friendInfo'] = FriendAction::exeGetFriendMenu($user_id); $messageArr['session_key'] = CharacterModel::setSessionKey($user_id, $session_key); $view = new JsonView(); return $this->getViewByJson($view, $messageArr, 1, "friend/add_friend"); }