using FreeSql.DataAnnotations;
using System;

namespace SiNan.Model.Db
{

    [Table(Name = "ordercost", DisableSyncStructure = true)]
    public partial class OrderCost
    {

        [Column(StringLength = 50, IsPrimary = true, IsNullable = false)]
        public string OrderId { get; set; }

        /// <summary>
        /// 平台扣点金额
        /// </summary>
        [Column(DbType = "decimal(20,2)")]
        public decimal PlatformCommissionAmount { get; set; } = 0.00M;

        /// <summary>
        /// 平台扣点百分比
        /// </summary>
        [Column(DbType = "decimal(20,5)")]
        public decimal PlatformCommissionRatio { get; set; } = 0.05M;

        /// <summary>
        /// 刷单佣金
        /// </summary>
        [Column(DbType = "decimal(20,2)")]
        public decimal SDCommissionAmount { get; set; } = 0.00M;

        /// <summary>
        /// 刷单号费
        /// </summary>
        [Column(DbType = "decimal(20,2)")]
        public decimal SDOrderAmount { get; set; } = 0.00M;

        /// <summary>
        /// 优惠金额
        /// </summary>
        [Column(DbType = "decimal(20,2)")]
        public decimal PreferentialAmount { get; set; } = 0.00M;

        /// <summary>
        ///  利润
        /// </summary>
        [Column(DbType = "decimal(20,2)")]
        public decimal Profit { get; set; } = 0.00M;

        /// <summary>
        /// 采购金额
        /// </summary>
        [Column(DbType = "decimal(20,2)")]
        public decimal PurchaseAmount { get; set; } = 0.00M;

        /// <summary>
        /// 发货快递费
        /// </summary>
        [Column(DbType = "decimal(20,2)")]
        public decimal DeliveryExpressFreight { get; set; } = 0.00M;

        /// <summary>
		/// 是否手动编辑过成本
		/// </summary>
        public bool IsManualEdited { get; set; } = false;

        [Column(DbType = "datetime")]
        public DateTime? CreateTime { get; set; }

        /// <summary>
        /// 退款金额
        /// </summary>
        [Column(DbType = "decimal(20,2)")]
        public decimal RefundAmount { get; set; } = 0.00M;

        /// <summary>
        /// 退款采购成本
        /// </summary>
        [Column(DbType = "decimal(20,2)")]
        public decimal RefundPurchaseAmount { get; set; } = 0.0M;

        /// <summary>
        /// 所有服务单的售后成本(不含退款采购成本)
        /// </summary>
        [Column(DbType = "decimal(20,2)")]
        public decimal AfterTotalCost { get; set; } = 0.0M;
    }

}