Добавлен заказ накладной
This commit is contained in:
@@ -32,33 +32,17 @@ class Order(Base):
|
||||
order_uuid: Mapped[str] = mapped_column(String(128), nullable=False)
|
||||
payment_url: Mapped[str] = mapped_column(String(2048), nullable=False)
|
||||
price: Mapped[int] = mapped_column(Integer, nullable=False)
|
||||
delivery_type: Mapped[int] = mapped_column(Integer, nullable=False)
|
||||
tariff_code: Mapped[int] = mapped_column(Integer, nullable=False)
|
||||
sender: Mapped[dict[str, Any]] = mapped_column(_json_payload_type(), nullable=False)
|
||||
recipient: Mapped[dict[str, Any]] = mapped_column(
|
||||
account_email: Mapped[str] = mapped_column(String(320), nullable=False)
|
||||
payload: Mapped[dict[str, Any]] = mapped_column(
|
||||
_json_payload_type(),
|
||||
nullable=False,
|
||||
)
|
||||
from_location: Mapped[dict[str, Any]] = mapped_column(
|
||||
_json_payload_type(),
|
||||
nullable=False,
|
||||
)
|
||||
to_location: Mapped[dict[str, Any]] = mapped_column(
|
||||
_json_payload_type(),
|
||||
nullable=False,
|
||||
)
|
||||
packages: Mapped[list[dict[str, Any]]] = mapped_column(
|
||||
_json_payload_type(),
|
||||
nullable=False,
|
||||
)
|
||||
services: Mapped[list[dict[str, Any]] | None] = mapped_column(
|
||||
_json_payload_type(),
|
||||
nullable=True,
|
||||
)
|
||||
comment: Mapped[str | None] = mapped_column(String(1024), nullable=True)
|
||||
payment_status: Mapped[str | None] = mapped_column(String(64), nullable=True)
|
||||
tbank_payment_id: Mapped[int | None] = mapped_column(BigInteger, nullable=True)
|
||||
cdek_order_uuid: Mapped[str | None] = mapped_column(String(128), nullable=True)
|
||||
cdek_waybill_uuid: Mapped[str | None] = mapped_column(String(128), nullable=True)
|
||||
cdek_waybill_url: Mapped[str | None] = mapped_column(String(2048), nullable=True)
|
||||
created_at: Mapped[datetime] = mapped_column(
|
||||
DateTime(timezone=True),
|
||||
server_default=func.now(),
|
||||
|
||||
@@ -15,15 +15,9 @@ class OrderData:
|
||||
order_uuid: str
|
||||
payment_url: str
|
||||
price: int
|
||||
delivery_type: int
|
||||
tariff_code: int
|
||||
sender: dict[str, Any]
|
||||
recipient: dict[str, Any]
|
||||
from_location: dict[str, Any]
|
||||
to_location: dict[str, Any]
|
||||
packages: list[dict[str, Any]]
|
||||
services: list[dict[str, Any]] | None
|
||||
comment: str | None
|
||||
account_email: str
|
||||
payload: dict[str, Any]
|
||||
|
||||
|
||||
class OrderRepository:
|
||||
@@ -38,15 +32,9 @@ class OrderRepository:
|
||||
order_uuid=order_data.order_uuid,
|
||||
payment_url=order_data.payment_url,
|
||||
price=order_data.price,
|
||||
delivery_type=order_data.delivery_type,
|
||||
tariff_code=order_data.tariff_code,
|
||||
sender=order_data.sender,
|
||||
recipient=order_data.recipient,
|
||||
from_location=order_data.from_location,
|
||||
to_location=order_data.to_location,
|
||||
packages=order_data.packages,
|
||||
services=order_data.services,
|
||||
comment=order_data.comment,
|
||||
account_email=order_data.account_email,
|
||||
payload=order_data.payload,
|
||||
)
|
||||
session.add(order)
|
||||
await session.flush()
|
||||
@@ -84,11 +72,15 @@ class OrderRepository:
|
||||
session: AsyncSession,
|
||||
order_uuid: str,
|
||||
cdek_order_uuid: str,
|
||||
cdek_waybill_uuid: str | None = None,
|
||||
cdek_waybill_url: str | None = None,
|
||||
) -> Order | None:
|
||||
order = await self.get_order_by_order_uuid(session, order_uuid)
|
||||
if order is None:
|
||||
return None
|
||||
|
||||
order.cdek_order_uuid = cdek_order_uuid
|
||||
order.cdek_waybill_uuid = cdek_waybill_uuid
|
||||
order.cdek_waybill_url = cdek_waybill_url
|
||||
await session.flush()
|
||||
return order
|
||||
|
||||
Reference in New Issue
Block a user