import re from pydantic import BaseModel, Field, field_validator class TemplatesCreate(BaseModel): """模板创建请求模型""" store_id: int = Field(gt=0, description="入驻店铺ID") store_name: str = Field(description="商家店铺名称") business_segment: str = Field(description="入驻店铺经营板块") merchant_name: str = Field(description="商家姓名") contact_phone: str = Field(description="联系电话") contract_url: str | None = Field(default=None, description="合同下载地址,合同文件id,以及签署状态") ord_id: str = Field(description="企业用户的统一社会信用代码") @field_validator("contact_phone") @classmethod def validate_contact_phone(cls, value: str) -> str: if not re.fullmatch(r"^1\d{10}$", value): raise ValueError("contact_phone 格式错误,应为11位手机号") return value @field_validator("ord_id") @classmethod def validate_ord_id(cls, value: str) -> str: if not re.fullmatch(r"^[0-9A-Z]{18}$", value): raise ValueError("ord_id 格式错误,应为18位大写字母或数字") return value class SignUrl(BaseModel): """签署合同页面请求模型""" sign_flow_id: str = Field(description="合同相关的签署id") contact_phone: str = Field(description="联系电话")