package shop.alien.entity.store;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 酒水餐食信息 DTO
 * 用于接口参数传输，实际数据存储在 store_menu 表
 * type: 1=餐食，2=酒水
 *
 * @author ssk
 * @since 2025-05-14
 */
@Data
@ApiModel(value = "DrinkInfo", description = "酒水餐食信息DTO")
public class DrinkInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键ID")
    private Integer id;

    @ApiModelProperty(value = "类型（1:餐食，2:酒水）")
    private Integer type;

    @ApiModelProperty(value = "名称")
    private String name;

    @ApiModelProperty(value = "售价")
    private BigDecimal price;

    @ApiModelProperty(value = "成本价")
    private BigDecimal costPrice;

    @ApiModelProperty(value = "酒精度（%vol）")
    private BigDecimal alcoholVolume;

    @ApiModelProperty(value = "图片URL")
    private String picUrl;

    @ApiModelProperty(value = "分类（如：白酒、啤酒、小吃等）")
    private String category;

    @ApiModelProperty(value = "风味特征")
    private String flavor;

    @ApiModelProperty(value = "描述")
    private String description;

    @ApiModelProperty(value = "排序（数值越小越靠前）")
    private Integer sort;

    @ApiModelProperty(value = "是否推荐（0:否，1:是）")
    private Integer isRecommended;

    @ApiModelProperty(value = "状态（1:上架，2:下架）")
    private Integer status;

    @ApiModelProperty(value = "门店ID")
    private Integer storeId;

    @ApiModelProperty(value = "创建人ID")
    private Integer createUserId;

    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    @ApiModelProperty(value = "修改人ID")
    private Integer updateUserId;

    @ApiModelProperty(value = "修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;
}
