from pydantic import BaseModel from typing import Optional import uuid class KeyVisitCreate(BaseModel): customer_id: uuid.UUID urgency_level: str = "一般" # 重要/一般/紧急 description: str = "" progress_status: str = "未开始" planned_date: str = "" planned_visitor: str = "" visit_target: str = "" manager_id: Optional[uuid.UUID] = None class KeyVisitUpdate(BaseModel): customer_id: Optional[uuid.UUID] = None urgency_level: Optional[str] = None description: Optional[str] = None progress_status: Optional[str] = None planned_date: Optional[str] = None planned_visitor: Optional[str] = None visit_target: Optional[str] = None manager_id: Optional[uuid.UUID] = None class KeyVisitOut(BaseModel): id: uuid.UUID customer_id: uuid.UUID urgency_level: str description: str progress_status: str planned_date: str planned_visitor: str visit_target: str manager_id: uuid.UUID customer_name: Optional[str] = None manager_name: Optional[str] = None model_config = {"from_attributes": True}