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_option_snapshot")
public class StoreOrderOptionSnapshotDO {

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

    @Column(name = "order_id")
    private Long orderId;

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

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

    @Column(name = "option_id")
    private Long optionId;

    @Column(name = "category_code")
    private String categoryCode;

    @Column(name = "item_code")
    private String itemCode;

    @Column(name = "option_code")
    private String optionCode;

    @Column(name = "option_name")
    private String optionName;

    @Column(name = "option_price")
    private BigDecimal optionPrice;

    @Column(name = "original_option_price")
    private BigDecimal originalOptionPrice;

    @Column(name = "option_remark")
    private String optionRemark;

    @Column(name = "image_url")
    private String imageUrl;

    @Column(name = "video_url")
    private String videoUrl;

    @Column(name = "quantity")
    private BigDecimal quantity;

    @Column(name = "amount")
    private BigDecimal amount;

    @Column(name = "original_amount")
    private BigDecimal originalAmount;

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

    @Column(name = "option_unit")
    private String optionUnit;

    @Column(name = "expense_type_code")
    private String expenseTypeCode;
}
