from typing import List, Optional from pydantic import BaseModel, ConfigDict, Field class OutboundReviewListParams(BaseModel): model_config = ConfigDict(populate_by_name=True) page: int = Field(1, ge=1) pageSize: int = Field(10, ge=1, le=100) keyword: Optional[str] = None reviewConclusion: Optional[str] = None scheduleStatus: Optional[str] = None qcStatus: Optional[str] = None infusionTimeStart: Optional[str] = None infusionTimeEnd: Optional[str] = None class OutboundReviewSubmitBody(BaseModel): model_config = ConfigDict(populate_by_name=True) reviewConclusion: str = Field(..., description="tg/btg") reviewRemark: Optional[str] = None reviewAttachments: Optional[str] = None class OutboundBatchReviewBody(BaseModel): model_config = ConfigDict(populate_by_name=True) scheduleIds: List[str] = Field(..., min_length=1) reviewConclusion: str = Field(..., description="tg/btg") reviewRemark: Optional[str] = None reviewAttachments: Optional[str] = None