From 9e930bb9f18ea743707978abeafad36892555a8c Mon Sep 17 00:00:00 2001 From: taozui <1834706175@qq.com> Date: Mon, 30 Jun 2025 11:36:04 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E6=B5=81=E9=A2=84?= =?UTF-8?q?=E8=A7=88=E6=A8=A1=E5=BC=8F=E4=B8=8B=EF=BC=8C=E8=B0=83=E7=94=A8?= =?UTF-8?q?=E5=B7=A5=E5=85=B7app=E4=BC=A0=E5=8F=82coversationId=E5=B8=A6?= =?UTF-8?q?=E5=8E=86=E5=8F=B2=E8=AE=B0=E5=BD=95=EF=BC=8C=E8=B0=83=E7=94=A8?= =?UTF-8?q?=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/apps/advanced_chat/app_generator.py | 2 +- api/services/conversation_service.py | 37 +++++++++++++------ 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/api/core/app/apps/advanced_chat/app_generator.py b/api/core/app/apps/advanced_chat/app_generator.py index 61de9ec670..6209957118 100644 --- a/api/core/app/apps/advanced_chat/app_generator.py +++ b/api/core/app/apps/advanced_chat/app_generator.py @@ -113,7 +113,7 @@ class AdvancedChatAppGenerator(MessageBasedAppGenerator): conversation_id = args.get("conversation_id") if conversation_id: conversation = ConversationService.get_conversation( - app_model=app_model, conversation_id=conversation_id, user=user + app_model=app_model, conversation_id=conversation_id, user=user,invoke_from=invoke_from ) # parse files diff --git a/api/services/conversation_service.py b/api/services/conversation_service.py index afdaa49465..fd26be6ac4 100644 --- a/api/services/conversation_service.py +++ b/api/services/conversation_service.py @@ -145,19 +145,32 @@ class ConversationService: return conversation @classmethod - def get_conversation(cls, app_model: App, conversation_id: str, user: Optional[Union[Account, EndUser]]): - conversation = ( - db.session.query(Conversation) - .filter( - Conversation.id == conversation_id, - Conversation.app_id == app_model.id, - Conversation.from_source == ("api" if isinstance(user, EndUser) else "console"), - Conversation.from_end_user_id == (user.id if isinstance(user, EndUser) else None), - Conversation.from_account_id == (user.id if isinstance(user, Account) else None), - Conversation.is_deleted == False, + def get_conversation(cls, app_model: App, conversation_id: str, user: Optional[Union[Account, EndUser]],invoke_from: InvokeFrom =None): + if invoke_from and invoke_from==invoke_from.SERVICE_API: + conversation = ( + db.session.query(Conversation) + .filter( + Conversation.id == conversation_id, + Conversation.app_id == app_model.id, + Conversation.from_source == "api", + Conversation.from_end_user_id == user.id , + Conversation.is_deleted == False, + ) + .first() + ) + else: + conversation = ( + db.session.query(Conversation) + .filter( + Conversation.id == conversation_id, + Conversation.app_id == app_model.id, + Conversation.from_source == ("api" if isinstance(user, EndUser) else "console"), + Conversation.from_end_user_id == (user.id if isinstance(user, EndUser) else None), + Conversation.from_account_id == (user.id if isinstance(user, Account) else None), + Conversation.is_deleted == False, + ) + .first() ) - .first() - ) if not conversation: raise ConversationNotExistsError() From 62c8082f945361174e3af8889db5488f6334631f Mon Sep 17 00:00:00 2001 From: taozuinb <38354214+taozuinb@users.noreply.github.com> Date: Tue, 1 Jul 2025 14:36:36 +0800 Subject: [PATCH 2/3] Update api/services/conversation_service.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- api/services/conversation_service.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/services/conversation_service.py b/api/services/conversation_service.py index fd26be6ac4..6de8b22b73 100644 --- a/api/services/conversation_service.py +++ b/api/services/conversation_service.py @@ -146,7 +146,7 @@ class ConversationService: @classmethod def get_conversation(cls, app_model: App, conversation_id: str, user: Optional[Union[Account, EndUser]],invoke_from: InvokeFrom =None): - if invoke_from and invoke_from==invoke_from.SERVICE_API: + if invoke_from and invoke_from == InvokeFrom.SERVICE_API: conversation = ( db.session.query(Conversation) .filter( From 6524922775f445f55eaa7513f31688cc961eeda8 Mon Sep 17 00:00:00 2001 From: taozuinb <38354214+taozuinb@users.noreply.github.com> Date: Tue, 1 Jul 2025 14:38:13 +0800 Subject: [PATCH 3/3] Update api/services/conversation_service.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- api/services/conversation_service.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/services/conversation_service.py b/api/services/conversation_service.py index 6de8b22b73..d285df3570 100644 --- a/api/services/conversation_service.py +++ b/api/services/conversation_service.py @@ -145,7 +145,7 @@ class ConversationService: return conversation @classmethod - def get_conversation(cls, app_model: App, conversation_id: str, user: Optional[Union[Account, EndUser]],invoke_from: InvokeFrom =None): + def get_conversation(cls, app_model: App, conversation_id: str, user: Optional[Union[Account, EndUser]], invoke_from: InvokeFrom = None): if invoke_from and invoke_from == InvokeFrom.SERVICE_API: conversation = ( db.session.query(Conversation)