feat: 提交热榜评论分析工具 MVP 基线
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
from datetime import datetime
|
||||
from typing import Literal
|
||||
|
||||
from pydantic import AliasChoices, BaseModel, ConfigDict, Field
|
||||
|
||||
|
||||
class CreateTaskRequest(BaseModel):
|
||||
platform: Literal["xiaohongshu", "douyin"]
|
||||
hotspot_limit: int = Field(default=5, ge=1, le=10)
|
||||
item_limit_per_hotspot: int = Field(
|
||||
default=5,
|
||||
ge=1,
|
||||
le=10,
|
||||
validation_alias=AliasChoices("item_limit_per_hotspot", "item_limit"),
|
||||
)
|
||||
comment_limit_per_item: int = Field(default=50, ge=10, le=100)
|
||||
|
||||
|
||||
class TaskResponse(BaseModel):
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
task_id: str = Field(validation_alias="id", serialization_alias="task_id")
|
||||
platform: str
|
||||
status: str
|
||||
analysis_status: str
|
||||
analysis_success_rate: float
|
||||
hotspot_limit: int
|
||||
item_limit_per_hotspot: int
|
||||
comment_limit_per_item: int
|
||||
total_items_count: int
|
||||
processed_items_count: int
|
||||
successful_items_count: int
|
||||
failed_items_count: int
|
||||
error_message: str | None
|
||||
created_at: datetime
|
||||
|
||||
|
||||
class CreateTaskResponse(BaseModel):
|
||||
task_id: str
|
||||
status: str
|
||||
Reference in New Issue
Block a user