36 lines
1.5 KiB
Python
36 lines
1.5 KiB
Python
from pydantic import BaseModel, Field
|
|
from typing import Optional, List
|
|
from datetime import datetime
|
|
|
|
|
|
class ActivityModel(BaseModel):
|
|
title: str = Field(..., description="活动标题")
|
|
content: str = Field(..., description="活动内容")
|
|
start_time: Optional[str] = Field(None, description="活动开始时间,格式: YYYY-MM-DD HH:MM:SS")
|
|
end_time: Optional[str] = Field(None, description="活动结束时间,格式: YYYY-MM-DD HH:MM:SS")
|
|
images: Optional[List[str]] = Field(default_factory=list, description="图片路径列表")
|
|
location: Optional[str] = Field(None, description="活动地点")
|
|
organizer: Optional[str] = Field(None, description="主办方")
|
|
|
|
class Config:
|
|
json_schema_extra = {
|
|
"example": {
|
|
"title": "周末优惠活动",
|
|
"content": "全场8折优惠",
|
|
"start_time": "2026-03-10 10:00:00",
|
|
"end_time": "2026-03-15 22:00:00",
|
|
"images": ["/tmp/promotion.jpg"],
|
|
"location": "线上",
|
|
"organizer": "某某公司"
|
|
}
|
|
}
|
|
|
|
|
|
class TaskStatus(BaseModel):
|
|
task_id: str
|
|
status: str = Field(..., description="任务状态: queued/running/success/failed")
|
|
method: Optional[str] = Field(None, description="使用的方法: pyautogui/qwen_ai")
|
|
error: Optional[str] = Field(None, description="错误信息")
|
|
created_at: datetime = Field(default_factory=datetime.now)
|
|
updated_at: datetime = Field(default_factory=datetime.now)
|