package com.ruoyi.system.domain;

import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.persistence.GeneratedValue;
import java.math.BigDecimal;
import java.util.Date;

/**
 * food对象 pos_food
 *
 * @author ruoyi
 * @date 2023-05-21
 */
@Data
@TableName(value = "pos_food")
@EqualsAndHashCode(callSuper = false)
public class PosFood
{
    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.AUTO)
    @GeneratedValue
    /** id */
    @JsonProperty   //可查询，写入忽略
    private Long id;

    /** 分类id */
    @Excel(name = "分类id")
    private Long flId;

    /** 门店id */
    @Excel(name = "门店id")
    private Long mdid;

    /** 商品名 */
    @Excel(name = "商品名")
    private String name;

    /** 商品配图 */
    @Excel(name = "商品配图")
    private String image;

    /** 商品价格 */
    @Excel(name = "商品价格")
    private BigDecimal price;

    /** 商品介绍 */
    @Excel(name = "商品介绍")
    private String introduce;

    /** 是否推荐：0否，1是 */
    @Excel(name = "是否推荐：0否，1是")
    private Long recommend;

    /** 排序 */
    @Excel(name = "排序")
    private Long sort;

    /** 语言 */
    @Excel(name = "语言")
    private String language;

    /** 商品属性 */
    @Excel(name = "商品属性")
    private String foodSku;
    /** 商品上架 0 上架 1 下架 */
    @Excel(name = "商品上架")
    private String stackingUp;

    /** 商品审核 */
    @Excel(name = "商品审核")
    private String toExamine;

    //@JsonIgnore   //可读写，查询忽略
    private transient JSONArray sku;

    /** 商品规格列表（不入库；保存时写 food_spec_relation，查询时回带结构） */
    private transient java.util.List<FoodSpecs> foodSpecs;

    /** 创建时间 */
    @TableField(fill = FieldFill.INSERT)
    private Date createdAt;

    public Date getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }
}
