guzhi/app/schemas/transactions.py
2025-12-04 14:44:23 +08:00

37 lines
1.1 KiB
Python

from pydantic import BaseModel, Field, EmailStr
from typing import Optional, List, Union
class SendEmailRequest(BaseModel):
receipt_id: Optional[int] = Field(None, description="付款凭证ID")
email: EmailStr = Field(..., description="邮箱地址")
subject: Optional[str] = Field(None, description="邮件主题")
body: str = Field(..., description="文案内容")
file_urls: Optional[List[str]] = Field(None, description="附件URL列表")
file_url: Optional[Union[str, List[str]]] = Field(None, description="附件URL或列表(兼容前端传参)")
status: Optional[str] = Field(None, description="开票状态标记: success|invoiced|rejected|refunded")
class SendEmailBody(BaseModel):
data: SendEmailRequest
class SendEmailResponse(BaseModel):
status: str
log_id: Optional[int] = None
error: Optional[str] = None
class EmailSendLogOut(BaseModel):
id: int
email: str
subject: Optional[str]
body_summary: Optional[str]
file_name: Optional[str]
file_url: Optional[str]
status: str
class SendEmailBody(BaseModel):
data: SendEmailRequest