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

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

import java.util.Date;
import java.util.List;

/**
 * 菜品计划信息对象 cook_recipe
 * 
 * @author xsheng
 * @date 2025-05-25
 */


@Data
@ToString
public class CookRecipeVO extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 菜谱id */
    private Long recipeId;

    /** 菜谱名称 */
    @Excel(name = "菜谱名称")
    @ApiModelProperty(value = "菜谱名称")
    private String recipeName;

    /** 菜谱类型(1默认,2按天,3按周,4按月) */
    @Excel(name = "菜谱类型(1默认,2按天,3按周,4按月)")
    @ApiModelProperty(value = "菜谱类型(1默认,2按天,3按周,4按月)")
    private Long recipeType;

    /** 档口id */
    @Excel(name = "档口id")
    @ApiModelProperty(value = "档口id")
    private Long stallId;

    private String stallName;

    /** 食堂id */
    @Excel(name = "食堂id")
    @ApiModelProperty(value = "食堂id")
    private Long canteenId;

    private String canteenName;

    private Long areaId;

    private String areaName;

    /** 菜品计划id(数据同步) */
    @Excel(name = "菜品计划id(数据同步)")
    @ApiModelProperty(value = "菜品计划id(数据同步)")
    private String planId;

    /** 生效时间 */
    @ApiModelProperty(value = "生效时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生效时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date effectDate;

    /** 到期时间 */
    @ApiModelProperty(value = "到期时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "到期时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date expireDate;

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

    private Long dishesCount;

    private CookRecipeDateVO recipeDateDetail;

    private List<CookRecipeDateVO> recipeDateList;
}
