package com.bonus.core.order.mq.po;


import com.bonus.core.order.common.model.*;

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

public class OrderChangePO {
   private Integer changeType;
   private String outTradeNo;
   private Long merchantId;
   private OrderInfo orderInfo;
   private List<OrderDetail> orderDetailList;
   private List<OrderAmountChange> amountChangeList;
   private List<OrderAmountDetail> amountDetailList;
   private OrderDelivery orderDelivery;
   private OrderRefund orderRefund;
   private List<OrderRefundDetail> refundDetailList;
   private List<OrderAmountDetail> refundAmountDetailList;
   private Integer cleanType;
   private LocalDateTime timeoutTime;
   private Integer timeoutReminderMinute;
   private LocalDateTime timeoutClean;

   public OrderChangePO() {
   }

   public OrderChangePO(OrderInfo orderInfo, List<OrderDetail> orderDetailList, List<OrderAmountChange> amountChangeList) {
      this.orderInfo = orderInfo;
      this.orderDetailList = orderDetailList;
      this.amountChangeList = amountChangeList;
   }

   public OrderChangePO(OrderInfo orderInfo, List<OrderDetail> orderDetailList, OrderRefund orderRefund, List<OrderRefundDetail> refundDetailList) {
      this.orderInfo = orderInfo;
      this.orderDetailList = orderDetailList;
      this.orderRefund = orderRefund;
      this.refundDetailList = refundDetailList;
   }

   public Integer getChangeType() {
      return this.changeType;
   }

   public String getOutTradeNo() {
      return this.outTradeNo;
   }

   public Long getMerchantId() {
      return this.merchantId;
   }

   public OrderInfo getOrderInfo() {
      return this.orderInfo;
   }

   public List<OrderDetail> getOrderDetailList() {
      return this.orderDetailList;
   }

   public List<OrderAmountChange> getAmountChangeList() {
      return this.amountChangeList;
   }

   public List<OrderAmountDetail> getAmountDetailList() {
      return this.amountDetailList;
   }

   public OrderDelivery getOrderDelivery() {
      return this.orderDelivery;
   }

   public OrderRefund getOrderRefund() {
      return this.orderRefund;
   }

   public List<OrderRefundDetail> getRefundDetailList() {
      return this.refundDetailList;
   }

   public List<OrderAmountDetail> getRefundAmountDetailList() {
      return this.refundAmountDetailList;
   }

   public Integer getCleanType() {
      return this.cleanType;
   }

   public LocalDateTime getTimeoutTime() {
      return this.timeoutTime;
   }

   public Integer getTimeoutReminderMinute() {
      return this.timeoutReminderMinute;
   }

   public LocalDateTime getTimeoutClean() {
      return this.timeoutClean;
   }

   public void setChangeType(final Integer changeType) {
      this.changeType = changeType;
   }

   public void setOutTradeNo(final String outTradeNo) {
      this.outTradeNo = outTradeNo;
   }

   public void setMerchantId(final Long merchantId) {
      this.merchantId = merchantId;
   }

   public void setOrderInfo(final OrderInfo orderInfo) {
      this.orderInfo = orderInfo;
   }

   public void setOrderDetailList(final List<OrderDetail> orderDetailList) {
      this.orderDetailList = orderDetailList;
   }

   public void setAmountChangeList(final List<OrderAmountChange> amountChangeList) {
      this.amountChangeList = amountChangeList;
   }

   public void setAmountDetailList(final List<OrderAmountDetail> amountDetailList) {
      this.amountDetailList = amountDetailList;
   }

   public void setOrderDelivery(final OrderDelivery orderDelivery) {
      this.orderDelivery = orderDelivery;
   }

   public void setOrderRefund(final OrderRefund orderRefund) {
      this.orderRefund = orderRefund;
   }

   public void setRefundDetailList(final List<OrderRefundDetail> refundDetailList) {
      this.refundDetailList = refundDetailList;
   }

   public void setRefundAmountDetailList(final List<OrderAmountDetail> refundAmountDetailList) {
      this.refundAmountDetailList = refundAmountDetailList;
   }

   public void setCleanType(final Integer cleanType) {
      this.cleanType = cleanType;
   }

   public void setTimeoutTime(final LocalDateTime timeoutTime) {
      this.timeoutTime = timeoutTime;
   }

   public void setTimeoutReminderMinute(final Integer timeoutReminderMinute) {
      this.timeoutReminderMinute = timeoutReminderMinute;
   }

   public void setTimeoutClean(final LocalDateTime timeoutClean) {
      this.timeoutClean = timeoutClean;
   }

}
