create_mock_reviews.py 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import sys
  2. import os
  3. import random
  4. # Добавляем путь к бэкенду, чтобы импортировать db
  5. sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
  6. import db
  7. def create_mock_reviews():
  8. print("Finding orders to add mock reviews...")
  9. # Берем последние 10 заказов (или любые доступные)
  10. orders = db.execute_query("SELECT id FROM orders ORDER BY created_at DESC LIMIT 15")
  11. if not orders:
  12. print("No orders found in database. Please create some orders first.")
  13. return
  14. review_templates = [
  15. {"rating": 5, "text": "Excellent quality! The surface is very smooth.", "lang": "en"},
  16. {"rating": 5, "text": "Отличное качество печати, очень доволен результатом!", "lang": "ru"},
  17. {"rating": 4, "text": "Good work, but took a bit longer than expected.", "lang": "en"},
  18. {"rating": 5, "text": "Превосходно! Деталь подошла идеально.", "lang": "ru"},
  19. {"rating": 3, "text": "Average quality, some support marks are visible.", "lang": "en"},
  20. {"rating": 4, "text": "Хорошее качество, буду заказывать еще.", "lang": "ru"},
  21. {"rating": 5, "text": "Fast shipping and great communication. Recommended!", "lang": "en"}
  22. ]
  23. count = 0
  24. for order in orders:
  25. # С вероятностью 70% добавляем отзыв
  26. if random.random() > 0.3:
  27. template = random.choice(review_templates)
  28. is_approved = random.choice([True, False]) # Разные статусы для теста админки
  29. db.execute_commit(
  30. "UPDATE orders SET review_text = %s, rating = %s, review_approved = %s WHERE id = %s",
  31. (template['text'], template['rating'], is_approved, order['id'])
  32. )
  33. print(f" [DONE] Added review to Order #{order['id']} (Rating: {template['rating']}, Approved: {is_approved})")
  34. count += 1
  35. print(f"\nSuccessfully added {count} mock reviews.")
  36. if __name__ == "__main__":
  37. create_mock_reviews()