quanwei
2 days ago 73b874c72ad55eb9eef21c36160ac0de58f0189e
admin/app/common/model/plus/business/chat/Conversation.php
@@ -45,7 +45,6 @@
     */
    public function createConversation($businessCardId, $participants = [])
    {
        $appId = self::$app_id;
        // 检查是否已存在相同名片的会话
        $existing = $this->where('business_card_id', $businessCardId)->find();
        if ($existing) {
@@ -54,14 +53,14 @@
        $data = [
            'business_card_id' => $businessCardId,
            'app_id' => $appId
            'app_id' => self::$app_id,
        ];
        try {
            $this->save($data);
            $conversationId = $this->conversation_id;
            // 添加参与者
            foreach ($participants as $userId) {
                (new Participant())->addParticipant($conversationId, $userId, $appId);
                (new Participant())->addParticipant($conversationId, $userId);
            }
            return $conversationId;
        } catch (\Exception $e) {
@@ -76,7 +75,7 @@
     */
    public function getUserConversations($param = [])
    {
        return $this->with(['businessCard', 'participants.user', 'messages'])
        return $this->with(['businessCard', 'participants.user'])
            ->order('update_time', 'desc')
            ->paginate($param);
    }
@@ -92,6 +91,14 @@
            ->where('business_card_id', $businessCardId)
            ->find();
    }
    public function getConversationByBusinessCardUser($businessCardId,$userId)
    {
        $conversation_ids=(new Participant())->where('user_id',$userId)->column('conversation_id');
        return $this->with(['businessCard', 'participants.user'])
            ->where('business_card_id', $businessCardId)
            ->where('conversation_id', 'in', $conversation_ids)
            ->find();
    }
    /**
     * 更新会话时间