# -*- coding: utf-8 -*- from pydantic import BaseModel, Field from typing import Optional, Dict, Any # 定义数据模型 class AccountCreate(BaseModel): account_id: str = Field(..., min_length=1, max_length=128, description="账号ID") password: str = Field(..., min_length=1, max_length=128, description="密码") country: str = Field(..., min_length=1, max_length=128, description="账号所在国家") app_name: str = Field(..., min_length=1, max_length=128, description="应用名称") class AccountUpdate(BaseModel): account_id: str = Field(..., description="账号ID") status: int = Field(..., ge=1, le=2, description="状态:1-空闲,2-使用中") class AccountDelete(BaseModel): account_id: str = Field(..., min_length=1, max_length=128, description="账号ID") app_name: str = Field(..., min_length=1, max_length=128, description="应用名称") class CrawlerTask(BaseModel): country: str = Field(..., min_length=1, max_length=128, description="账号所在国家") app_name: str = Field(..., min_length=1, max_length=128, description="应用名称") goods_id: str = Field(..., min_length=1, max_length=128, description="商品ID") store_id: str = Field(..., min_length=1, max_length=128, description="店铺ID") class DataReceive(BaseModel): task_id: str = Field(..., description="任务ID") app_name: str = Field(..., description="应用名称") store_id: str = Field(..., description="店铺ID") goods_id: str = Field(..., description="商品ID") country: str = Field(..., description="国家") goods_info: Dict[str, Any] = Field(..., description="商品信息")