Files
shanxia2.0/backend/app/schemas/crm/pool_rule.py
T
2026-08-22 09:08:05 +08:00

65 lines
2.0 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""CRM 客户公海池规则 Pydantic Schemas"""
from typing import List, 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=500)
poolName: Optional[str] = Field(default=None)
ruleType: Optional[str] = Field(default=None)
status: Optional[str] = Field(default=None)
ids: Optional[List[str]] = Field(default=None, description="导出指定ID列表")
columns: Optional[List[str]] = Field(default=None, description="导出列(前端 visibleColumns)")
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)