Files
shanxia2.0/backend/app/schemas/crm/invoice_info.py
T
2026-06-06 19:44:18 +08:00

57 lines
3.0 KiB
Python

"""CRM 客户开票信息 Pydantic Schemas"""
from typing import List, Optional
from pydantic import BaseModel, ConfigDict, Field
class InvoiceInfoByCustomerBody(BaseModel):
model_config = ConfigDict(populate_by_name=True)
customer_id: str = Field(..., alias="customerId", description="客户ID")
class InvoiceInfoCreateBody(BaseModel):
model_config = ConfigDict(populate_by_name=True)
customer_id: str = Field(..., alias="customerId", description="客户ID")
company_name: str = Field(..., alias="companyName", description="单位名称")
tax_no: Optional[str] = Field(default=None, alias="taxNo", description="税号")
company_address: Optional[str] = Field(default=None, alias="companyAddress", description="单位地址")
legal_representative: Optional[str] = Field(default=None, alias="legalRepresentative", description="法定代表人")
agent: Optional[str] = Field(default=None, alias="agent", description="代理人")
phone_fax: Optional[str] = Field(default=None, alias="phoneFax", description="电话/传真")
bank_name: Optional[str] = Field(default=None, alias="bankName", description="开户银行")
bank_account: Optional[str] = Field(default=None, alias="bankAccount", description="银行账号")
is_default: Optional[str] = Field(default="0", alias="isDefault", description="是否默认(0/1)")
remark: Optional[str] = Field(default=None, description="备注")
class InvoiceInfoUpdateBody(BaseModel):
model_config = ConfigDict(populate_by_name=True)
id: str = Field(..., description="开票信息ID")
customer_id: Optional[str] = Field(default=None, alias="customerId", description="客户ID")
company_name: Optional[str] = Field(default=None, alias="companyName", description="单位名称")
tax_no: Optional[str] = Field(default=None, alias="taxNo", description="税号")
company_address: Optional[str] = Field(default=None, alias="companyAddress", description="单位地址")
legal_representative: Optional[str] = Field(default=None, alias="legalRepresentative", description="法定代表人")
agent: Optional[str] = Field(default=None, alias="agent", description="代理人")
phone_fax: Optional[str] = Field(default=None, alias="phoneFax", description="电话/传真")
bank_name: Optional[str] = Field(default=None, alias="bankName", description="开户银行")
bank_account: Optional[str] = Field(default=None, alias="bankAccount", description="银行账号")
is_default: Optional[str] = Field(default=None, alias="isDefault", description="是否默认(0/1)")
remark: Optional[str] = Field(default=None, description="备注")
class InvoiceInfoDeleteBody(BaseModel):
id: Optional[str] = Field(default=None, description="开票信息ID")
ids: Optional[List[str]] = Field(default=None, description="开票信息ID列表")
class InvoiceInfoSetDefaultBody(BaseModel):
model_config = ConfigDict(populate_by_name=True)
id: str = Field(..., description="开票信息ID")
customer_id: str = Field(..., alias="customerId", description="客户ID")