using dodohold.core;
using System.Runtime.CompilerServices;
using System.Text.Json.Serialization;

namespace molilian.core
{
    [Table("jd_order_details")]
    public class JdOrderDetailsDTO
    {
        [Key]
        public int id { get; set; }
        public int accountId { get; set; }
        public string accountName { get; set; }
        public decimal actualCommission { get; set; } = 0;
        public decimal actualCosPrice { get; set; } = 0;
        public decimal actualFee { get; set; } = 0;
        public long adId { get; set; } = 0;
        public string adName { get; set; } = string.Empty;
        public string balanceExt { get; set; } = string.Empty;
        public long channelId { get; set; } = 0;
        public decimal commissionRate { get; set; } = 0;
        public long cpActId { get; set; } = 0;
        public string cpActName { get; set; } = string.Empty;
        public decimal estimateCommission { get; set; } = 0;
        public decimal estimateCosPrice { get; set; } = 0;
        public decimal estimateFee { get; set; } = 0;
        public string exchangeRateAndUnit { get; set; } = string.Empty;
        public decimal finalRate { get; set; } = 0;

        [JsonConverter(typeof(DateTimeConverterUsingDateTimeParse))]
        public DateTime finishTime { get; set; } = DateTime.MinValue;
        public string jingfenValidCodeMsg { get; set; } = string.Empty;
        public long orderId { get; set; } = 0;
        public int orderStatus { get; set; } = 0;

        [JsonConverter(typeof(DateTimeConverterUsingDateTimeParse))]
        public DateTime orderTime { get; set; } = DateTime.MinValue;
        public long parentId { get; set; } = 0;
        public int payMonth { get; set; } = 0;
        public decimal payPrice { get; set; } = 0;
        public string pid { get; set; } = string.Empty;
        public int plus { get; set; } = 0;
        public decimal price { get; set; } = 0;
        public decimal proPriceAmount { get; set; }
        public string rateMsg { get; set; } = string.Empty;
        public int sellingFlag { get; set; } = 0;
        public long siteId { get; set; } = 0;
        public int skuFrozenNum { get; set; } = 0;
        public long skuId { get; set; } = 0;
        public string skuImgUrl { get; set; } = string.Empty;
        public string skuName { get; set; } = string.Empty;
        public int skuNum { get; set; } = 0;
        public int skuReturnNum { get; set; } = 0;
        public string skuShopName { get; set; } = string.Empty;
        public long spId { get; set; } = 0;
        public string spName { get; set; } = string.Empty;
        public int traceType { get; set; } = 0;
        public long unionId { get; set; } = 0;
        public int unionRole { get; set; } = 0;
        public string unionTag { get; set; } = string.Empty;
        public string validCodeMsg { get; set; } = string.Empty;
        public decimal SettleAmount { get; set; } = 0;
        public DateTime settle_time { get; set; } = DateTime.MinValue;

        [IgnoreUpdate]
        public DateTime create_time { get; set; } = DateTime.Now;
        public DateTime last_time { get; set; } = DateTime.Now;
    }

}
