package com.erp.tenant.entity.order;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 订单明细实体
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("order_items")
public class OrderItem implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.AUTO)
    private Long id;

    @TableField("order_id")
    private Long orderId;

    @TableField("tenant_id")
    private Long tenantId;

    // ==================== SKU信息 ====================
    /** 平台SKU编码 */
    @TableField("platform_sku")
    private String platformSku;

    /** ERP SKU ID */
    @TableField("erp_sku_id")
    private Long erpSkuId;

    /** ERP SKU编码 */
    @TableField("erp_sku")
    private String erpSku;

    /** 商品名称 */
    @TableField("goods_name")
    private String goodsName;

    /** SKU规格（JSON） */
    private String spec;

    // ==================== 价格和数量 ====================
    /** 单价 */
    private BigDecimal price;

    /** 数量 */
    private Integer quantity;

    /** 小计金额 */
    private BigDecimal subtotal;

    // ==================== 匹配状态 ====================
    /** 匹配状态：0-未匹配，1-已匹配 */
    @TableField("match_status")
    private Integer matchStatus;

    // ==================== 时间 ====================
    @TableField(fill = FieldFill.INSERT)
    private java.time.LocalDateTime createdAt;

    @TableField(fill = FieldFill.INSERT_UPDATE)
    private java.time.LocalDateTime updatedAt;
}
