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

namespace Topsdk.Top.Defaultability.Domain;

public class TaobaoTbkDgMaterialRecommendPromotionInfoMapData
{

    /*
        商品信息-一口价通常显示为划线价
    */
    private string? reservePrice;


    /*
        促销信息-销售价格，无促销时等于一口价，有促销时为促销价。若属于预售商品，付定金时间内，在线售卖价=预售价
    */
    private string? zkFinalPrice;


    /*
        促销信息-预估到手价(元)。若属于预售商品，付定金时间内，预估到手价价=定金+尾款的预估到手价
    */
    private string? finalPromotionPrice;


    /*
        到手价优惠路径列表
    */
    private IList<TaobaoTbkDgMaterialRecommendFinalPromotionPathMapData>? finalPromotionPathList;


    /*
        预热预估到手价（元）
    */
    private string? futureActivityPromotionPrice;


    /*
        预热到手价优惠路径列表
    */
    private IList<TaobaoTbkDgMaterialRecommendFutureActivityPromotionPathMapData>? futureActivityPromotionPathList;


    /*
        标签信息列表
    */
    private IList<TaobaoTbkDgMaterialRecommendPromotionTagMapData>? promotionTagList;


    /*
        促销信息-预估凑单价（元）。预估凑单叠加优惠后的商品单价
    */
    private string? predictRoundingUpPrice;


    /*
        促销信息-凑单价说明，描述凑单价的实现说明。如 “可凑单”或“需买X件”
    */
    private string? predictRoundingUpPriceDesc;


    /*
        更多活动优惠
    */
    private IList<TaobaoTbkDgMaterialRecommendMorePromotionMapData>? morePromotionList;


    /*
        预估凑单优惠路径
    */
    private IList<TaobaoTbkDgMaterialRecommendPredictRoundingUpPathMapData>? predictRoundingUpPathList;


    /*
        国家补贴
    */
    private TaobaoTbkDgMaterialRecommendGovSubsidyDTO? govSubsidy;



    [JsonPropertyName("reserve_price")]
    public string? ReservePrice
    {
        get => reservePrice;
        set => this.reservePrice = value;
    }

    [JsonPropertyName("zk_final_price")]
    public string? ZkFinalPrice
    {
        get => zkFinalPrice;
        set => this.zkFinalPrice = value;
    }

    [JsonPropertyName("final_promotion_price")]
    public string? FinalPromotionPrice
    {
        get => finalPromotionPrice;
        set => this.finalPromotionPrice = value;
    }

    [JsonPropertyName("final_promotion_path_list")]
    public IList<TaobaoTbkDgMaterialRecommendFinalPromotionPathMapData>? FinalPromotionPathList
    {
        get => finalPromotionPathList;
        set => this.finalPromotionPathList = value;
    }

    [JsonPropertyName("future_activity_promotion_price")]
    public string? FutureActivityPromotionPrice
    {
        get => futureActivityPromotionPrice;
        set => this.futureActivityPromotionPrice = value;
    }

    [JsonPropertyName("future_activity_promotion_path_list")]
    public IList<TaobaoTbkDgMaterialRecommendFutureActivityPromotionPathMapData>? FutureActivityPromotionPathList
    {
        get => futureActivityPromotionPathList;
        set => this.futureActivityPromotionPathList = value;
    }

    [JsonPropertyName("promotion_tag_list")]
    public IList<TaobaoTbkDgMaterialRecommendPromotionTagMapData>? PromotionTagList
    {
        get => promotionTagList;
        set => this.promotionTagList = value;
    }

    [JsonPropertyName("predict_rounding_up_price")]
    public string? PredictRoundingUpPrice
    {
        get => predictRoundingUpPrice;
        set => this.predictRoundingUpPrice = value;
    }

    [JsonPropertyName("predict_rounding_up_price_desc")]
    public string? PredictRoundingUpPriceDesc
    {
        get => predictRoundingUpPriceDesc;
        set => this.predictRoundingUpPriceDesc = value;
    }

    [JsonPropertyName("more_promotion_list")]
    public IList<TaobaoTbkDgMaterialRecommendMorePromotionMapData>? MorePromotionList
    {
        get => morePromotionList;
        set => this.morePromotionList = value;
    }

    [JsonPropertyName("predict_rounding_up_path_list")]
    public IList<TaobaoTbkDgMaterialRecommendPredictRoundingUpPathMapData>? PredictRoundingUpPathList
    {
        get => predictRoundingUpPathList;
        set => this.predictRoundingUpPathList = value;
    }

    [JsonPropertyName("gov_subsidy")]
    public TaobaoTbkDgMaterialRecommendGovSubsidyDTO? GovSubsidy
    {
        get => govSubsidy;
        set => this.govSubsidy = value;
    }

}

