package com.ruoyi.tjfx.entity;

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

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 分析数据实体类
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("zs_tjfx_analysis_data")
public class AnalysisData {

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

    /**
     * 日期
     */
    @TableField("date")
    private LocalDate date;

    /**
     * 店铺名称
     */
    @TableField("shop_name")
    private String shopName;

    /**
     * 商品编号
     */
    @TableField("product_code")
    private String productCode;

    /**
     * 商品名称
     */
    @TableField("product_name")
    private String productName;

    /**
     * 客户名称
     */
    @TableField("customer_name")
    private String customerName;

    /**
     * 分类
     */
    @TableField("category")
    private String category;

    /**
     * 分类规格JSON
     */
    @TableField("category_specs")
    private String categorySpecs;

    /**
     * 数量
     */
    @TableField("quantity")
    private Integer quantity;

    /**
     * 合计金额
     */
    @TableField("total_amount")
    private BigDecimal totalAmount;

    /**
     * 数据来源
     */
    @TableField("source")
    private String source;

    /**
     * 状态：1-正常，2-客户名称未匹配，3-分类规格未匹配
     */
    @TableField("status")
    private Integer status;

    /**
     * 出库类型
     */
    @TableField("delivery_type")
    private String deliveryType;

    /**
     * 目的地
     */
    @TableField("destination")
    private String destination;

    /**
     * 备注
     */
    @TableField("remarks")
    private String remarks;

    /**
     * 订单编号
     */
    @TableField("order_number")
    private String orderNumber;

    /**
     * 行号
     */
    @TableField("row_number")
    private Integer rowNumber;

    /**
     * 品牌
     */
    @TableField("brand")
    private String brand;

    /**
     * 创建时间
     */
    @TableField(value = "created_at", fill = FieldFill.INSERT)
    private LocalDateTime createdAt;

    /**
     * 更新时间
     */
    @TableField(value = "updated_at", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updatedAt;
}
