42 lines
1018 B
Python
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
|