Files
kami_apple_exchage/backend/app/schemas/order.py
danial 5c486e34d3 docs(项目): 添加项目文档并进行代码调整
- 新增 CODEBUDDY.md、GEMINI.md、GEMINI_CN.md 等项目文档
- 更新 Dockerfile 和其他配置文件
- 优化部分代码结构,如 orders.py、tasks.py 等
- 新增 .dockerignore 文件
2025-09-12 19:38:24 +08:00

59 lines
1.7 KiB
Python

"""
订单相关的Pydantic模型
"""
from pydantic import BaseModel, Field, ConfigDict
from app.models.orders import OrderResultStatus
from app.schemas.link import LinkResponse
from app.schemas.gift_card import GiftCardInfoResponse
from app.schemas.user_data import UserInfoResponse
class OrderStatsResponse(BaseModel):
"""订单统计响应"""
total: int
pending: int
processing: int
success: int
failed: int
last_update: str
class OrderDetailResponse(BaseModel):
"""订单详情响应 - 与数据库结构完全一致"""
id: str = Field(..., description="订单ID")
status: OrderResultStatus = Field(..., description="订单状态")
created_at: str = Field(..., description="创建时间")
updated_at: str = Field(..., description="更新时间")
final_order_url: str | None = Field(None, description="最终订单URL")
failure_reason: str | None = Field(None, description="失败原因")
user_data_id: str = Field(..., description="用户数据ID")
links_id: str = Field(..., description="链接ID")
# 关联关系
user_data: UserInfoResponse = Field(description="用户数据")
links: LinkResponse = Field(description="链接信息")
gift_cards: list[GiftCardInfoResponse] = Field(
default_factory=list, description="礼品卡列表"
)
model_config = ConfigDict(from_attributes=True)
class UploadUrlRequest(BaseModel):
"""上传URL请求"""
url: str = Field(..., min_length=1, description="上传URL")
thread_id: str | None = Field(None, description="线程ID")
class UploadUrlResponse(BaseModel):
"""上传URL响应"""
success: bool
message: str
upload_config_id: str
url: str