package cn.iocoder.yudao.module.system.controller.admin.dishes.vo;

import cn.iocoder.yudao.module.system.dal.dataobject.dishesnutrition.DishesNutritionDO;
import cn.iocoder.yudao.module.system.dal.dataobject.dishesraw.DishesRawDO;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

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

@Schema(description = "管理后台 - 菜品管理 Response VO")
@Data
@ExcelIgnoreUnannotated
public class DishesRespVO {

    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "16516")
    @ExcelProperty("编号")
    private Long id;

    @Schema(description = "菜品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
    @ExcelProperty("菜品名称")
    private String dishesName;

    @Schema(description = "菜品图片", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn")
    private String dishesImageUrl;

    @Schema(description = "菜品属性", requiredMode = Schema.RequiredMode.REQUIRED)
    private String dishesAttribute;

    @Schema(description = "基本价格(标准)", requiredMode = Schema.RequiredMode.REQUIRED, example = "27937")
    private BigDecimal dishesBasePrice;

    @Schema(description = "会员价格", requiredMode = Schema.RequiredMode.REQUIRED, example = "21531")
    private BigDecimal dishesVipBasePrice;

    @Schema(description = "称重价格(标准)", requiredMode = Schema.RequiredMode.REQUIRED, example = "6375")
    private BigDecimal dishesWeighPrice;

    @Schema(description = "称重会员价格(标准)", requiredMode = Schema.RequiredMode.REQUIRED, example = "9200")
    private BigDecimal dishesVipWeighPrice;

    @Schema(description = "厨师")
    private String dishecCook;

    @Schema(description = "菜品类型", example = "1")
    private String dishecType;

    @Schema(description = "创建时间")

    private LocalDateTime createTime;

    @Schema(description = "门店编号")
    private Long carteenId;

    @Schema(description = "总价格")
    @ExcelProperty("价格")
    private BigDecimal dishesSumPrice;

    @Schema(description = "菜品总重量")
    @ExcelProperty("单位重量")
    private BigDecimal dishesNumber;

    @Schema(description = "菜品营养", example = "1")
    private List<DishesNutritionDO> dishesNutritionList;
    @Schema(description = "菜品原材料", example = "1")
    private List<DishesRawDO> dishesRawList;

    @Schema(description = "菜品kcal")
    private String kcal;

    @Schema(description = "门店")
    @ExcelProperty("门店")
    private String carteenName;

    @Schema(description = "菜品类型")
    @ExcelProperty("菜品类型")
    private String dishecTypeName;

    private String weekTime;

    private String timeSlot;

    private Integer dailySigns;

    private Integer errorNum;
}