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 java.time.LocalTime;
import java.util.List;
import java.util.Map;

@ApiModel("食堂基础设置DTO")
public class AllocCanteenSaveDTO {
   @ApiModelProperty("食堂编号")
   private String canteenNum;
   @ApiModelProperty(
      value = "食堂名称",
      required = true
   )
   private @NotBlank(
   message = "食堂名称 不能为空"
) String canteenName;
   @ApiModelProperty("区域id")
   private Long areaId;
   @ApiModelProperty("人员id")
   private Long custId;
   @ApiModelProperty("人员姓名")
   private String custName;
   @ApiModelProperty("第三方食堂id")
   private String thirdCanteenId;
   @ApiModelProperty("授权人员")
   private Long effId;
   @ApiModelProperty(
      value = "联系电话",
      required = true
   )
   private String contactTel;
   @ApiModelProperty("主营项目")
   private String mainProject;
   @ApiModelProperty("营业时间")
   private LocalTime startBusinessTime;
   private LocalTime endBusinessTime;
   @ApiModelProperty("食堂图片链接")
   private String imgUrl;
   @ApiModelProperty("最大容纳人数")
   private Integer capacity;
   @ApiModelProperty("是否支持报餐")
   private Integer ifBook;
   @ApiModelProperty("是否支持预定餐")
   private Integer ifReserve;
   @ApiModelProperty("标签名称列表")
   private List<String> labelNameList;
   @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 String getCanteenNum() {
      return this.canteenNum;
   }

   public String getCanteenName() {
      return this.canteenName;
   }

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

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

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

   public String getThirdCanteenId() {
      return this.thirdCanteenId;
   }

   public Long getEffId() {
      return this.effId;
   }

   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 getCapacity() {
      return this.capacity;
   }

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

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

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

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

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

   public void setCanteenNum(final String canteenNum) {
      this.canteenNum = canteenNum;
   }

   public void setCanteenName(final String canteenName) {
      this.canteenName = canteenName;
   }

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

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

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

   public void setThirdCanteenId(final String thirdCanteenId) {
      this.thirdCanteenId = thirdCanteenId;
   }

   public void setEffId(final Long effId) {
      this.effId = effId;
   }

   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 setImgUrl(final String imgUrl) {
      this.imgUrl = imgUrl;
   }

   public void setCapacity(final Integer capacity) {
      this.capacity = capacity;
   }

   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 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;
   }

}
