dingdanquanliucheng/backend/app/schemas/customers.py
2026-06-22 14:59:51 +08:00

93 lines
2.2 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.

"""
客户模块请求模型
定义客户管理相关的请求体数据模型,供 customers 路由使用。
包含客户的创建、更新和批量导入操作的请求体。
"""
from pydantic import BaseModel
class CreateCustomerRequest(BaseModel):
"""创建客户请求体。被 POST /api/customers 路由使用。"""
customer_name: str
"""客户名称"""
mobile: str
"""客户联系电话"""
address: str | None = None
"""客户地址,可选"""
settlement_type: str | None = None
"""结算方式(如现结、月结等)"""
settlement_days: int = 0
"""账期天数,用于月结场景"""
settlement_day_of_month: int | None = None
"""每月结算日1-28用于月结模式"""
reminder_day_of_month: int | None = None
"""每月提醒日1-28用于月结模式"""
customer_type: str | None = None
"""客户类型如普通客户、VIP 客户等)"""
salesman_id: int | None = None
"""所属业务员 ID"""
credit_limit: float = 0
"""信用额度"""
remark: str | None = None
"""备注信息"""
class ImportCustomerRequest(BaseModel):
"""批量导入客户请求体。被 POST /api/customers/import 路由使用。"""
file_url: str
"""导入文件的 URLExcel 文件)"""
import_mode: str = "skip_duplicate"
"""导入模式skip_duplicate-跳过重复cover-覆盖重复"""
class UpdateCustomerRequest(BaseModel):
"""更新客户请求体。被 PUT /api/customers/{id} 路由使用。"""
customer_name: str
"""客户名称"""
mobile: str
"""客户联系电话"""
address: str | None = None
"""客户地址,可选"""
settlement_type: str | None = None
"""结算方式"""
settlement_days: int = 0
"""账期天数"""
settlement_day_of_month: int | None = None
"""每月结算日1-28用于月结模式"""
reminder_day_of_month: int | None = None
"""每月提醒日1-28用于月结模式"""
customer_type: str | None = None
"""客户类型"""
salesman_id: int | None = None
"""所属业务员 ID"""
credit_limit: float = 0
"""信用额度"""
remark: str | None = None
"""备注信息"""