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

namespace Topsdk.Top.Defaultability.Domain;

public class TaobaoTbkDgMaterialOptionalUpgradeMapData
{

    /*
        商品信息-淘宝客新商品id；使用说明参考《淘宝客新商品ID升级》白皮书：https://www.yuque.com/taobaolianmengguanfangxiaoer/zmig94/tfyt0pahmlpzu2ud
    */
    private string? itemId;


    /*
        淘客推广信息
    */
    private TaobaoTbkDgMaterialOptionalUpgradePublishInfo? publishInfo;


    /*
        价格促销信息
    */
    private TaobaoTbkDgMaterialOptionalUpgradePromotionInfoMapData? pricePromotionInfo;


    /*
        商品基础信息
    */
    private TaobaoTbkDgMaterialOptionalUpgradeBasicMapData? itemBasicInfo;


    /*
        天猫榜单信息
    */
    private TaobaoTbkDgMaterialOptionalUpgradeTmallRankInfo? tmallRankInfo;


    /*
        预售信息
    */
    private TaobaoTbkDgMaterialOptionalUpgradePresaleInfo? presaleInfo;


    /*
        商品库范围信息
    */
    private TaobaoTbkDgMaterialOptionalUpgradeScopeInfo? scopeInfo;


    /*
        线报内容
    */
    private TaobaoTbkDgMaterialOptionalUpgradeMgcInfo? mgcInfo;


    /*
        物料评估-匹配分
    */
    private string? matchScore;


    /*
        物料评估-收益分
    */
    private string? commiScore;



    [JsonPropertyName("item_id")]
    public string? ItemId
    {
        get => itemId;
        set => this.itemId = value;
    }

    [JsonPropertyName("publish_info")]
    public TaobaoTbkDgMaterialOptionalUpgradePublishInfo? PublishInfo
    {
        get => publishInfo;
        set => this.publishInfo = value;
    }

    [JsonPropertyName("price_promotion_info")]
    public TaobaoTbkDgMaterialOptionalUpgradePromotionInfoMapData? PricePromotionInfo
    {
        get => pricePromotionInfo;
        set => this.pricePromotionInfo = value;
    }

    [JsonPropertyName("item_basic_info")]
    public TaobaoTbkDgMaterialOptionalUpgradeBasicMapData? ItemBasicInfo
    {
        get => itemBasicInfo;
        set => this.itemBasicInfo = value;
    }

    [JsonPropertyName("tmall_rank_info")]
    public TaobaoTbkDgMaterialOptionalUpgradeTmallRankInfo? TmallRankInfo
    {
        get => tmallRankInfo;
        set => this.tmallRankInfo = value;
    }

    [JsonPropertyName("presale_info")]
    public TaobaoTbkDgMaterialOptionalUpgradePresaleInfo? PresaleInfo
    {
        get => presaleInfo;
        set => this.presaleInfo = value;
    }

    [JsonPropertyName("scope_info")]
    public TaobaoTbkDgMaterialOptionalUpgradeScopeInfo? ScopeInfo
    {
        get => scopeInfo;
        set => this.scopeInfo = value;
    }

    [JsonPropertyName("mgc_info")]
    public TaobaoTbkDgMaterialOptionalUpgradeMgcInfo? MgcInfo
    {
        get => mgcInfo;
        set => this.mgcInfo = value;
    }

    [JsonPropertyName("match_score")]
    public string? MatchScore
    {
        get => matchScore;
        set => this.matchScore = value;
    }

    [JsonPropertyName("commi_score")]
    public string? CommiScore
    {
        get => commiScore;
        set => this.commiScore = value;
    }

}

