| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- """Pydantic schemas - 分类参数关联"""
- from pydantic import BaseModel, Field, ConfigDict
- from typing import Optional, List
- from datetime import datetime
- class CategoryParameterBase(BaseModel):
- """分类参数关联基础字段"""
- model_config = ConfigDict(populate_by_name=True)
- category_id: str = Field(..., description="分类ID", alias="categoryId")
- parameter_id: str = Field(..., description="参数ID", alias="parameterId")
- is_required: int = Field(default=0, description="该分类下是否必填:0-否, 1-是", alias="isRequired")
- default_value: Optional[str] = Field(None, max_length=500, description="默认值", alias="defaultValue")
- sort_order: int = Field(default=0, description="排序", alias="sortOrder")
- class CategoryParameterItem(BaseModel):
- """批量更新中的单个参数项(不包含categoryId)"""
- model_config = ConfigDict(populate_by_name=True)
- parameter_id: str = Field(..., description="参数ID", alias="parameterId")
- is_required: int = Field(default=0, description="该分类下是否必填:0-否, 1-是", alias="isRequired")
- default_value: Optional[str] = Field(None, max_length=500, description="默认值", alias="defaultValue")
- sort_order: int = Field(default=0, description="排序", alias="sortOrder")
- class CategoryParameterCreate(CategoryParameterBase):
- """创建分类参数关联请求"""
- pass
- class CategoryParameterUpdate(BaseModel):
- """更新分类参数关联请求"""
- model_config = ConfigDict(populate_by_name=True)
- is_required: Optional[int] = Field(None, description="是否必填", alias="isRequired")
- default_value: Optional[str] = Field(None, max_length=500, description="默认值", alias="defaultValue")
- sort_order: Optional[int] = Field(None, description="排序", alias="sortOrder")
- class CategoryParameterBatchUpdate(BaseModel):
- """批量更新分类参数关联请求"""
- model_config = ConfigDict(populate_by_name=True)
- items: List[CategoryParameterItem] = Field(..., description="参数关联列表")
- class CategoryParameterResponse(CategoryParameterBase):
- """分类参数关联响应"""
- id: str
- create_at: datetime
- create_by: Optional[str] = None
- create_name: Optional[str] = None
- update_at: Optional[datetime] = None
- class Config:
- from_attributes = True
- class CategoryParameterWithDetailResponse(BaseModel):
- """带参数详情的分类参数关联响应"""
- id: str
- category_id: str
- parameter_id: str
- parameter_name: str
- parameter_code: str
- param_type: str
- options: Optional[str] = None
- placeholder: Optional[str] = None
- is_required: int
- default_value: Optional[str] = None
- sort_order: int
- class Config:
- from_attributes = True
- class CategoryParameterListResponse(BaseModel):
- """分类参数关联列表响应"""
- list: List[CategoryParameterWithDetailResponse]
- total: int
|