57 lines
3.0 KiB
Python
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")
|