From d33463437a0793faaef6b2d7e2a6719d73af1922 Mon Sep 17 00:00:00 2001 From: "lengjs@wsidomidata.com" Date: Fri, 20 Jun 2025 15:41:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=96=87=E6=A1=A3=EF=BC=8C?= =?UTF-8?q?=E8=BF=98=E5=8E=9F=E6=89=B9=E9=87=8F=E5=88=A0=E9=99=A4=E4=B8=9A?= =?UTF-8?q?=E5=8A=A1=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/README.md | 2 ++ api/services/conversation_service.py | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/api/README.md b/api/README.md index 9308d5dc44..15862c768d 100644 --- a/api/README.md +++ b/api/README.md @@ -57,6 +57,8 @@ 6. Run migrate + uv run flask db migrate -m "这是生成迁移脚本的命令" + Before the first launch, migrate the database to the latest version. ```bash diff --git a/api/services/conversation_service.py b/api/services/conversation_service.py index afdaa49465..0a459ff7bd 100644 --- a/api/services/conversation_service.py +++ b/api/services/conversation_service.py @@ -172,6 +172,25 @@ class ConversationService: conversation.updated_at = datetime.now(UTC).replace(tzinfo=None) db.session.commit() + @classmethod + def batch_delete(cls, app_model: App, conversation_ids: list[str], user: Optional[Union[Account, EndUser]]): + conversations = ( + db.session.query(Conversation) + .filter( + Conversation.id.in_(conversation_ids), + 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, + ).all() + ) + + for conversation in conversations: + conversation.is_deleted = True + conversation.updated_at = datetime.now(UTC).replace(tzinfo=None) + db.session.commit() + @classmethod def get_conversational_variable( cls,