46 lines
1.3 KiB
Python
46 lines
1.3 KiB
Python
"""CRM 客户公海池记录 Pydantic Schemas"""
|
|
from typing import List, Optional
|
|
|
|
from pydantic import BaseModel, ConfigDict, Field
|
|
|
|
|
|
class PoolCustomerListBody(BaseModel):
|
|
model_config = ConfigDict(populate_by_name=True)
|
|
|
|
page: int = Field(default=1, ge=1)
|
|
pageSize: int = Field(default=10, ge=1, le=100)
|
|
keyword: Optional[str] = Field(default=None)
|
|
level: Optional[str] = Field(default=None)
|
|
industry: Optional[str] = Field(default=None)
|
|
parkArea: Optional[str] = Field(default=None, alias="parkArea")
|
|
|
|
|
|
class PoolAssignBody(BaseModel):
|
|
model_config = ConfigDict(populate_by_name=True)
|
|
|
|
ids: List[str] = Field(..., min_length=1)
|
|
ownerUserId: str = Field(...)
|
|
ownerUserName: str = Field(default="")
|
|
|
|
|
|
class PoolClaimBody(BaseModel):
|
|
model_config = ConfigDict(populate_by_name=True)
|
|
|
|
ids: List[str] = Field(..., min_length=1)
|
|
|
|
|
|
class PoolRecordListBody(BaseModel):
|
|
model_config = ConfigDict(populate_by_name=True)
|
|
|
|
page: int = Field(default=1, ge=1)
|
|
pageSize: int = Field(default=10, ge=1, le=100)
|
|
customerId: Optional[str] = Field(default=None)
|
|
operationType: Optional[str] = Field(default=None)
|
|
keyword: Optional[str] = Field(default=None)
|
|
|
|
|
|
class PoolRecordDetailBody(BaseModel):
|
|
model_config = ConfigDict(populate_by_name=True)
|
|
|
|
id: str = Field(...)
|