package com.cool.store.entity.order;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "zxjp_store_order")
public class StoreOrderDO {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(name = "order_no")
    private String orderNo;

    @Column(name = "shop_id")
    private Long shopId;

    @Column(name = "line_id")
    private Long lineId;

    @Column(name = "partner_name")
    private String partnerName;

    @Column(name = "partner_mobile")
    private String partnerMobile;

    @Column(name = "investment_manager")
    private String investmentManager;

    @Column(name = "store_type_id")
    private Long storeTypeId;

    @Column(name = "store_type_code")
    private String storeTypeCode;

    @Column(name = "store_type_name")
    private String storeTypeName;

    @Column(name = "store_type")
    private Integer storeType;

    @Column(name = "brand")
    private String brand;

    @Column(name = "franchise_fee")
    private BigDecimal franchiseFee;

    @Column(name = "original_franchise_fee")
    private BigDecimal originalFranchiseFee;

    @Column(name = "brand_usage_fee")
    private BigDecimal brandUsageFee;

    @Column(name = "original_brand_usage_fee")
    private BigDecimal originalBrandUsageFee;

    @Column(name = "management_fee")
    private BigDecimal managementFee;

    @Column(name = "original_management_fee")
    private BigDecimal originalManagementFee;

    @Column(name = "system_usage_fee")
    private BigDecimal systemUsageFee;

    @Column(name = "original_system_usage_fee")
    private BigDecimal originalSystemUsageFee;

    @Column(name = "contract_deposit")
    private BigDecimal contractDeposit;

    @Column(name = "original_contract_deposit")
    private BigDecimal originalContractDeposit;

    /** 设备保证金快照 */
    @Column(name = "device_deposit")
    private BigDecimal deviceDeposit;

    /** 原设备保证金快照 */
    @Column(name = "original_device_deposit")
    private BigDecimal originalDeviceDeposit;

    @Column(name = "design_fee")
    private BigDecimal designFee;

    @Column(name = "original_design_fee")
    private BigDecimal originalDesignFee;

    @Column(name = "first_order_fee")
    private BigDecimal firstOrderFee;

    @Column(name = "store_fixed_amount")
    private BigDecimal storeFixedAmount;

    @Column(name = "original_store_fixed_amount")
    private BigDecimal originalStoreFixedAmount;

    @Column(name = "option_amount")
    private BigDecimal optionAmount;

    @Column(name = "original_option_amount")
    private BigDecimal originalOptionAmount;

    @Column(name = "total_amount")
    private BigDecimal totalAmount;

    @Column(name = "original_total_amount")
    private BigDecimal originalTotalAmount;

    @Column(name = "paid_amount")
    private BigDecimal paidAmount;

    @Column(name = "unpaid_amount")
    private BigDecimal unpaidAmount;

    @Column(name = "status")
    private Integer status;

    @Column(name = "create_time")
    private Date createTime;

    @Column(name = "pay_time")
    private Date payTime;

    @Column(name = "update_time")
    private Date updateTime;
}
