quanwei
2 days ago 04102f7237efefa744090ed7c25f7b5d0807b679
admin/app/api/controller/plus/business/chat/Chat.php
@@ -6,6 +6,7 @@
use app\api\model\plus\business\chat\Chat as ChatModel;
use app\api\model\plus\business\chat\Conversation as ConversationModel;
use app\api\model\plus\business\chat\Participant;
use app\api\model\settings\Setting as SettingModel;
use app\api\model\user\User as UserModel;
use app\common\model\plus\business\Business as BusinessModel;
@@ -135,15 +136,14 @@
        
        $conversationModel = new ConversationModel();
        $conversations = $conversationModel->getUserConversations($param);
        // 为每个会话添加未读消息数量
        $chatModel = new ChatModel();
        foreach ($conversations as &$conversation) {
            $conversation['unread_count'] = $chatModel->getUnreadCount($conversation['conversation_id'], $param['user_id']);
            $chatData=$chatModel->where('conversation_id',$conversation['conversation_id'])->order('create_time','desc')->find();
            // 获取最后一条消息
            if (!empty($conversation['messages'])) {
                $conversation['last_message'] = end($conversation['messages']);
            if (!empty($chatData)) {
                $conversation['last_message'] = $chatData;
            }
        }
        
@@ -224,13 +224,12 @@
        $conversationModel = new ConversationModel();
        
        // 检查是否已存在会话
        $conversation = $conversationModel->getConversationByBusinessCard($businessCardId);
        $conversation = $conversationModel->getConversationByBusinessCardUser($businessCardId,$userId);
        if ($businessCard['user_id'] == $userId&&!$conversation) {
            return $this->renderError('不能与自己建立会话');
        }
        if (!$conversation) {
            // 创建新会话
            $participants = [$userId, $businessCard['user_id']];
            $conversationId = $conversationModel->createConversation($businessCardId, $participants);
@@ -243,8 +242,9 @@
            // 添加未读消息数量
            $chatModel = new ChatModel();
            $conversation['unread_count'] = $chatModel->getUnreadCount($conversation['conversation_id'], $userId);
            return $this->renderSuccess('获取成功', compact('conversation'));
            $wsUrl = SettingModel::getSysConfig()['url'];
            return $this->renderSuccess('获取成功', compact('conversation','wsUrl'));
        } else {
            return $this->renderError('创建会话失败');
        }