package shop.alien.entity.store.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import shop.alien.entity.store.StoreCuisine;

import java.util.List;

/**
 * 美食单品 / 套餐详情 DTO
 *
 * @author auto-generated
 * @since 2025-01-01
 */
@Data
@ApiModel(value = "CuisineDetailDto", description = "美食单品或套餐详情")
public class CuisineDetailDto {

    @ApiModelProperty("主信息：单品或套餐（store_cuisine 表中的一条记录）")
    private StoreCuisine baseInfo;

    @ApiModelProperty("如果是套餐：包含的单品明细列表；如果是单品：为空列表")
    private List<CuisineItemDetail> items;

    @Data
    @ApiModel(value = "CuisineItemDetail", description = "套餐中包含的单品明细")
    public static class CuisineItemDetail {

        @ApiModelProperty("单品信息")
        private StoreCuisine single;

        @ApiModelProperty("数量（中间表 snum）")
        private Integer quantity;

        @ApiModelProperty("分类名称（中间表 category）")
        private String category;
    }

    @ApiModelProperty("美食套餐/单品列表")
    private List<StoreCuisine> storeCuisineList;

    @ApiModelProperty("门店电话")
    private String storePhone;

    @ApiModelProperty("门店名称")
    private String storeName;
}

