| 12345678910111213141516171819202122232425 |
- """作废/取消原因共用 Schema 与工具。"""
- from __future__ import annotations
- from typing import Optional
- from pydantic import BaseModel, Field
- def normalize_optional_reason(value: Optional[str]) -> Optional[str]:
- if value is None:
- return None
- text = str(value).strip()
- return text or None
- class CancelReasonBody(BaseModel):
- cancel_reason: Optional[str] = Field(default=None, alias="cancelReason", max_length=500)
- model_config = {"populate_by_name": True}
- class VoidReasonBody(BaseModel):
- void_reason: Optional[str] = Field(default=None, alias="voidReason", max_length=500)
- model_config = {"populate_by_name": True}
|