using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace XYY.Service.Standard.ChannelApi.JianAiMaoYi
{
    /// <summary>
    /// 权限验证信息
    /// </summary>
    public class Verify
    {
        /// <summary>
        /// 
        /// </summary>
        public string Clientid { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string Token { get; set; }
    }
    #region 下单入参
    public class Recipient
    {
        /// <summary>
        /// 必填
        /// </summary>
        public string Name { get; set; }
        /// <summary>
        /// 必填
        /// </summary>
        public string Company { get; set; }
        /// <summary>
        /// 必填
        /// </summary>
        public string Addres1 { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string Addres2 { get; set; }
        /// <summary>
        /// 必填
        /// </summary>
        public string Tel { get; set; }
        /// <summary>
        /// 必填
        /// </summary>
        public string Mobile { get; set; }
        /// <summary>
        /// 必填
        /// </summary>
        public string Province { get; set; }
        /// <summary>
        /// 必填
        /// </summary>
        public string City { get; set; }
        /// <summary>
        /// 必填
        /// </summary>
        public string Post { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string Email { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string Fax { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string Contaxno { get; set; }
    }
    /// <summary>
    /// 发件人信息 全部留空
    /// </summary>
    public class Sender
    {
        /// <summary>
        /// 
        /// </summary>
        public string Name { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string Company { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string Addres { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string Mobile { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string Tel { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string Post { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string Province { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string City { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string Email { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string Fax { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string Country { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string Contaxno { get; set; }
    }

    public class VolumesItem
    {
        /// <summary>
        /// 
        /// </summary>
        public string Weight { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string Number { get; set; } = "1";
        /// <summary>
        /// 
        /// </summary>
        public string Length { get; set; } = "";
        /// <summary>
        /// 
        /// </summary>
        public string Width { get; set; } = "";
        /// <summary>
        /// 
        /// </summary>
        public string Height { get; set; } = "";
    }

    public class OrderItemsItem
    {
        /// <summary>
        /// 必填
        /// </summary>
        public string Cnname { get; set; }
        /// <summary>
        /// 必填
        /// </summary>
        public string Enname { get; set; }
        /// <summary>
        /// 必填
        /// </summary>
        public string Price { get; set; }
        /// <summary>
        /// 必填
        /// </summary>
        public string Weight { get; set; }
        /// <summary>
        /// 必填
        /// </summary>
        public string Num { get; set; }
        /// <summary>
        /// 必填 币种
        /// </summary>
        public string Money { get; set; }
        /// <summary>
        /// 单位
        /// </summary>
        public string Unit { get; set; } = "PCS";
        /// <summary>
        /// 
        /// </summary>
        public string ProductLink { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string PackageNo { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string Texture { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string Application { get; set; }
        /// <summary>
        /// 必填
        /// </summary>
        public string CustomsCode { get; set; }
        /// <summary>
        /// 必填
        /// </summary>
        public string PeihuoInfo { get; set; }
    }

    public class TaxPayData
    {
        /// <summary>
        /// 
        /// </summary>
        public string TaxPayType { get; set; } = "CC";
        /// <summary>
        /// 
        /// </summary>
        public string TaxPayPostCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string TaxPayCountryCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string TaxPayAccountNumber { get; set; }
    }

    public class FeePayData
    {
        /// <summary>
        /// 
        /// </summary>
        public string FeePayType { get; set; } = "PP";
        /// <summary>
        /// 
        /// </summary>
        public string FeePayCountryCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string FeePayAccountNumber { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string FeePayPostCode { get; set; }
    }

    public class OrderDatasItem
    {
        public OrderDatasItem() {
            Volumes = new List<VolumesItem>();
            OrderItems = new List<OrderItemsItem>();
        }
        /// <summary>
        /// 订单号，xyy单号  字母替换为A
        /// </summary>
        public string CustomerNumber { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string TrackNumber { get; set; }
        /// <summary>
        /// 渠道代码
        /// DZ691IPPAK   限重2.5kg
        /// DZ691IPWPX
        /// </summary>
        public string ChannelCode { get; set; }
        /// <summary>
        /// 必填 收件人国家
        /// </summary>
        public string CountryCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string HouseCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string PackageType { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string GoodsType { get; set; }
        /// <summary>
        /// 订单总重量
        /// </summary>
        public string TotalWeight { get; set; }
        /// <summary>
        /// 订单总金额
        /// </summary>
        public string TotalValue { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string Number { get; set; } = "1";
        /// <summary>
        /// 
        /// </summary>
        public string Collamt { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string Note { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string Vatnumber { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public Recipient Recipient { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public Sender Sender { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public List<VolumesItem> Volumes { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public List<OrderItemsItem> OrderItems { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public TaxPayData TaxPayData { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public FeePayData FeePayData { get; set; }
    }

    public class DataUploadInput
    {
        public DataUploadInput() { OrderDatas = new List<OrderDatasItem>(); }
        /// <summary>
        /// 
        /// </summary>
        public Verify Verify { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string OrderType { get; set; } = "4";
        /// <summary>
        /// 
        /// </summary>
        public List<OrderDatasItem> OrderDatas { get; set; }
    }
    #endregion
    #region 下单出参
    public class ReturnDatasItem
    {
        /// <summary>
        /// 
        /// </summary>
        public string statusCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string corpBillid { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string trackNumber { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string customerNumber { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string childTrackingNumber { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string shipmentid { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string labelBillid { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string ifPianYuan { get; set; }
        /// <summary>
        /// 创建订单成功！
        /// </summary>
        public string message { get; set; }
    }

    public class DataUploadResult
    {
        /// <summary>
        /// 
        /// </summary>
        public string statusCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public List<ReturnDatasItem> returnDatas { get; set; }
    }
    #endregion
    #region 获取面单入参
    public class CorpBillidDatasItem
    {
        /// <summary>
        /// 
        /// </summary>
        public string CorpBillid { get; set; }
    }

    public class DrawPdfLabelInput
    {
        public DrawPdfLabelInput() { CorpBillidDatas = new List<CorpBillidDatasItem>(); }
        /// <summary>
        /// 
        /// </summary>
        public Verify Verify { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public List<CorpBillidDatasItem> CorpBillidDatas { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string OrderType { get; set; } = "2";
        /// <summary>
        /// 
        /// </summary>
        public string PrintPaper { get; set; } = "label";
        /// <summary>
        /// 
        /// </summary>
        public string PrintContent { get; set; } = "1";
    }
    #endregion
    #region 获取面单出参
    public class DrawPdfLabelResult
    {
        /// <summary>
        /// 
        /// </summary>
        public string statusCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string url { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public List<string> perUrl { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string notExistsCorpbillid { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string message { get; set; }
    }
    #endregion
}
