From 7b86e482fb1bb1a61d0b53cb9bfc7338258ade9a Mon Sep 17 00:00:00 2001 From: xingc Date: Thu, 15 May 2025 20:15:05 +0800 Subject: [PATCH] =?UTF-8?q?feat(chat):=20=E6=96=B0=E5=A2=9E=E6=9C=AA?= =?UTF-8?q?=E8=AF=BB=E6=B6=88=E6=81=AF=E8=BF=94=E5=9B=9E=E6=B6=88=E6=81=AF?= =?UTF-8?q?`id`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/routers/chat/schema.py | 1 + core/routers/chat/services.py | 11 ++++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/core/routers/chat/schema.py b/core/routers/chat/schema.py index bd3c21c..9e72b10 100644 --- a/core/routers/chat/schema.py +++ b/core/routers/chat/schema.py @@ -27,6 +27,7 @@ class ChatCreateIn(BaseModel): class PreviewMessage(BaseModel): + id: int message_type: MessageType content: str diff --git a/core/routers/chat/services.py b/core/routers/chat/services.py index 472078b..17fcfa3 100644 --- a/core/routers/chat/services.py +++ b/core/routers/chat/services.py @@ -50,7 +50,7 @@ async def get_unread_messages_per_chat( # 查询消息情况 read_status_alias = aliased(ReadStatus) query = ( - select(Message.chat_id, Message.content, Message.message_type, func.count().label("message_count")) + select(Message.id, Message.chat_id, Message.content, Message.message_type, func.count().label("message_count")) .join( read_status_alias, and_(read_status_alias.user_id == login_user.user_id, read_status_alias.chat_id == Message.chat_id), @@ -69,12 +69,13 @@ async def get_unread_messages_per_chat( unread_messages_info = result.fetchall() for messages_info in unread_messages_info: - unread_messages_info_per_chat[messages_info[0]] = { + unread_messages_info_per_chat[messages_info[1]] = { 'message': { - 'message_type': messages_info[2], - 'content': messages_info[1], + 'id': messages_info[0], + 'message_type': messages_info[3], + 'content': messages_info[2], }, - 'message_count': messages_info[3], + 'message_count': messages_info[4], } results = []