package com.bonus.canteen.core.order.deprecated.vo;

import com.bonus.canteen.core.common.encrypt.LeNiuDecryptDataProcess;
import com.bonus.canteen.core.common.encrypt.LeNiuDecryptField;
import com.bonus.canteen.core.order.common.constants.OrderRefundStateEnum;
import com.bonus.canteen.core.order.common.constants.OrderStateEnum;
import com.bonus.canteen.core.order.deprecated.constants.OrdIfWriteOffEnum;
import com.bonus.canteen.core.order.deprecated.constants.OrderStateOldEnum;
import io.swagger.annotations.ApiModelProperty;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

@LeNiuDecryptDataProcess
public class OrdAssignSrcMacOldVO {
   @ApiModelProperty("商家订单号")
   private Long ordId;
   @ApiModelProperty("设备订单号")
   private String macOrdId;
   @ApiModelProperty("支付状态")
   private Integer payState;
   @ApiModelProperty("订单状态")
   private Integer orderState;
   @ApiModelProperty("订单状态")
   private Integer ordState;
   @LeNiuDecryptField
   @ApiModelProperty("下单人员姓名")
   private String custName;
   @ApiModelProperty("下单人员姓名")
   private String placeOrdName;
   @ApiModelProperty("订单日期(区别于下单时间)")
   private LocalDate ordGoodsDate;
   @ApiModelProperty("档口id")
   private Long shopstallId;
   @ApiModelProperty("档口名称")
   private String shopstallName;
   @ApiModelProperty("档口叫号")
   private String shopstallCallNum;
   @ApiModelProperty("餐次名称")
   private String intervalName;
   @ApiModelProperty("是否核销 1-已核销 2-未核销")
   private Integer ifWriteOff;
   @ApiModelProperty("支付时间")
   private LocalDateTime payTime;
   @ApiModelProperty("来源类型 如钉钉、小程序等")
   private Integer sourceType;
   @ApiModelProperty("订餐模式标识 1-外卖 2-预订 3-报餐  默认预订")
   private Integer takeOutFlag;
   @ApiModelProperty("实付金额")
   private Integer realAmount;
   @ApiModelProperty("订单明细列表")
   private List<OrdMacDtlVO> ordDetailList;
   private Integer dishesState;
   @ApiModelProperty("订单退款状态(新)")
   private Integer orderRefundState;

   public Integer getOrdState() {
      return !OrderRefundStateEnum.UN_APPLY.getKey().equals(this.orderRefundState) ? OrderStateOldEnum.REFUND.getKey() : OrderStateOldEnum.COMPLETE.getKey();
   }

   public Integer getIfWriteOff() {
      return OrderStateEnum.isFinishState(this.orderState) ? OrdIfWriteOffEnum.WRITE_OFF_FINISH.getKey() : OrdIfWriteOffEnum.UN_WRITE_OFF.getKey();
   }

   public Long getOrdId() {
      return this.ordId;
   }

   public String getMacOrdId() {
      return this.macOrdId;
   }

   public Integer getPayState() {
      return this.payState;
   }

   public Integer getOrderState() {
      return this.orderState;
   }

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

   public String getPlaceOrdName() {
      return this.placeOrdName;
   }

   public LocalDate getOrdGoodsDate() {
      return this.ordGoodsDate;
   }

   public Long getShopstallId() {
      return this.shopstallId;
   }

   public String getShopstallName() {
      return this.shopstallName;
   }

   public String getShopstallCallNum() {
      return this.shopstallCallNum;
   }

   public String getIntervalName() {
      return this.intervalName;
   }

   public LocalDateTime getPayTime() {
      return this.payTime;
   }

   public Integer getSourceType() {
      return this.sourceType;
   }

   public Integer getTakeOutFlag() {
      return this.takeOutFlag;
   }

   public Integer getRealAmount() {
      return this.realAmount;
   }

   public List<OrdMacDtlVO> getOrdDetailList() {
      return this.ordDetailList;
   }

   public Integer getDishesState() {
      return this.dishesState;
   }

   public Integer getOrderRefundState() {
      return this.orderRefundState;
   }

   public void setOrdId(final Long ordId) {
      this.ordId = ordId;
   }

   public void setMacOrdId(final String macOrdId) {
      this.macOrdId = macOrdId;
   }

   public void setPayState(final Integer payState) {
      this.payState = payState;
   }

   public void setOrderState(final Integer orderState) {
      this.orderState = orderState;
   }

   public void setOrdState(final Integer ordState) {
      this.ordState = ordState;
   }

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

   public void setPlaceOrdName(final String placeOrdName) {
      this.placeOrdName = placeOrdName;
   }

   public void setOrdGoodsDate(final LocalDate ordGoodsDate) {
      this.ordGoodsDate = ordGoodsDate;
   }

   public void setShopstallId(final Long shopstallId) {
      this.shopstallId = shopstallId;
   }

   public void setShopstallName(final String shopstallName) {
      this.shopstallName = shopstallName;
   }

   public void setShopstallCallNum(final String shopstallCallNum) {
      this.shopstallCallNum = shopstallCallNum;
   }

   public void setIntervalName(final String intervalName) {
      this.intervalName = intervalName;
   }

   public void setIfWriteOff(final Integer ifWriteOff) {
      this.ifWriteOff = ifWriteOff;
   }

   public void setPayTime(final LocalDateTime payTime) {
      this.payTime = payTime;
   }

   public void setSourceType(final Integer sourceType) {
      this.sourceType = sourceType;
   }

   public void setTakeOutFlag(final Integer takeOutFlag) {
      this.takeOutFlag = takeOutFlag;
   }

   public void setRealAmount(final Integer realAmount) {
      this.realAmount = realAmount;
   }

   public void setOrdDetailList(final List<OrdMacDtlVO> ordDetailList) {
      this.ordDetailList = ordDetailList;
   }

   public void setDishesState(final Integer dishesState) {
      this.dishesState = dishesState;
   }

   public void setOrderRefundState(final Integer orderRefundState) {
      this.orderRefundState = orderRefundState;
   }

}
