feat: add showcase manager service

This commit is contained in:
2026-01-25 15:28:41 +03:00
parent f75e861bb8
commit 034be20a5a

View File

@@ -162,8 +162,6 @@ class ShowcaseManager:
Raises: Raises:
IntegrityError: если экземпляр уже был продан (защита на уровне БД) IntegrityError: если экземпляр уже был продан (защита на уровне БД)
""" """
from inventory.services.sale_processor import SaleProcessor
sold_count = 0 sold_count = 0
order = order_item.order order = order_item.order
@@ -207,21 +205,10 @@ class ShowcaseManager:
# Сначала устанавливаем order_item для правильного определения цены # Сначала устанавливаем order_item для правильного определения цены
reservation.order_item = order_item reservation.order_item = order_item
reservation.save()
# ВАЖНО: Мы НЕ создаём продажу (Sale) здесь и НЕ меняем статус на 'converted_to_sale'. # ВАЖНО: Мы НЕ создаём продажу (Sale) здесь и НЕ меняем статус на 'converted_to_sale'.
# Это сделает сигнал create_sale_on_order_completion автоматически. # Это сделает сигнал create_sale_on_order_completion автоматически.
# Таким образом обеспечивается единая точка создания продаж для всех типов товаров. # Таким образом обеспечивается единая точка создания продаж для всех типов товаров.
reservation.save()
# SaleProcessor.create_sale_from_reservation(
# reservation=reservation,
# order=order
# )
# Статус резерва остается 'reserved', чтобы сигнал его увидел
# reservation.status = 'converted_to_sale'
# reservation.converted_at = timezone.now()
# reservation.save()
sold_count += 1 sold_count += 1