mirror of
https://git.oceanpay.cc/danial/kami_apple_exchage.git
synced 2025-12-18 22:29:09 +00:00
- 新增 CODEBUDDY.md、GEMINI.md、GEMINI_CN.md 等项目文档 - 更新 Dockerfile 和其他配置文件 - 优化部分代码结构,如 orders.py、tasks.py 等 - 新增 .dockerignore 文件
59 lines
1.7 KiB
Python
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
|