|
@@ -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 = [];
|