fix: new deal statuses, delivery date, receiving slot date

This commit is contained in:
2024-09-30 08:49:19 +03:00
parent 61d379e7dc
commit 590042521d
3 changed files with 34 additions and 6 deletions

View File

@@ -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',

View File

@@ -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

View File

@@ -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)