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

namespace Topsdk.Top.Ability414.Domain;

public class TaobaoTbkOrderRefundGetPublisherRefundOrderQueryOption
{

    /*
        跳转类型，当向前或者向后翻页必须提供,-1: 向前翻页,1：向后翻页
    */
    private long? jumpType;


    /*
        1全部订单
    */
    private long? orderScene;


    /*
        单页订单量，1-100，上限100条
    */
    private long? pageSize;


    /*
        1-维权发起时间，2-订单结算时间（正向订单），3-维权完成时间，4-订单创建时间，5-订单更新时间 （注意：入参startTime小于2022年12月20日0点时，query_type只能为1、2、3；入参startTime大于等于2022年12月20日0点时，query_type可以为1、2、3、4、5)
    */
    private long? queryType;


    /*
        查询页数
    */
    private long? pageNo;


    /*
        位点，除第一页之外，都需要传递；前端原样返回。
    */
    private string? positionIndex;


    /*
        开始时间
    */
    private string? startTime;


    /*
        1 表示2方，2表示3方，4表示不限
    */
    private long? memberType;


    /*
        结束时间
    */
    private string? endTime;



    [JsonPropertyName("jump_type")]
    public long? JumpType
    {
        get => jumpType;
        set => this.jumpType = value;
    }

    [JsonPropertyName("order_scene")]
    public long? OrderScene
    {
        get => orderScene;
        set => this.orderScene = value;
    }

    [JsonPropertyName("page_size")]
    public long? PageSize
    {
        get => pageSize;
        set => this.pageSize = value;
    }

    [JsonPropertyName("query_type")]
    public long? QueryType
    {
        get => queryType;
        set => this.queryType = value;
    }

    [JsonPropertyName("page_no")]
    public long? PageNo
    {
        get => pageNo;
        set => this.pageNo = value;
    }

    [JsonPropertyName("position_index")]
    public string? PositionIndex
    {
        get => positionIndex;
        set => this.positionIndex = value;
    }

    [JsonPropertyName("start_time")]
    public string? StartTime
    {
        get => startTime;
        set => this.startTime = value;
    }

    [JsonPropertyName("member_type")]
    public long? MemberType
    {
        get => memberType;
        set => this.memberType = value;
    }

    [JsonPropertyName("end_time")]
    public string? EndTime
    {
        get => endTime;
        set => this.endTime = value;
    }

}

