from pydantic import BaseModel, Field, ConfigDict


class DxmEbayProductModel(BaseModel):
    page_no: str = Field(default='', alias='pageNo', description="页码")
    page_size: str = Field(default='', alias='pageSize', description="每页数量")
    shop_id: str = Field(default=-1, alias='shopId', description="店铺ID 全部:-1")
    shop_group_id: str = Field(default='', alias='shopGroupId')
    full_cid: str = Field(default='', alias='fullCid')
    dxm_state: str = Field(default='online', alias='dxmState', description="店小秘在线状态 online/offline")
    dxm_offline_state: str = Field(default='', alias='dxmOfflineState', description="店小秘离线状态")
    search_type: str = Field(default='1', alias='searchType', description="搜索类型(1:标题-3:sku-4:SubSku)")
    search_value: str = Field(default='', alias='searchValue', description="搜索内容")
    sort_name: str = Field(default='', alias='sortName', description="排序字段")
    sort_value: str = Field(default='0', alias='sortValue', description="排序内容")
    sell_ype: str = Field(default='0', alias='sellType', description="售卖形式 全部:0,拍卖:'1'具体参照页面")
    listing_status: str = Field(default='', alias='listingStatus')
    advanced_search: str = Field(default='yes', alias='advancedSearch')
    price_lift: str = Field(default='', alias='priceLift')
    price_right: str = Field(default='', alias='priceRight')
    inventory_lift: str = Field(default='', alias='inventoryLift')
    inventory_right: str = Field(default='', alias='inventoryRight')
    save_lift: str = Field(default='', alias='saveLift')
    save_right: str = Field(default='', alias='saveRight')
    sold_lift: str = Field(default='', alias='soldLift')
    sold_right: str = Field(default='', alias='soldRight')
    time_lift: str = Field(default='', alias='timeLift')
    time_right: str = Field(default='', alias='timeRight')
    hit_count_lift: str = Field(default='', alias='hitCountLift')
    hit_count_right: str = Field(default='', alias='hitCountRight')
    listing_duration: str = Field(default='', alias='listingDuration')
    dispatch_time_max: str = Field(default='', alias='dispatchTimeMax')
    paypal: str = Field(default='', alias='paypal')
    gpsr_manufacturer: str = Field(default='-1', alias='gpsrManufacturer')
    gpsr_responsible_persons: str = Field(default='-1', alias='gpsrResponsiblePersons')
    gpsr_safety: str = Field(default='-1', alias='gpsrSafety')
    gpsr_documents: str = Field(default='-1', alias='gpsrDocuments')
    gpsr_document_status: str = Field(default='-1', alias='gpsrDocumentStatus')
    country: str = Field(default='', alias='country')
    advanced_time: str = Field(default='1', alias='advancedTime')
    source_url: str = Field(default='', alias='sourceUrl')
    product_search_type: str = Field(default='1', alias='productSearchType')
    site: str = Field(default='', alias='site', description="站点(国家代码 例如US )")
    product_category_id: str = Field(default='', alias='productCategoryId')
    store_category_id: str = Field(default='0', alias='storeCategoryId')
    location_name: str = Field(default='', alias='locationName')
    video_sel: str = Field(default='-1', alias='videoSel')
    comment_type: str = Field(default='0', alias='commentType')
    comment_content: str = Field(default='', alias='commentContent')
    vat_percent_type: str = Field(default='', alias='vatPercentType')
    motor_state: str = Field(default='0', alias='motorState')

    model_config = ConfigDict(
        populate_by_name=True,
        title="店小秘ebay在线产品查询模型"
    )
