package org.dromara.system.domain;

import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;
import java.math.BigDecimal;

/**
 * 食材管理对象 sys_food_ingredient
 *
 * @author Lion Li
 * @date 2025-06-30
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("sys_food_ingredient")
public class SysFoodIngredient extends TenantEntity {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(value = "food_ingredient_id")
    private Long foodIngredientId;

    /**
     * 食材分类ID
     */
    private String foodCategoryId;

    /**
     * 食材名称
     */
    private String name;

    /**
     * 食材编码
     */
    private String code;

    /**
     * 单位
     */
    private String unit;

    /**
     * 入货价格（元）
     */
    private BigDecimal purchasePrice;

    /**
     * 食材可食比例构成（%）
     */
    private BigDecimal edibleRatio;

    /**
     * 保质期（天）
     */
    private Long shelfLife;

    /**
     * 库存预警值（g）
     */
    private BigDecimal stockWarning;

    /**
     * 保质期预警（天）
     */
    private Long expiryWarning;

    /**
     * 食材描述
     */
    private String description;

    /**
     * 热量（kcal）
     */
    private BigDecimal calories;

    /**
     * 蛋白质（g）
     */
    private BigDecimal protein;

    /**
     * 脂肪（g）
     */
    private BigDecimal fat;

    /**
     * 碳水化合物（g）
     */
    private BigDecimal carbohydrate;

    /**
     * 水分（ml）
     */
    private BigDecimal water;

    /**
     * 维生素A（μg）
     */
    private BigDecimal vitaminA;

    /**
     * 维生素B2（mg）
     */
    private BigDecimal vitaminB2;

    /**
     * 维生素C（mg）
     */
    private BigDecimal vitaminC;

    /**
     * 钠（mg）
     */
    private BigDecimal sodium;

    /**
     * 铁（mg）
     */
    private BigDecimal iron;

    /**
     * 磷（mg）
     */
    private BigDecimal phosphorus;

    /**
     * 膳食纤维（g）
     */
    private BigDecimal dietaryFiber;

    /**
     * 维生素B1（mg）
     */
    private BigDecimal vitaminB1;

    /**
     * 烟酸（mg）
     */
    private BigDecimal niacin;

    /**
     * 维生素E（mg）
     */
    private BigDecimal vitaminE;

    /**
     * 钙（mg）
     */
    private BigDecimal calcium;

    /**
     * 钾（mg）
     */
    private BigDecimal potassium;

    /**
     * 胆固醇（g）
     */
    private BigDecimal cholesterol;

    /**
     * 状态（0正常 1停用）
     */
    private String status;

    /**
     * 删除标志（0代表存在 1代表删除）
     */
    @TableLogic
    private String delFlag;

    @TableField(exist = false)
    private String bigCategory;

    @TableField(exist = false)
    private String subCategory;

    /**
     * 用量（可选，单位自定义）
     */
    @TableField(exist = false)
    private BigDecimal quantity;

    /**
     * 备注
     */
    @TableField(exist = false)
    private String remark;

    @TableField(exist = false)
    private BigDecimal caloriesForInput;

    @TableField(exist = false)
    private String unitName;
}
