using System.Text.Json.Serialization;
using System.Collections.Generic;
using Topsdk.Util;

namespace Topsdk.Top.Ability371.Domain;

public class TaobaoTbkItemInfoUpgradeGetBasicMapData
{

    /*
        商品标题
    */
    private string? title;


    /*
        商品主图
    */
    private string? pictUrl;


    /*
        商品小图列表
    */
    private IList<string>? smallImages;


    /*
        一级类目名称
    */
    private string? levelOneCategoryName;


    /*
        叶子类目名称
    */
    private string? categoryName;


    /*
        商品所在地
    */
    private string? provcity;


    /*
        商品链接
    */
    private string? itemUrl;


    /*
        卖家类型，0表示集市，1表示商城，3表示特价版
    */
    private long? userType;


    /*
        卖家等级(字段等级SA)
    */
    private long? ratesum;


    /*
        店铺dsr 评分(字段等级SA)
    */
    private long? shopDsr;


    /*
        退款率是否低于行业均值(字段等级SA)
    */
    private bool? iRfdRate;


    /*
        好评率是否高于行业均值(字段等级SA)
    */
    private bool? hGoodRate;


    /*
        成交转化是否高于行业均值(字段等级SA)
    */
    private bool? hPayRate30;


    /*
        30天销量；数据统计截止昨日非实时更新
    */
    private long? volume;


    /*
        是否加入消费者保障
    */
    private bool? isPrepay;


    /*
        是否品牌精选，0不是，1是
    */
    private string? superiorBrand;


    /*
        商品库类型，支持多库类型输出，以英文逗号分隔“,”分隔，1:营销商品主推库，2. 内容商品库，如果值为空则不属于1，2这两种商品类型
    */
    private string? materialLibType;


    /*
        pc宝贝详情(字段等级S)
    */
    private string? tmallDescUrl;


    /*
        H5宝贝详情(字段等级S)
    */
    private string? taobaoDescUrl;


    /*
        商品信息-店铺名称
    */
    private string? shopTitle;


    /*
        商品信息-是否包邮
    */
    private bool? freeShipment;


    /*
        商品信息-品牌名称
    */
    private string? brandName;


    /*
        商品信息-商品短标题
    */
    private string? shortTitle;


    /*
        商品信息-商品白底图
    */
    private string? whiteImage;


    /*
        卖家id(字段等级C)
    */
    private long? sellerId;


    /*
        年销量
    */
    private string? annualVol;



    [JsonPropertyName("title")]
    public string? Title
    {
        get => title;
        set => this.title = value;
    }

    [JsonPropertyName("pict_url")]
    public string? PictUrl
    {
        get => pictUrl;
        set => this.pictUrl = value;
    }

    [JsonPropertyName("small_images")]
    public IList<string>? SmallImages
    {
        get => smallImages;
        set => this.smallImages = value;
    }

    [JsonPropertyName("level_one_category_name")]
    public string? LevelOneCategoryName
    {
        get => levelOneCategoryName;
        set => this.levelOneCategoryName = value;
    }

    [JsonPropertyName("category_name")]
    public string? CategoryName
    {
        get => categoryName;
        set => this.categoryName = value;
    }

    [JsonPropertyName("provcity")]
    public string? Provcity
    {
        get => provcity;
        set => this.provcity = value;
    }

    [JsonPropertyName("item_url")]
    public string? ItemUrl
    {
        get => itemUrl;
        set => this.itemUrl = value;
    }

    [JsonPropertyName("user_type")]
    public long? UserType
    {
        get => userType;
        set => this.userType = value;
    }

    [JsonPropertyName("ratesum")]
    public long? Ratesum
    {
        get => ratesum;
        set => this.ratesum = value;
    }

    [JsonPropertyName("shop_dsr")]
    public long? ShopDsr
    {
        get => shopDsr;
        set => this.shopDsr = value;
    }

    [JsonPropertyName("i_rfd_rate")]
    public bool? IRfdRate
    {
        get => iRfdRate;
        set => this.iRfdRate = value;
    }

    [JsonPropertyName("h_good_rate")]
    public bool? HGoodRate
    {
        get => hGoodRate;
        set => this.hGoodRate = value;
    }

    [JsonPropertyName("h_pay_rate30")]
    public bool? HPayRate30
    {
        get => hPayRate30;
        set => this.hPayRate30 = value;
    }

    [JsonPropertyName("volume")]
    public long? Volume
    {
        get => volume;
        set => this.volume = value;
    }

    [JsonPropertyName("is_prepay")]
    public bool? IsPrepay
    {
        get => isPrepay;
        set => this.isPrepay = value;
    }

    [JsonPropertyName("superior_brand")]
    public string? SuperiorBrand
    {
        get => superiorBrand;
        set => this.superiorBrand = value;
    }

    [JsonPropertyName("material_lib_type")]
    public string? MaterialLibType
    {
        get => materialLibType;
        set => this.materialLibType = value;
    }

    [JsonPropertyName("tmall_desc_url")]
    public string? TmallDescUrl
    {
        get => tmallDescUrl;
        set => this.tmallDescUrl = value;
    }

    [JsonPropertyName("taobao_desc_url")]
    public string? TaobaoDescUrl
    {
        get => taobaoDescUrl;
        set => this.taobaoDescUrl = value;
    }

    [JsonPropertyName("shop_title")]
    public string? ShopTitle
    {
        get => shopTitle;
        set => this.shopTitle = value;
    }

    [JsonPropertyName("free_shipment")]
    public bool? FreeShipment
    {
        get => freeShipment;
        set => this.freeShipment = value;
    }

    [JsonPropertyName("brand_name")]
    public string? BrandName
    {
        get => brandName;
        set => this.brandName = value;
    }

    [JsonPropertyName("short_title")]
    public string? ShortTitle
    {
        get => shortTitle;
        set => this.shortTitle = value;
    }

    [JsonPropertyName("white_image")]
    public string? WhiteImage
    {
        get => whiteImage;
        set => this.whiteImage = value;
    }

    [JsonPropertyName("seller_id")]
    public long? SellerId
    {
        get => sellerId;
        set => this.sellerId = value;
    }

    [JsonPropertyName("annual_vol")]
    public string? AnnualVol
    {
        get => annualVol;
        set => this.annualVol = value;
    }

}

