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

namespace Topsdk.Top.Ability414.Domain;

public class TaobaoTbkRelationRefundResult
{

    /*
        淘宝订单编号
    */
    private long? tbTradeParentId;


    /*
        会员关系id
    */
    private long? specialId;


    /*
        渠道关系id
    */
    private long? relationId;


    /*
        第三方推广者memberid
    */
    private long? tk3rdPubId;


    /*
        推广者memberid
    */
    private long? tkPubId;


    /*
        第三方应该返还的补贴
    */
    private string? tkSubsidyFeeRefund3rdPub;


    /*
        第三方应该返还的佣金
    */
    private string? tkCommissionFeeRefund3rdPub;


    /*
        第二方应该返还的补贴(不包括技术服务费)
    */
    private string? tkSubsidyFeeRefundPub;


    /*
        第二方应该返还的佣金(不包括技术服务费)
    */
    private string? tkCommissionFeeRefundPub;


    /*
        维权完成时间
    */
    private DateTime? tkRefundSuitTime;


    /*
        维权创建时间
    */
    private DateTime? tkRefundTime;


    /*
        订单结算时间
    */
    private DateTime? earningTime;


    /*
        订单创建时间
    */
    private DateTime? tbTradeCreateTime;


    /*
        维权创建(淘客结算回执) 4,维权成功(淘客结算回执) 2,维权失败(淘客结算回执) 3,发生多次维权，待处理      11,从淘客处补扣（钱已结给淘客） 等待扣款 12,从淘客处补扣（钱已结给淘客） 扣款成功 13,从卖家处补扣（钱已结给卖家） 等待扣款 14,从卖家处补扣（钱已结给卖家） 扣款成功 15
    */
    private long? refundStatus;


    /*
        宝贝标题
    */
    private string? tbAuctionTitle;


    /*
        淘宝子订单编号
    */
    private long? tbTradeId;


    /*
        维权金额
    */
    private string? refundFee;


    /*
        结算金额
    */
    private string? tbTradeFinishPrice;


    /*
        应返商家金额(二方)
    */
    private string? tkPubShowReturnFee;


    /*
        应返商家金额(三方)
    */
    private string? tk3rdPubShowReturnFee;


    /*
        1 表示2方，2表示3方
    */
    private long? refundType;


    /*
        （口碑订单）口碑父订单号
    */
    private string? alscPid;


    /*
        （口碑订单）口碑子订单号
    */
    private string? alscId;


    /*
        更新时间
    */
    private DateTime? modifiedTime;



    [JsonPropertyName("tb_trade_parent_id")]
    public long? TbTradeParentId
    {
        get => tbTradeParentId;
        set => this.tbTradeParentId = value;
    }

    [JsonPropertyName("special_id")]
    public long? SpecialId
    {
        get => specialId;
        set => this.specialId = value;
    }

    [JsonPropertyName("relation_id")]
    public long? RelationId
    {
        get => relationId;
        set => this.relationId = value;
    }

    [JsonPropertyName("tk3rd_pub_id")]
    public long? Tk3rdPubId
    {
        get => tk3rdPubId;
        set => this.tk3rdPubId = value;
    }

    [JsonPropertyName("tk_pub_id")]
    public long? TkPubId
    {
        get => tkPubId;
        set => this.tkPubId = value;
    }

    [JsonPropertyName("tk_subsidy_fee_refund3rd_pub")]
    public string? TkSubsidyFeeRefund3rdPub
    {
        get => tkSubsidyFeeRefund3rdPub;
        set => this.tkSubsidyFeeRefund3rdPub = value;
    }

    [JsonPropertyName("tk_commission_fee_refund3rd_pub")]
    public string? TkCommissionFeeRefund3rdPub
    {
        get => tkCommissionFeeRefund3rdPub;
        set => this.tkCommissionFeeRefund3rdPub = value;
    }

    [JsonPropertyName("tk_subsidy_fee_refund_pub")]
    public string? TkSubsidyFeeRefundPub
    {
        get => tkSubsidyFeeRefundPub;
        set => this.tkSubsidyFeeRefundPub = value;
    }

    [JsonPropertyName("tk_commission_fee_refund_pub")]
    public string? TkCommissionFeeRefundPub
    {
        get => tkCommissionFeeRefundPub;
        set => this.tkCommissionFeeRefundPub = value;
    }

    [JsonPropertyName("tk_refund_suit_time")]
    public DateTime? TkRefundSuitTime
    {
        get => tkRefundSuitTime;
        set => this.tkRefundSuitTime = value;
    }

    [JsonPropertyName("tk_refund_time")]
    public DateTime? TkRefundTime
    {
        get => tkRefundTime;
        set => this.tkRefundTime = value;
    }

    [JsonPropertyName("earning_time")]
    public DateTime? EarningTime
    {
        get => earningTime;
        set => this.earningTime = value;
    }

    [JsonPropertyName("tb_trade_create_time")]
    public DateTime? TbTradeCreateTime
    {
        get => tbTradeCreateTime;
        set => this.tbTradeCreateTime = value;
    }

    [JsonPropertyName("refund_status")]
    public long? RefundStatus
    {
        get => refundStatus;
        set => this.refundStatus = value;
    }

    [JsonPropertyName("tb_auction_title")]
    public string? TbAuctionTitle
    {
        get => tbAuctionTitle;
        set => this.tbAuctionTitle = value;
    }

    [JsonPropertyName("tb_trade_id")]
    public long? TbTradeId
    {
        get => tbTradeId;
        set => this.tbTradeId = value;
    }

    [JsonPropertyName("refund_fee")]
    public string? RefundFee
    {
        get => refundFee;
        set => this.refundFee = value;
    }

    [JsonPropertyName("tb_trade_finish_price")]
    public string? TbTradeFinishPrice
    {
        get => tbTradeFinishPrice;
        set => this.tbTradeFinishPrice = value;
    }

    [JsonPropertyName("tk_pub_show_return_fee")]
    public string? TkPubShowReturnFee
    {
        get => tkPubShowReturnFee;
        set => this.tkPubShowReturnFee = value;
    }

    [JsonPropertyName("tk3rd_pub_show_return_fee")]
    public string? Tk3rdPubShowReturnFee
    {
        get => tk3rdPubShowReturnFee;
        set => this.tk3rdPubShowReturnFee = value;
    }

    [JsonPropertyName("refund_type")]
    public long? RefundType
    {
        get => refundType;
        set => this.refundType = value;
    }

    [JsonPropertyName("alsc_pid")]
    public string? AlscPid
    {
        get => alscPid;
        set => this.alscPid = value;
    }

    [JsonPropertyName("alsc_id")]
    public string? AlscId
    {
        get => alscId;
        set => this.alscId = value;
    }

    [JsonPropertyName("modified_time")]
    public DateTime? ModifiedTime
    {
        get => modifiedTime;
        set => this.modifiedTime = value;
    }

}

