diff --git a/api/controllers/console/app/conversation.py b/api/controllers/console/app/conversation.py index 56816dd462..55fdcb51e4 100644 --- a/api/controllers/console/app/conversation.py +++ b/api/controllers/console/app/conversation.py @@ -592,9 +592,12 @@ def _get_conversation(app_model, conversation_id): if not conversation: raise NotFound("Conversation Not Exists.") - if not conversation.read_at: - conversation.read_at = naive_utc_now() - conversation.read_account_id = current_user.id - db.session.commit() + db.session.execute( + sa.update(Conversation) + .where(Conversation.id == conversation_id, Conversation.read_at.is_(None)) + .values(read_at=naive_utc_now(), read_account_id=current_user.id) + ) + db.session.commit() + db.session.refresh(conversation) return conversation