From 087c98d2421cb8891db0ad93063eb84cf8453d43 Mon Sep 17 00:00:00 2001 From: shaohuzhang1 Date: Tue, 22 Sep 2026 18:03:33 +0800 Subject: [PATCH] fix: During the conversation, you can use `chat_record_id` to overwrite the conversation record of another visitor. --- apps/chat/serializers/chat.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/apps/chat/serializers/chat.py b/apps/chat/serializers/chat.py index cce28eddffa..1108fdb0b3d 100644 --- a/apps/chat/serializers/chat.py +++ b/apps/chat/serializers/chat.py @@ -462,6 +462,10 @@ def chat(self, instance: dict, base_to_response: BaseToResponse = SystemToRespon chat_info = self.get_chat_info() chat_info.get_application() chat_info.get_chat_user(asker=(instance.get('form_data') or {}).get('asker')) + if instance.get('chat_record_id'): + if not QuerySet(ChatRecord).filter(id=instance.get('chat_record_id'), + chat_id=self.data.get('chat_id')).exists(): + raise ChatException(500, _("Conversation does not exist")) self.is_valid_chat_id(chat_info) if not self.data.get('debug'): self.is_valid_chat_user()