From 73b874c72ad55eb9eef21c36160ac0de58f0189e Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Thu, 05 Feb 2026 10:30:43 +0800
Subject: [PATCH] 优化名片

---
 admin/app/api/controller/plus/business/chat/Chat.php |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/admin/app/api/controller/plus/business/chat/Chat.php b/admin/app/api/controller/plus/business/chat/Chat.php
index 82827e4..915af34 100644
--- a/admin/app/api/controller/plus/business/chat/Chat.php
+++ b/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('创建会话失败');
         }

--
Gitblit v1.9.2