package com.jeeplus.hotelorder.dish.service.dto;

import com.baomidou.mybatisplus.annotation.TableField;
import com.jeeplus.core.service.dto.BaseDTO;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.List;

/**
 * 菜品管理-DTO
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class HotelDishDTO extends BaseDTO {

    public static final String BIZ_CODE = "hotel_dish";

    /** 菜品名称 */
    private String name;

    /** 分类ID */
    private String categoryId;

    /** 基础价格 */
    private BigDecimal price;

    /** 菜品图片URL */
    private String image;

    /** 菜品描述 */
    private String description;

    /** 标签(逗号分隔) */
    private String tags;

    /** 预计制作时长(分钟) */
    private Integer prepTime;

    /** 月销量 */
    private Integer sales;

    /** 状态：ON_SALE-在售, OFF_SHELF-下架 */
    private String status;

    /** 是否售罄(0正常 1售罄) */
    private Integer soldOut;

    /** 是否主厨推荐(0否 1是) */
    private Integer isRecommended;

    /** 排序权重 */
    private Integer sortOrder;

    /** 分类名称(非DB字段，查询用) */
    @TableField(exist = false)
    private String categoryName;

    /** 规格组列表(非DB字段) */
    @TableField(exist = false)
    private List<com.jeeplus.hotelorder.dish.domain.HotelDishSpec> specGroups;

    /** 加料列表(非DB字段) */
    @TableField(exist = false)
    private List<com.jeeplus.hotelorder.dish.domain.HotelDishAddition> additions;

    // ============ 查询条件扩展字段 ============

    /** 客户端搜索关键词 */
    @TableField(exist = false)
    private String keyword;

    private static final long serialVersionUID = 1L;
}
