Selaa lähdekoodia

Merge branch '20241106_lj_chat'

AI 3 kuukautta sitten
vanhempi
sitoutus
b807a6b880
1 muutettua tiedostoa jossa 13 lisäystä ja 1 poistoa
  1. 13 1
      app/JsonRpc/ChatService.php

+ 13 - 1
app/JsonRpc/ChatService.php

@@ -349,7 +349,19 @@ class ChatService implements ChatServiceInterface
             ->get();
             ->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);
         // var_dump($allMessages);
         // 处理结果,判断是否是群聊
         // 处理结果,判断是否是群聊
         $formattedMessages = [];
         $formattedMessages = [];