AI 3 月之前
父節點
當前提交
9667c5ab5e
共有 1 個文件被更改,包括 13 次插入1 次删除
  1. 13 1
      app/JsonRpc/ChatService.php

+ 13 - 1
app/JsonRpc/ChatService.php

@@ -349,7 +349,19 @@ class ChatService implements ChatServiceInterface
             ->get();
 
         // 合并未读消息和已读消息
-        $allMessages = array_merge($unreadMessages->toArray(), $readMessages->toArray());
+        // $allMessages = array_merge($unreadMessages->toArray(), $readMessages->toArray());
+        // 使用关联数组去重,并优先保留未读消息
+        $allMessages = [];
+        foreach ($unreadMessages as $message) {
+            $allMessages[$message['receiver_id']] = $message->toArray();
+        }
+
+        foreach ($readMessages as $message) {
+            if (!isset($allMessages[$message['receiver_id']])) {
+                $allMessages[$message['receiver_id']] = $message->toArray();
+            }
+        }
+
         // var_dump($allMessages);
         // 处理结果,判断是否是群聊
         $formattedMessages = [];