dingdanquanliucheng/backend/app/schemas/logistics.py

42 lines
1018 B
Python

from pydantic import BaseModel, Field
class LogisticsTaskListQuery(BaseModel):
order_id: int | None = None
task_no: str | None = None
status: str | None = None
driver_id: int | None = None
factory_id: int | None = None
page_no: int = 1
page_size: int = 20
class CreateLogisticsTaskRequest(BaseModel):
order_id: int
driver_id: int = Field(gt=0)
pickup_address: str
delivery_address: str
pickup_content: str
quantity: float = Field(gt=0)
factory_id: int | None = None
remark: str | None = None
class LogisticsFilePayload(BaseModel):
file_url: str
file_name: str
class DriverTaskOperateRequest(BaseModel):
photo_files: list[LogisticsFilePayload] = Field(default_factory=list)
video_files: list[LogisticsFilePayload] = Field(default_factory=list)
remark: str | None = None
class CreateLogisticsTraceRequest(BaseModel):
task_id: int = Field(gt=0)
node_time: str
node_desc: str
node_type: str
source_platform: str