66 lines
1.6 KiB
Python
66 lines
1.6 KiB
Python
from pydantic import BaseModel, Field
|
|
|
|
|
|
class OrderListQuery(BaseModel):
|
|
order_status: str | None = None
|
|
customer_name: str | None = None
|
|
customer_mobile: str | None = None
|
|
salesman_id: int | None = None
|
|
factory_id: int | None = None
|
|
order_source: str | None = None
|
|
start_time: str | None = None
|
|
end_time: str | None = None
|
|
page_no: int = 1
|
|
page_size: int = 20
|
|
|
|
|
|
class OrderItemPayload(BaseModel):
|
|
product_id: int | None = None
|
|
product_name: str
|
|
specification: str
|
|
unit: str
|
|
quantity: float
|
|
sale_price: float
|
|
cost_price: float
|
|
rebate_amount: float = 0
|
|
freight_amount: float = 0
|
|
tax_amount: float = 0
|
|
other_fee_amount: float = 0
|
|
remark: str | None = None
|
|
|
|
|
|
class CreateOrderRequest(BaseModel):
|
|
customer_name: str
|
|
customer_mobile: str
|
|
customer_address: str | None = None
|
|
order_source: str | None = None
|
|
delivery_type: str | None = None
|
|
factory_id: int | None = None
|
|
commission_amount: float = 0
|
|
rebate_total: float = 0
|
|
freight_total: float = 0
|
|
tax_total: float = 0
|
|
other_fee_total: float = 0
|
|
remark: str | None = None
|
|
items: list[OrderItemPayload] = Field(default_factory=list)
|
|
|
|
|
|
class CancelOrderRequest(BaseModel):
|
|
cancel_reason: str
|
|
cancel_opinion: str | None = None
|
|
|
|
|
|
class ApproveOrderRequest(BaseModel):
|
|
approve_result: str
|
|
approve_opinion: str | None = None
|
|
|
|
|
|
class SupplierTextRequest(BaseModel):
|
|
supplier_id: int
|
|
|
|
|
|
class ConfirmSupplierTextRequest(BaseModel):
|
|
supplier_id: int
|
|
text_content: str
|
|
remark: str | None = None
|