package com.bonus.canteen.core.order.common.model;

import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.JsonNode;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDate;
import java.time.LocalDateTime;

public class OrderPreBook {
   @TableId
   private Long preBookId;
   private Integer preBookType;
   private Integer orderType;
   private LocalDate orderDate;
   private LocalDateTime submitTime;
   private Long custId;
   private JsonNode extParam;
   private String crby;
   @DateTimeFormat(
      pattern = "yyyy-MM-dd HH:mm:ss"
   )
   @JsonFormat(
      pattern = "yyyy-MM-dd HH:mm:ss"
   )
   private LocalDateTime crtime;
   private String upby;
   @DateTimeFormat(
      pattern = "yyyy-MM-dd HH:mm:ss"
   )
   @JsonFormat(
      pattern = "yyyy-MM-dd HH:mm:ss"
   )
   private LocalDateTime uptime;

   public Long getPreBookId() {
      return this.preBookId;
   }

   public Integer getPreBookType() {
      return this.preBookType;
   }

   public Integer getOrderType() {
      return this.orderType;
   }

   public LocalDate getOrderDate() {
      return this.orderDate;
   }

   public LocalDateTime getSubmitTime() {
      return this.submitTime;
   }

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

   public JsonNode getExtParam() {
      return this.extParam;
   }

   public String getCrby() {
      return this.crby;
   }

   public LocalDateTime getCrtime() {
      return this.crtime;
   }

   public String getUpby() {
      return this.upby;
   }

   public LocalDateTime getUptime() {
      return this.uptime;
   }

   public void setPreBookId(final Long preBookId) {
      this.preBookId = preBookId;
   }

   public void setPreBookType(final Integer preBookType) {
      this.preBookType = preBookType;
   }

   public void setOrderType(final Integer orderType) {
      this.orderType = orderType;
   }

   public void setOrderDate(final LocalDate orderDate) {
      this.orderDate = orderDate;
   }

   public void setSubmitTime(final LocalDateTime submitTime) {
      this.submitTime = submitTime;
   }

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

   public void setExtParam(final JsonNode extParam) {
      this.extParam = extParam;
   }

   public void setCrby(final String crby) {
      this.crby = crby;
   }

   @JsonFormat(
      pattern = "yyyy-MM-dd HH:mm:ss"
   )
   public void setCrtime(final LocalDateTime crtime) {
      this.crtime = crtime;
   }

   public void setUpby(final String upby) {
      this.upby = upby;
   }

   @JsonFormat(
      pattern = "yyyy-MM-dd HH:mm:ss"
   )
   public void setUptime(final LocalDateTime uptime) {
      this.uptime = uptime;
   }

}
