package com.fuint.common.dto.ext;


import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;

/**
 * @author Survive
 * @date 2025/3/5
 * @description TODO: 存储具体的餐桌信息，与桌号分类进行关联
 *
 */

@Getter
@Setter
@TableName("mt_table_info")
@ApiModel(value = "tableInfo表对象", description = "tableInfo表对象")
public class TableInfoDto implements Serializable {

    @ApiModelProperty(value = "餐桌ID",  example = "123")
//    @NotNull(message = "ID不能为空")
    private Long id;

    @ApiModelProperty(value = "分类ID",  example = "123")
//    @NotNull(message = "分类ID不能为空")
    private Long categoryId;

    @ApiModelProperty(value = "餐桌编号",  example = "T001")
//    @NotBlank(message = "桌号不能为空")
//    @Pattern(regexp = "^T\\d{3}$", message = "桌号格式错误（例：T001）")
    private String tableNumber;

    @ApiModelProperty(value = "容纳人数",  example = "4")
//    @Min(value = 1, message = "最少容纳1人")
//    @Max(value = 20, message = "最多容纳20人")
    private Integer capacity;

    @ApiModelProperty(value = "项目标识", example = "main")
//    @Size(max = 50, message = "项目标识最长50字符")
    private String project;

    @ApiModelProperty(value = "状态（0-空闲 1-占用）", example = "0")
    private Integer tableStatus;

//    @NotBlank(message = "分类名称不能为空")
//    @Size(max = 50, message = "分类名称最长50个字符")
    @ApiModelProperty(value = "分类名称")
    private String categoryName;

}