Files
shanxia2.0/backend/app/schemas/crm/pool_rule.py
T
2026-06-01 08:21:21 +08:00

63 lines
1.8 KiB
Python

"""CRM 客户公海池规则 Pydantic Schemas"""
from typing import Optional
from pydantic import BaseModel, ConfigDict, Field
class PoolRuleListBody(BaseModel):
model_config = ConfigDict(populate_by_name=True)
page: int = Field(default=1, ge=1)
pageSize: int = Field(default=10, ge=1, le=100)
poolName: Optional[str] = Field(default=None)
ruleType: Optional[str] = Field(default=None)
status: Optional[str] = Field(default=None)
class PoolRuleDetailBody(BaseModel):
model_config = ConfigDict(populate_by_name=True)
id: str = Field(...)
class PoolRuleAddBody(BaseModel):
model_config = ConfigDict(populate_by_name=True)
poolName: str = Field(..., min_length=1)
ruleType: str = Field(..., min_length=1)
timeoutDays: int = Field(..., ge=1)
protectDays: int = Field(default=0, ge=0)
status: Optional[str] = Field(default="enable")
sort: Optional[int] = Field(default=0)
remark: Optional[str] = Field(default=None)
class PoolRuleUpdateBody(BaseModel):
model_config = ConfigDict(populate_by_name=True)
id: str = Field(...)
poolName: Optional[str] = Field(default=None)
ruleType: Optional[str] = Field(default=None)
timeoutDays: Optional[int] = Field(default=None, ge=1)
protectDays: Optional[int] = Field(default=None, ge=0)
status: Optional[str] = Field(default=None)
sort: Optional[int] = Field(default=None)
remark: Optional[str] = Field(default=None)
class PoolRuleDeleteBody(BaseModel):
model_config = ConfigDict(populate_by_name=True)
ids: list[str] = Field(..., min_length=1)
class PoolRuleUpdateStatusBody(BaseModel):
model_config = ConfigDict(populate_by_name=True)
id: str = Field(...)
status: str = Field(...)
class PoolRuleExecuteBody(BaseModel):
model_config = ConfigDict(populate_by_name=True)