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