package com.bonus.canteen.core.cook.domain;

import com.bonus.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import com.bonus.common.core.web.domain.BaseEntity;

import java.util.List;

/**
 * 原料信息对象 cook_material
 * 
 * @author xsheng
 * @date 2025-05-25
 */


@EqualsAndHashCode(callSuper = true)
@Data
@ToString
public class CookMaterial extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 原料id */
    private Long materialId;

    private List<Long> materialTypeIds;

    /** 区域id */
    @ApiModelProperty(value = "区域id")
    private Long areaId;

    @Excel(name = "区域名称")
    @ApiModelProperty(value = "区域名称")
    private String areaName;

    /** 原料名称 */
    @Excel(name = "原料名称")
    @ApiModelProperty(value = "原料名称")
    private String materialName;

    /** 原料编码 */
    @Excel(name = "原料编码")
    @ApiModelProperty(value = "原料编码")
    private String materialCode;

    /** 原料图片 */
    @ApiModelProperty(value = "原料图片")
    private String imgUrl;

    /** 营养信息ID */
    @ApiModelProperty(value = "营养信息ID")
    private Long nutritionId;

    @Excel(name = "营养信息名称")
    @ApiModelProperty(value = "营养信息名称")
    private String  nutritionName;

    /** 类别id */
    @ApiModelProperty(value = "类别id")
    private Long materialTypeId;

    @Excel(name = "类别名称")
    @ApiModelProperty(value = "类别名称")
    private String materialTypeName;

    /** 营养信息类别ID */
    @ApiModelProperty(value = "营养信息类别ID")
    private String nutritionTypeId;

    @Excel(name = "营养信息类别名称")
    @ApiModelProperty(value = "营养信息类别名称")
    private String nutritionTypeName;

    /** 原料类型(1原料2商品) */
    @ApiModelProperty(value = "原料类型(1原料2商品)")
    private Long goodsType;

    /** 条码 */
    @ApiModelProperty(value = "条码")
    private String barCode;

    /** 单位 */
    @ApiModelProperty(value = "单位ID")
    private Long unitId;

    @Excel(name = "单位名称")
    @ApiModelProperty(value = "单位名称")
    private String unitName;

    /** 销售价 */
    @ApiModelProperty(value = "销售价")
    private Long salePrice;

    /** 进价 */
    @ApiModelProperty(value = "进价")
    private Long unitPrice;

    /** 售卖类型(1计量2散称) */
    @ApiModelProperty(value = "售卖类型(1计量2散称)")
    private Long salesMode;

    /** 保质期类型 1年 2月 3日 */
    @ApiModelProperty(value = "保质期类型 1年 2月 3日")
    private Long shelfLifeType;

    /** 保质期数 */
    @ApiModelProperty(value = "保质期数")
    private Long shelfLifeDays;

    /** 采购价格上限 */
    @ApiModelProperty(value = "采购价格上限")
    private Long purPriceCeiling;

    /** 大类id */
    @ApiModelProperty(value = "大类id")
    private Long bigCategoryId;

    /** 规格 */
    @ApiModelProperty(value = "规格")
    private String size;

    /** 简介 */
    @ApiModelProperty(value = "简介")
    private String description;

    @ApiModelProperty(value = "营养信息集合")
    private List<CookNutrition> nutritionList;
}
