fix: new deal statuses, delivery date, receiving slot date
This commit is contained in:
		@@ -1,3 +1,4 @@
 | 
			
		||||
from datetime import datetime
 | 
			
		||||
from enum import IntEnum, unique
 | 
			
		||||
from typing import Optional, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
@@ -12,15 +13,27 @@ if TYPE_CHECKING:
 | 
			
		||||
    from . import DealBillRequest, ServicePriceCategory
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# @unique
 | 
			
		||||
# class DealStatus(IntEnum):
 | 
			
		||||
#     CREATED = 0
 | 
			
		||||
#     AWAITING_ACCEPTANCE = 1
 | 
			
		||||
#     PACKAGING = 2
 | 
			
		||||
#     AWAITING_SHIPMENT = 3
 | 
			
		||||
#     AWAITING_PAYMENT = 4
 | 
			
		||||
#     COMPLETED = 5
 | 
			
		||||
#     CANCELLED = 6
 | 
			
		||||
 | 
			
		||||
@unique
 | 
			
		||||
class DealStatus(IntEnum):
 | 
			
		||||
    CREATED = 0
 | 
			
		||||
    AWAITING_ACCEPTANCE = 1
 | 
			
		||||
    PACKAGING = 2
 | 
			
		||||
    AWAITING_SHIPMENT = 3
 | 
			
		||||
    AWAITING_PAYMENT = 4
 | 
			
		||||
    COMPLETED = 5
 | 
			
		||||
    CANCELLED = 6
 | 
			
		||||
    READY_FOR_WORK = 2
 | 
			
		||||
    PACKAGING = 3
 | 
			
		||||
    AWAITING_SHIPMENT = 4
 | 
			
		||||
    IN_DELIVERY = 5
 | 
			
		||||
    AWAITING_PAYMENT = 6
 | 
			
		||||
    COMPLETED = 7
 | 
			
		||||
    CANCELLED = 8
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class DealPriceCategory(BaseModel):
 | 
			
		||||
@@ -51,6 +64,9 @@ class Deal(BaseModel):
 | 
			
		||||
    base_marketplace_key: Mapped[str] = mapped_column(ForeignKey("base_marketplaces.key"), nullable=True)
 | 
			
		||||
    base_marketplace: Mapped["BaseMarketplace"] = relationship(lazy="joined")
 | 
			
		||||
 | 
			
		||||
    delivery_date: Mapped[Optional[datetime]] = mapped_column(nullable=True)
 | 
			
		||||
    receiving_slot_date: Mapped[Optional[datetime]] = mapped_column(nullable=True)
 | 
			
		||||
 | 
			
		||||
    services = relationship(
 | 
			
		||||
        'DealService',
 | 
			
		||||
        back_populates='deal',
 | 
			
		||||
 
 | 
			
		||||
@@ -38,6 +38,9 @@ class DealSummary(BaseSchema):
 | 
			
		||||
    shipment_warehouse_id: Optional[int]
 | 
			
		||||
    shipment_warehouse_name: Optional[str]
 | 
			
		||||
 | 
			
		||||
    delivery_date: Optional[datetime.datetime] = None
 | 
			
		||||
    receiving_slot_date: Optional[datetime.datetime] = None
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class DealServiceSchema(BaseSchema):
 | 
			
		||||
    service: ServiceSchema
 | 
			
		||||
@@ -85,6 +88,9 @@ class DealSchema(BaseSchema):
 | 
			
		||||
    bill_request: Optional[DealBillRequestSchema] = None
 | 
			
		||||
    category: Optional[ServicePriceCategorySchema] = None
 | 
			
		||||
 | 
			
		||||
    delivery_date: Optional[datetime.datetime] = None
 | 
			
		||||
    receiving_slot_date: Optional[datetime.datetime] = None
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class DealGeneralInfoSchema(BaseSchema):
 | 
			
		||||
    name: str
 | 
			
		||||
@@ -92,6 +98,8 @@ class DealGeneralInfoSchema(BaseSchema):
 | 
			
		||||
    is_completed: bool
 | 
			
		||||
    comment: str
 | 
			
		||||
    shipping_warehouse: Optional[str] = None
 | 
			
		||||
    delivery_date: Optional[datetime.datetime] = None
 | 
			
		||||
    receiving_slot_date: Optional[datetime.datetime] = None
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# endregion Entities
 | 
			
		||||
 
 | 
			
		||||
@@ -250,7 +250,9 @@ class DealService(BaseService):
 | 
			
		||||
                    created_at=deal.created_at,
 | 
			
		||||
                    shipment_warehouse_id=deal.shipping_warehouse_id,
 | 
			
		||||
                    shipment_warehouse_name=shipment_warehouse_name,
 | 
			
		||||
                    total_products=products_count
 | 
			
		||||
                    total_products=products_count,
 | 
			
		||||
                    delivery_date=deal.delivery_date,
 | 
			
		||||
                    receiving_slot_date=deal.receiving_slot_date
 | 
			
		||||
                )
 | 
			
		||||
            )
 | 
			
		||||
        return DealSummaryResponse(summaries=summaries)
 | 
			
		||||
@@ -346,6 +348,8 @@ class DealService(BaseService):
 | 
			
		||||
            deal.comment = request.data.comment
 | 
			
		||||
            deal.is_deleted = request.data.is_deleted
 | 
			
		||||
            deal.is_completed = request.data.is_completed
 | 
			
		||||
            deal.delivery_date = request.data.delivery_date
 | 
			
		||||
            deal.receiving_slot_date = request.data.receiving_slot_date
 | 
			
		||||
 | 
			
		||||
            # Updating shipping warehouse
 | 
			
		||||
            shipping_warehouse_service = ShippingWarehouseService(self.session)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user