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


import com.bonus.canteen.core.order.common.query.OrderQueryParam;

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

public class OrderSearchParam implements OrderQueryParam {
   private Long custId;
   private String macOrderId;
   private LocalDate orderDate;
   private LocalDate startDate;
   private LocalDate endDate;
   private Integer ifCoupon;
   private Integer ifOnline;
   private Integer nuClearMode;
   private Integer commentState;
   private Integer existsRefund;
   private Integer checkState;
   private String mealCode;
   private String tradeNo;
   private String serialNum;
   private List<Integer> psnTypeList;
   private List<Integer> orderTypeList;
   private List<Integer> orderStateList;
   private List<Integer> mealtimeTypeList;
   private List<Integer> payStateList;
   private List<Integer> orderRefundStateList;
   private List<Integer> payTypeList;
   private List<Integer> deliveryTypeList;
   private List<Integer> sourceTypeList;
   private List<Integer> dishesStateList;
   private List<Long> orderIdList;
   private List<String> machineSnList;
   private List<String> detailMachineSnList;
   private List<Integer> accExceptionRecordStateList;
   private List<Long> orgIdList;
   private List<Long> areaIdList;
   private List<Long> canteenIdList;
   private List<Long> stallIdList;
   private List<Long> roomIdList;
   private List<Long> operatorIdList;
   private List<Long> cashierIdList;
   private List<Long> deliveryRelatedIdList;
   private String custSearchInfo;
   private String goodsSearchInfo;
   private String buffetSearchInfo;
   private String deviceSearchInfo;
   private String canteenSearchInfo;
   private String orderSearchInfo;
   private String orderIdSearchInfo;
   private String roomSearchInfo;

   @Override
   public LocalDate getStartDate() {
      return this.orderDate != null ? this.orderDate : this.startDate;
   }

   @Override
   public LocalDate getEndDate() {
      return this.orderDate != null ? this.orderDate : this.endDate;
   }

   public LocalDateTime getStartDateTime() {
      return this.getStartDate() == null ? null : this.getStartDate().atTime(0, 0, 0);
   }

   public LocalDateTime getEndDateTime() {
      return this.getEndDate() == null ? null : this.getEndDate().atTime(23, 59, 59);
   }

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

   @Override
   public String getMacOrderId() {
      return this.macOrderId;
   }

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

   public Integer getIfCoupon() {
      return this.ifCoupon;
   }

   public Integer getIfOnline() {
      return this.ifOnline;
   }

   public Integer getNuClearMode() {
      return this.nuClearMode;
   }

   public Integer getCommentState() {
      return this.commentState;
   }

   public Integer getExistsRefund() {
      return this.existsRefund;
   }

   public Integer getCheckState() {
      return this.checkState;
   }

   public String getMealCode() {
      return this.mealCode;
   }

   public String getTradeNo() {
      return this.tradeNo;
   }

   public String getSerialNum() {
      return this.serialNum;
   }

   public List<Integer> getPsnTypeList() {
      return this.psnTypeList;
   }

   @Override
   public List<Integer> getOrderTypeList() {
      return this.orderTypeList;
   }

   public List<Integer> getOrderStateList() {
      return this.orderStateList;
   }

   @Override
   public List<Integer> getMealtimeTypeList() {
      return this.mealtimeTypeList;
   }

   public List<Integer> getPayStateList() {
      return this.payStateList;
   }

   public List<Integer> getOrderRefundStateList() {
      return this.orderRefundStateList;
   }

   public List<Integer> getPayTypeList() {
      return this.payTypeList;
   }

   public List<Integer> getDeliveryTypeList() {
      return this.deliveryTypeList;
   }

   public List<Integer> getSourceTypeList() {
      return this.sourceTypeList;
   }

   public List<Integer> getDishesStateList() {
      return this.dishesStateList;
   }

   public List<Long> getOrderIdList() {
      return this.orderIdList;
   }

   public List<String> getMachineSnList() {
      return this.machineSnList;
   }

   public List<String> getDetailMachineSnList() {
      return this.detailMachineSnList;
   }

   public List<Integer> getAccExceptionRecordStateList() {
      return this.accExceptionRecordStateList;
   }

   public List<Long> getOrgIdList() {
      return this.orgIdList;
   }

   public List<Long> getAreaIdList() {
      return this.areaIdList;
   }

   @Override
   public List<Long> getCanteenIdList() {
      return this.canteenIdList;
   }

   @Override
   public List<Long> getStallIdList() {
      return this.stallIdList;
   }

   @Override
   public List<Long> getRoomIdList() {
      return this.roomIdList;
   }

   public List<Long> getOperatorIdList() {
      return this.operatorIdList;
   }

   public List<Long> getCashierIdList() {
      return this.cashierIdList;
   }

   public List<Long> getDeliveryRelatedIdList() {
      return this.deliveryRelatedIdList;
   }

   public String getCustSearchInfo() {
      return this.custSearchInfo;
   }

   public String getGoodsSearchInfo() {
      return this.goodsSearchInfo;
   }

   public String getBuffetSearchInfo() {
      return this.buffetSearchInfo;
   }

   public String getDeviceSearchInfo() {
      return this.deviceSearchInfo;
   }

   public String getCanteenSearchInfo() {
      return this.canteenSearchInfo;
   }

   public String getOrderSearchInfo() {
      return this.orderSearchInfo;
   }

   public String getOrderIdSearchInfo() {
      return this.orderIdSearchInfo;
   }

   public String getRoomSearchInfo() {
      return this.roomSearchInfo;
   }

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

   public void setMacOrderId(final String macOrderId) {
      this.macOrderId = macOrderId;
   }

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

   @Override
   public void setStartDate(final LocalDate startDate) {
      this.startDate = startDate;
   }

   @Override
   public void setEndDate(final LocalDate endDate) {
      this.endDate = endDate;
   }

   public void setIfCoupon(final Integer ifCoupon) {
      this.ifCoupon = ifCoupon;
   }

   public void setIfOnline(final Integer ifOnline) {
      this.ifOnline = ifOnline;
   }

   public void setNuClearMode(final Integer nuClearMode) {
      this.nuClearMode = nuClearMode;
   }

   public void setCommentState(final Integer commentState) {
      this.commentState = commentState;
   }

   public void setExistsRefund(final Integer existsRefund) {
      this.existsRefund = existsRefund;
   }

   public void setCheckState(final Integer checkState) {
      this.checkState = checkState;
   }

   public void setMealCode(final String mealCode) {
      this.mealCode = mealCode;
   }

   public void setTradeNo(final String tradeNo) {
      this.tradeNo = tradeNo;
   }

   public void setSerialNum(final String serialNum) {
      this.serialNum = serialNum;
   }

   public void setPsnTypeList(final List<Integer> psnTypeList) {
      this.psnTypeList = psnTypeList;
   }

   @Override
   public void setOrderTypeList(final List<Integer> orderTypeList) {
      this.orderTypeList = orderTypeList;
   }

   public void setOrderStateList(final List<Integer> orderStateList) {
      this.orderStateList = orderStateList;
   }

   @Override
   public void setMealtimeTypeList(final List<Integer> mealtimeTypeList) {
      this.mealtimeTypeList = mealtimeTypeList;
   }

   public void setPayStateList(final List<Integer> payStateList) {
      this.payStateList = payStateList;
   }

   public void setOrderRefundStateList(final List<Integer> orderRefundStateList) {
      this.orderRefundStateList = orderRefundStateList;
   }

   public void setPayTypeList(final List<Integer> payTypeList) {
      this.payTypeList = payTypeList;
   }

   public void setDeliveryTypeList(final List<Integer> deliveryTypeList) {
      this.deliveryTypeList = deliveryTypeList;
   }

   public void setSourceTypeList(final List<Integer> sourceTypeList) {
      this.sourceTypeList = sourceTypeList;
   }

   public void setDishesStateList(final List<Integer> dishesStateList) {
      this.dishesStateList = dishesStateList;
   }

   public void setOrderIdList(final List<Long> orderIdList) {
      this.orderIdList = orderIdList;
   }

   public void setMachineSnList(final List<String> machineSnList) {
      this.machineSnList = machineSnList;
   }

   public void setDetailMachineSnList(final List<String> detailMachineSnList) {
      this.detailMachineSnList = detailMachineSnList;
   }

   public void setAccExceptionRecordStateList(final List<Integer> accExceptionRecordStateList) {
      this.accExceptionRecordStateList = accExceptionRecordStateList;
   }

   public void setOrgIdList(final List<Long> orgIdList) {
      this.orgIdList = orgIdList;
   }

   public void setAreaIdList(final List<Long> areaIdList) {
      this.areaIdList = areaIdList;
   }

   @Override
   public void setCanteenIdList(final List<Long> canteenIdList) {
      this.canteenIdList = canteenIdList;
   }

   @Override
   public void setStallIdList(final List<Long> stallIdList) {
      this.stallIdList = stallIdList;
   }

   @Override
   public void setRoomIdList(final List<Long> roomIdList) {
      this.roomIdList = roomIdList;
   }

   public void setOperatorIdList(final List<Long> operatorIdList) {
      this.operatorIdList = operatorIdList;
   }

   public void setCashierIdList(final List<Long> cashierIdList) {
      this.cashierIdList = cashierIdList;
   }

   public void setDeliveryRelatedIdList(final List<Long> deliveryRelatedIdList) {
      this.deliveryRelatedIdList = deliveryRelatedIdList;
   }

   public void setCustSearchInfo(final String custSearchInfo) {
      this.custSearchInfo = custSearchInfo;
   }

   public void setGoodsSearchInfo(final String goodsSearchInfo) {
      this.goodsSearchInfo = goodsSearchInfo;
   }

   public void setBuffetSearchInfo(final String buffetSearchInfo) {
      this.buffetSearchInfo = buffetSearchInfo;
   }

   public void setDeviceSearchInfo(final String deviceSearchInfo) {
      this.deviceSearchInfo = deviceSearchInfo;
   }

   public void setCanteenSearchInfo(final String canteenSearchInfo) {
      this.canteenSearchInfo = canteenSearchInfo;
   }

   public void setOrderSearchInfo(final String orderSearchInfo) {
      this.orderSearchInfo = orderSearchInfo;
   }

   public void setOrderIdSearchInfo(final String orderIdSearchInfo) {
      this.orderIdSearchInfo = orderIdSearchInfo;
   }

   public void setRoomSearchInfo(final String roomSearchInfo) {
      this.roomSearchInfo = roomSearchInfo;
   }

   public String toString() {
      Long var10000 = this.getCustId();
      return "OrderSearchParam(custId=" + var10000 + ", macOrderId=" + this.getMacOrderId() + ", orderDate=" + String.valueOf(this.getOrderDate()) + ", startDate=" + String.valueOf(this.getStartDate()) + ", endDate=" + String.valueOf(this.getEndDate()) + ", ifCoupon=" + this.getIfCoupon() + ", ifOnline=" + this.getIfOnline() + ", nuClearMode=" + this.getNuClearMode() + ", commentState=" + this.getCommentState() + ", existsRefund=" + this.getExistsRefund() + ", checkState=" + this.getCheckState() + ", mealCode=" + this.getMealCode() + ", tradeNo=" + this.getTradeNo() + ", serialNum=" + this.getSerialNum() + ", psnTypeList=" + String.valueOf(this.getPsnTypeList()) + ", orderTypeList=" + String.valueOf(this.getOrderTypeList()) + ", orderStateList=" + String.valueOf(this.getOrderStateList()) + ", mealtimeTypeList=" + String.valueOf(this.getMealtimeTypeList()) + ", payStateList=" + String.valueOf(this.getPayStateList()) + ", orderRefundStateList=" + String.valueOf(this.getOrderRefundStateList()) + ", payTypeList=" + String.valueOf(this.getPayTypeList()) + ", deliveryTypeList=" + String.valueOf(this.getDeliveryTypeList()) + ", sourceTypeList=" + String.valueOf(this.getSourceTypeList()) + ", dishesStateList=" + String.valueOf(this.getDishesStateList()) + ", orderIdList=" + String.valueOf(this.getOrderIdList()) + ", machineSnList=" + String.valueOf(this.getMachineSnList()) + ", detailMachineSnList=" + String.valueOf(this.getDetailMachineSnList()) + ", accExceptionRecordStateList=" + String.valueOf(this.getAccExceptionRecordStateList()) + ", orgIdList=" + String.valueOf(this.getOrgIdList()) + ", areaIdList=" + String.valueOf(this.getAreaIdList()) + ", canteenIdList=" + String.valueOf(this.getCanteenIdList()) + ", stallIdList=" + String.valueOf(this.getStallIdList()) + ", roomIdList=" + String.valueOf(this.getRoomIdList()) + ", operatorIdList=" + String.valueOf(this.getOperatorIdList()) + ", cashierIdList=" + String.valueOf(this.getCashierIdList()) + ", deliveryRelatedIdList=" + String.valueOf(this.getDeliveryRelatedIdList()) + ", custSearchInfo=" + this.getCustSearchInfo() + ", goodsSearchInfo=" + this.getGoodsSearchInfo() + ", buffetSearchInfo=" + this.getBuffetSearchInfo() + ", deviceSearchInfo=" + this.getDeviceSearchInfo() + ", canteenSearchInfo=" + this.getCanteenSearchInfo() + ", orderSearchInfo=" + this.getOrderSearchInfo() + ", orderIdSearchInfo=" + this.getOrderIdSearchInfo() + ", roomSearchInfo=" + this.getRoomSearchInfo() + ")";
   }
}
