package com.bonus.canteen.core.alloc.domain;

import java.util.Date;
import java.util.List;

import com.bonus.canteen.core.common.utils.FileUrlUtil;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.bonus.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import com.bonus.common.core.web.domain.BaseEntity;

/**
 * 档口信息对象 alloc_stall
 * 
 * @author xsheng
 * @date 2025-04-03
 */


@Data
@ToString
public class AllocStall extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 是否分页 */
    private boolean pagenation;

    /** 档口id */
    private Long stallId;

    /** 档口名称 */
    @Excel(name = "档口名称")
    @ApiModelProperty(value = "档口名称")
    private String stallName;

    /** 区域id */
    @Excel(name = "区域id")
    @ApiModelProperty(value = "区域id")
    private Long areaId;

    /** 当前区域名称 */
    @Excel(name = "当前区域名称")
    @ApiModelProperty(value = "当前区域名称")
    private String areaName;

    /** 食堂id */
    @Excel(name = "食堂id")
    @ApiModelProperty(value = "食堂id")
    private Long canteenId;

    /** 食堂名称 */
    @Excel(name = "食堂名称")
    @ApiModelProperty(value = "食堂名称")
    private String canteenName;

    /** 档口业务类型 1-档口 */
    @Excel(name = "档口业务类型 1-档口")
    @ApiModelProperty(value = "档口业务类型 1-档口")
    private Long stallType;

    /** 第三方档口id */
    @Excel(name = "第三方档口id")
    @ApiModelProperty(value = "第三方档口id")
    private String thirdStallId;

    /** 负责人 */
    @Excel(name = "负责人")
    @ApiModelProperty(value = "负责人")
    private String director;

    /** 联系电话 */
    @Excel(name = "联系电话")
    @ApiModelProperty(value = "联系电话")
    private String contactTel;

    /** 主营项目 */
    @Excel(name = "主营项目")
    @ApiModelProperty(value = "主营项目")
    private String mainProject;

    /** 档口营业状态 1-休息 2-营业 */
    @Excel(name = "档口营业状态 1-休息 2-营业")
    @ApiModelProperty(value = "档口营业状态 1-休息 2-营业")
    private Integer businessState;

    /** 营业时间 */
    @ApiModelProperty(value = "营业时间")
    @JsonFormat(pattern = "HH:mm:ss")
    @Excel(name = "营业时间", width = 30, dateFormat = "HH:mm:ss")
    private Date startBusinessTime;

    /** 营业时间 */
    @ApiModelProperty(value = "营业时间")
    @JsonFormat(pattern = "HH:mm:ss")
    @Excel(name = "营业时间", width = 30, dateFormat = "HH:mm:ss")
    private Date endBusinessTime;

    /** 是否启用叫号 */
    @Excel(name = "是否启用叫号")
    @ApiModelProperty(value = "是否启用叫号")
    private Integer ifUseCallNum;

    /** 线上流水号前缀 */
    @Excel(name = "线上流水号前缀")
    @ApiModelProperty(value = "线上流水号前缀")
    private String onLineMealCodePrefix;

    /** 线下流水号前缀 */
    @Excel(name = "线下流水号前缀")
    @ApiModelProperty(value = "线下流水号前缀")
    private String offLineMealCodePrefix;

    /** 是否启用配送配置 */
    @Excel(name = "是否启用配送配置")
    @ApiModelProperty(value = "是否启用配送配置")
    private Integer ifEnableDelivery;

    /** 配送方式(多个数据之间 使用,分隔) */
    @Excel(name = "配送方式(多个数据之间 使用,分隔)")
    @ApiModelProperty(value = "配送方式(多个数据之间 使用,分隔)")
    private String deliveries;

    /** 是否启用点餐配置 */
    @Excel(name = "是否启用点餐配置")
    @ApiModelProperty(value = "是否启用点餐配置")
    private Integer ifEnableOrder;

    /** 档口图片链接 */
    @Excel(name = "档口图片链接")
    @ApiModelProperty(value = "档口图片链接")
    private String imgUrl;

    /** 是否支持报餐 */
    @Excel(name = "是否支持报餐")
    @ApiModelProperty(value = "是否支持报餐")
    private Integer ifBook;

    /** 是否支持预定餐 */
    @Excel(name = "是否支持预定餐")
    @ApiModelProperty(value = "是否支持预定餐")
    private Integer ifReserve;

    /** 是否启用收款码 默认:否 */
    @Excel(name = "是否启用收款码 默认:否")
    @ApiModelProperty(value = "是否启用收款码 默认:否")
    private Integer ifEnablePayCode;

    /** 档口收款码链接 */
    @Excel(name = "档口收款码链接")
    @ApiModelProperty(value = "档口收款码链接")
    private String payCodeUrl;

    private List<AllocStallMealtime> allocStallMealtimeList;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    public String getImgUrl() {
        return FileUrlUtil.getFileUrl(this.imgUrl);
    }
}
