当前位置: 首页>>代码示例>>C++>>正文


C++ Usuario::obtnerIdsConversaciones方法代码示例

本文整理汇总了C++中Usuario::obtnerIdsConversaciones方法的典型用法代码示例。如果您正苦于以下问题:C++ Usuario::obtnerIdsConversaciones方法的具体用法?C++ Usuario::obtnerIdsConversaciones怎么用?C++ Usuario::obtnerIdsConversaciones使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Usuario的用法示例。


在下文中一共展示了Usuario::obtnerIdsConversaciones方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: obtenerConversaciones

void Servicio::obtenerConversaciones() {
	Json::Value idsConversacionesValue = this->getParametroArray(
	keyIdConversaciones, keyDefault);
	vector<string> idsConversaciones = StringUtil::jsonValueToVector(
			idsConversacionesValue);

	string idUsuario = this->getParametroIdMetodoGET(
			urlBaseUsuarioConversaciones);

	Usuario* usuario = Usuario::obtenerPorTelefono(idUsuario);
	if (usuario->getId() != keyIdUsuarioNoEncontrado) {
		vector<string> idsConversacionesActuales =
				usuario->obtnerIdsConversaciones();
		vector<Conversacion*> nuevasConversaciones;

		for (unsigned i = 0; i < idsConversacionesActuales.size(); i++) {
			string idActual = idsConversacionesActuales[i];

			//Si no esta en las conversaciones que me llegan, quiere decir que es una nueva conversacion.
			//Tengo que enviarla al cliente
			if (!StringUtil::vectorContiene(idsConversaciones, idActual)) {
				Conversacion* nuevaConversacion = Conversacion::obtener(
						idActual);
				if (nuevaConversacion->getId()
						!= keyIdConversacionNoEncontrada) {
					nuevasConversaciones.push_back(nuevaConversacion);
				} else {
					Loger::getLoger()->warn(
							"La conversacion " + idActual
									+ " no se encuentra en el sistema");
				}
			}
		}

		Json::Value respuesta;

		for (unsigned i = 0; i < nuevasConversaciones.size(); i++) {
			Conversacion* conv = nuevasConversaciones[i];

			vector<Mensaje*> mens = conv->getMensajes();
			Mensaje* ultimoMensj = mens[mens.size() - 1];

			Usuario* usuarioContacto = conv->getUsuarios().at(0);
			if (usuarioContacto->getId() == usuario->getId()) {
				usuarioContacto = conv->getUsuarios().at(1);
			}

			respuesta["conversaciones"][i]["id"] = conv->getId();
			respuesta["conversaciones"][i]["ultimoMensaje"] =
					ultimoMensj->getCuerpo();
			respuesta["conversaciones"][i]["usuarioNombre"] =
					usuarioContacto->getNombre();
			respuesta["conversaciones"][i]["usuarioTelefono"] =
					usuarioContacto->getTelefono();
			respuesta["conversaciones"][i]["usuarioFotoDePerfil"] =
					usuarioContacto->getFotoDePerfil();

		}

		this->responder(respuesta.toStyledString(), true);

	} else {
		Loger::getLoger()->warn(
				"El usuario " + idUsuario + " no se encuentra en el sistema");
	}

}
开发者ID:juanmabaracat,项目名称:taller2-mensajeroX,代码行数:67,代码来源:Servicio.cpp


注:本文中的Usuario::obtnerIdsConversaciones方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。