| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- """Pydantic schemas - 询价单管理"""
- from pydantic import BaseModel, Field
- from typing import Optional, List
- from datetime import datetime
- from decimal import Decimal
- class InquiryItemBase(BaseModel):
- """询价单项基础字段"""
- product_id: str = Field(..., description="商品ID")
- class InquiryItemCreate(InquiryItemBase):
- """创建询价单项请求"""
- pass
- class InquiryItemResponse(InquiryItemBase):
- """询价单项响应"""
- id: str
- inquiry_id: str
- is_del: int
- class Config:
- from_attributes = True
- class InquiryBase(BaseModel):
- """询价单基础字段"""
- region_id: str = Field(..., description="区域ID")
- title: str = Field(..., max_length=200, description="询价单标题")
- remark: Optional[str] = Field(None, max_length=1000, description="备注")
- class InquiryCreate(InquiryBase):
- """创建询价单请求"""
- product_ids: List[str] = Field(default_factory=list, description="商品ID列表")
- class InquiryUpdate(BaseModel):
- """更新询价单请求"""
- title: Optional[str] = Field(None, max_length=200, description="询价单标题")
- remark: Optional[str] = Field(None, max_length=1000, description="备注")
- product_ids: Optional[List[str]] = Field(None, description="商品ID列表")
- class InquiryResponse(InquiryBase):
- """询价单响应"""
- id: str
- status: str
- publish_time: Optional[datetime] = None
- close_time: Optional[datetime] = None
- is_del: int
- create_at: Optional[datetime] = None
- create_by: Optional[str] = None
- create_name: Optional[str] = None
- update_at: Optional[datetime] = None
- class Config:
- from_attributes = True
- class InquiryDetailResponse(InquiryResponse):
- """询价单详情响应(包含询价项)"""
- items: List[InquiryItemResponse] = []
- class InquiryListResponse(BaseModel):
- """询价单列表响应"""
- items: List[InquiryResponse]
- total: int
- page: int
- pageSize: int
- totalPages: int
- class InquiryStatusResponse(BaseModel):
- """询价单状态更新响应"""
- id: str
- status: str
- message: str = "操作成功"
|