public function actionConversation()
 {
     $messageId = $this->getQuery('messageId');
     if (empty($messageId)) {
         throw new BadRequestHttpException('missing params');
     }
     $chatMessage = ChatMessage::findByPk(new \MongoId($messageId));
     if (empty($chatMessage)) {
         throw new BadRequestHttpException('Invalid message id');
     }
     $conversation = ChatConversation::findByPk($chatMessage->conversationId);
     $message['content'] = $chatMessage->content;
     $message['sentTime'] = $chatMessage->sentTime;
     $result = [];
     if (empty(!$conversation)) {
         $accountId = $conversation->accountId;
         $deskId = $conversation->desk['id'];
         $openId = $conversation->client['openId'];
         $result = ['messageId' => $chatMessage->_id . '', 'conversationId' => $conversation->_id . '', 'client' => $conversation->client, 'desk' => ['id' => $deskId . '', 'name' => $conversation->desk['name'], 'badge' => $conversation->desk['badge'], 'email' => $conversation->desk['email'], 'avatar' => $conversation->desk['avatar']], 'channel' => $conversation->conversation, 'chatTimes' => ChatConversation::getChatTimes($deskId, $openId, $accountId), 'lastChatTime' => ChatConversation::getLastChatTime($deskId, $openId, $accountId), 'chatMessage' => $message, 'isReply' => $chatMessage->isReply];
     }
     return $result;
 }