| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- """区域Schema"""
- from typing import Optional, List
- from pydantic import BaseModel, Field, ConfigDict
- class RegionBase(BaseModel):
- """区域基础Schema"""
- model_config = ConfigDict(populate_by_name=True)
- name: str = Field(..., description="区域名称")
- code: str = Field(..., description="区域编码")
- description: Optional[str] = Field(None, description="区域描述")
- sort_order: int = Field(0, alias="sortOrder", description="排序")
- is_active: bool = Field(True, alias="isActive", description="是否启用")
- expected_delivery_minutes: Optional[int] = Field(
- None, alias="expectedDeliveryMinutes", description="预计配送时长(分钟)"
- )
- delivery_warn_advance_minutes: Optional[int] = Field(
- None,
- alias="deliveryWarnAdvanceMinutes",
- description="计划到货前未送达时预警提前时间(分钟)",
- )
- class RegionCreate(RegionBase):
- """创建区域"""
- pass
- class RegionUpdate(BaseModel):
- """更新区域"""
- model_config = ConfigDict(populate_by_name=True)
- name: Optional[str] = Field(None, description="区域名称")
- code: Optional[str] = Field(None, description="区域编码")
- description: Optional[str] = Field(None, description="区域描述")
- sort_order: Optional[int] = Field(None, alias="sortOrder", description="排序")
- is_active: Optional[bool] = Field(None, alias="isActive", description="是否启用")
- expected_delivery_minutes: Optional[int] = Field(
- None, alias="expectedDeliveryMinutes", description="预计配送时长(分钟)"
- )
- delivery_warn_advance_minutes: Optional[int] = Field(
- None,
- alias="deliveryWarnAdvanceMinutes",
- description="计划到货前未送达时预警提前时间(分钟)",
- )
- class RegionResponse(RegionBase):
- """区域响应"""
- model_config = ConfigDict(from_attributes=True, populate_by_name=True)
- id: str
- create_at: Optional[str] = None
- create_by: Optional[str] = None
- create_name: Optional[str] = None
- update_at: Optional[str] = None
- update_by: Optional[str] = None
- class RegionListResponse(BaseModel):
- """区域列表响应"""
- items: List[RegionResponse]
- total: int
- page: int
- pageSize: int
- totalPages: int
|