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

namespace Topsdk.Top.Ability372.Request;

public class TaobaoTbkShopRecommendGetRequest : AbstractTopApiRequest
{

    /*
        返回数量，默认20，最大值40
            */
    private long? count;


    /*
        需返回的字段列表
            */
    private string? fields;


    /*
        链接形式：1：PC，2：无线，默认：１
            */
    private long? platform;


    /*
        卖家Id
            */
    private long? userId;


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

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

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

    [JsonPropertyName("user_id")]
    public long? UserId
    {
        get => userId;
        set => this.userId = value;
    }



    public override IDictionary<string, string> ToRequestParam()
    {
        IDictionary<string, string> requestParam = new Dictionary<string, string>();
        if(this.count != null)
        {
            requestParam.Add("count",TopUtils.ConvertBasicType(this.count));
        }
        if(this.fields != null)
        {
            requestParam.Add("fields",TopUtils.ConvertBasicType(this.fields));
        }
        if(this.platform != null)
        {
            requestParam.Add("platform",TopUtils.ConvertBasicType(this.platform));
        }
        if(this.userId != null)
        {
            requestParam.Add("user_id",TopUtils.ConvertBasicType(this.userId));
        }
        return requestParam;
    }

    public override IDictionary<string, TopFileItem> ToFileParam()
    {
        IDictionary<string, TopFileItem> fileParam = new Dictionary<string, TopFileItem>();
        return fileParam;
    }

    public override string GetApiCode()
    {
        return "taobao.tbk.shop.recommend.get";
    }

}

