package com.bonus.canteen.core.allocation.canteen.dto;

import com.bonus.canteen.core.common.utils.SysUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.time.LocalTime;
import java.util.List;
import java.util.Map;

@ApiModel("档口保存DTO")
public class AllocStallSaveDTO {
   @ApiModelProperty(
      value = "食堂id",
      required = true
   )
   private @NotNull(
   message = "食堂id 不能为空"
) Long canteenId;
   @ApiModelProperty("区域id")
   private Long areaId;
   @ApiModelProperty("档口编号")
   private String stallNum;
   @ApiModelProperty(
      value = "档口名称",
      required = true
   )
   private @NotBlank(
   message = "档口名称 不能为空"
) String stallName;
   @ApiModelProperty("人员id")
   private Long custId;
   @ApiModelProperty("人员姓名")
   private String custName;
   @ApiModelProperty(
      value = "联系电话",
      required = true
   )
   private String contactTel;
   @ApiModelProperty("主营项目")
   private String mainProject;
   @ApiModelProperty("营业时间")
   private LocalTime startBusinessTime;
   private LocalTime endBusinessTime;
   @ApiModelProperty("是否启用叫号")
   private Integer ifUseCallNum;
   @ApiModelProperty("线上流水号前缀")
   private String onLineMealCodePrefix;
   @ApiModelProperty("线下流水号前缀")
   private String offLineMealCodePrefix;
   @ApiModelProperty("档口图片链接")
   private String imgUrl;
   @ApiModelProperty("是否支持报餐")
   private Integer ifBook;
   @ApiModelProperty("是否支持预定餐")
   private Integer ifReserve;
   @ApiModelProperty("标签名称列表")
   private List<String> labelNameList;
   @ApiModelProperty("品类名称列表")
   private List<String> kindNameList;
   @ApiModelProperty("是否启用收款码")
   private Integer ifEnablePayCode;
   @ApiModelProperty("档口收款码链接")
   private String payCodeUrl;
   @ApiModelProperty("扩展Map")
   private Map<String, String> extendMap;

   public String getImgUrl() {
      return SysUtil.getCutFileUrl(this.imgUrl);
   }

   public String getPayCodeUrl() {
      return SysUtil.getCutFileUrl(this.payCodeUrl);
   }

   public Long getCanteenId() {
      return this.canteenId;
   }

   public Long getAreaId() {
      return this.areaId;
   }

   public String getStallNum() {
      return this.stallNum;
   }

   public String getStallName() {
      return this.stallName;
   }

   public Long getCustId() {
      return this.custId;
   }

   public String getCustName() {
      return this.custName;
   }

   public String getContactTel() {
      return this.contactTel;
   }

   public String getMainProject() {
      return this.mainProject;
   }

   public LocalTime getStartBusinessTime() {
      return this.startBusinessTime;
   }

   public LocalTime getEndBusinessTime() {
      return this.endBusinessTime;
   }

   public Integer getIfUseCallNum() {
      return this.ifUseCallNum;
   }

   public String getOnLineMealCodePrefix() {
      return this.onLineMealCodePrefix;
   }

   public String getOffLineMealCodePrefix() {
      return this.offLineMealCodePrefix;
   }

   public Integer getIfBook() {
      return this.ifBook;
   }

   public Integer getIfReserve() {
      return this.ifReserve;
   }

   public List<String> getLabelNameList() {
      return this.labelNameList;
   }

   public List<String> getKindNameList() {
      return this.kindNameList;
   }

   public Integer getIfEnablePayCode() {
      return this.ifEnablePayCode;
   }

   public Map<String, String> getExtendMap() {
      return this.extendMap;
   }

   public void setCanteenId(final Long canteenId) {
      this.canteenId = canteenId;
   }

   public void setAreaId(final Long areaId) {
      this.areaId = areaId;
   }

   public void setStallNum(final String stallNum) {
      this.stallNum = stallNum;
   }

   public void setStallName(final String stallName) {
      this.stallName = stallName;
   }

   public void setCustId(final Long custId) {
      this.custId = custId;
   }

   public void setCustName(final String custName) {
      this.custName = custName;
   }

   public void setContactTel(final String contactTel) {
      this.contactTel = contactTel;
   }

   public void setMainProject(final String mainProject) {
      this.mainProject = mainProject;
   }

   public void setStartBusinessTime(final LocalTime startBusinessTime) {
      this.startBusinessTime = startBusinessTime;
   }

   public void setEndBusinessTime(final LocalTime endBusinessTime) {
      this.endBusinessTime = endBusinessTime;
   }

   public void setIfUseCallNum(final Integer ifUseCallNum) {
      this.ifUseCallNum = ifUseCallNum;
   }

   public void setOnLineMealCodePrefix(final String onLineMealCodePrefix) {
      this.onLineMealCodePrefix = onLineMealCodePrefix;
   }

   public void setOffLineMealCodePrefix(final String offLineMealCodePrefix) {
      this.offLineMealCodePrefix = offLineMealCodePrefix;
   }

   public void setImgUrl(final String imgUrl) {
      this.imgUrl = imgUrl;
   }

   public void setIfBook(final Integer ifBook) {
      this.ifBook = ifBook;
   }

   public void setIfReserve(final Integer ifReserve) {
      this.ifReserve = ifReserve;
   }

   public void setLabelNameList(final List<String> labelNameList) {
      this.labelNameList = labelNameList;
   }

   public void setKindNameList(final List<String> kindNameList) {
      this.kindNameList = kindNameList;
   }

   public void setIfEnablePayCode(final Integer ifEnablePayCode) {
      this.ifEnablePayCode = ifEnablePayCode;
   }

   public void setPayCodeUrl(final String payCodeUrl) {
      this.payCodeUrl = payCodeUrl;
   }

   public void setExtendMap(final Map<String, String> extendMap) {
      this.extendMap = extendMap;
   }

}
