package com.ruoyi.ss.room.domain;

import com.ruoyi.common.core.domain.ValidGroup;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.List;

/**
 * 房间对象 ss_room
 *
 * @author qzz
 * @date 2024-11-20
 */
@Data
public class Room extends BaseEntity{

    private static final long serialVersionUID = 1L;

    @Excel(name = "房间id")
    @ApiModelProperty("房间id")
    @NotNull(message = "房间id不允许为空", groups = {ValidGroup.Update.class})
    private Long roomId;

    @Excel(name = "房间名")
    @ApiModelProperty("房间名")
    @NotBlank(message = "房间名不允许为空", groups = {ValidGroup.Create.class})
    private String roomName;

    @Excel(name = "房间码")
    @ApiModelProperty("房间码")
    private String code;

    @Excel(name = "店铺id")
    @ApiModelProperty("店铺id")
    @NotNull(message = "店铺id不允许为空", groups = {ValidGroup.Create.class})
    private Long storeId;

    @Excel(name = "店铺名")
    @ApiModelProperty("店铺名")
    private String storeName;

    @Excel(name = "父房间id")
    @ApiModelProperty("父房间id")
    private Long parentId;

    @Excel(name = "房间类型：1-茶室；2-棋牌室；3-台球室")
    @ApiModelProperty("房间类型：1-茶室；2-棋牌室；3-台球室")
//    @NotBlank(message = "房间类型不允许为空", groups = {ValidGroup.Create.class}) // 暂时不用,下单时从房间类型中获取
    private String type;

    @Excel(name = "房间类型2：1-包间，2-大厅设施")
    @ApiModelProperty("房间类型2：1-包间，2-大厅设施")
    @NotBlank(message = "房间类型2不允许为空", groups = {ValidGroup.Create.class})
    private String type2;

    @Excel(name = "图片")
    @ApiModelProperty("图片")
    private String picture;

    @Excel(name = "标签列表")
    @ApiModelProperty("标签列表")
    @NotNull(message = "标签列表不允许为空", groups = {ValidGroup.Create.class})
    @Size(min = 1, message = "至少需要一个标签", groups = {ValidGroup.Create.class})
    private List<String> tags;

    @Excel(name = "规格")
    @ApiModelProperty("规格")
    private String specification;

    @Excel(name = "状态")
    @ApiModelProperty("状态")
    private String status;

    @Excel(name = "商户id")
    @ApiModelProperty("商户id")
    private Long merchantId;

    @Excel(name = "应用到房间的套餐ids")
    @ApiModelProperty("应用到房间的套餐ids")
    private List<Long> ruleIds;

    @Excel(name = "房间图片")
    @ApiModelProperty("房间图片")
    private List<String> pictures;

    @Excel(name = "wifi账号")
    @ApiModelProperty("wifi账号")
    private String wifi;

    @Excel(name = "wifi密码")
    @ApiModelProperty("wifi密码")
    private String wifiPassword;

    @Excel(name = "设施类型（只有大厅设施才有的）")
    @ApiModelProperty("设施类型:1-麻将机；2-台球桌")
    private String equType;

}
