
package com.tmerclub.cloud.common.order.vo;

import com.tmerclub.cloud.common.vo.BaseVO;
import io.swagger.v3.oas.annotations.media.Schema;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * 订单预售信息VO
 *
 * @author lhd
 * @date 2022-08-17 16:36:47
 */
public class OrderPreSaleInfoVO extends BaseVO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    @Schema(description = "id")
    private Long orderPreSaleInfoId;

    @Schema(description = "订单编号")
    private Long orderId;

    @Schema(description = "定金金额")
    private Long depositAmount;

    @Schema(description = "定金膨胀金额")
    private Long depositExpansionAmount;
    @Schema(description = "定金优惠金额")
    private Long depositReduceAmount;

    @Schema(description = "尾款金额")
    private Long balanceAmount;

    @Schema(description = "尾款支付开始时间")
    private Date balanceStartTime;

    @Schema(description = "尾款支付结束时间")
    private Date balanceEndTime;

    @Schema(description = "预售发货类型 -1.固定时间 x.尾款支付后x天发货")
    private Integer preSaleDeliveryType;

    @Schema(description = "预售发货时间")
    private Date preSaleDeliveryTime;

    @Schema(description = "预售类型 -1.未开启预售 0.全款预售类型 1.定金预售")
    private Integer preSaleType;

    @Schema(description = "尾款支付时间")
    private Date balancePayTime;

    @Schema(description = "定金预售支付状态 1.已支付定金 2.已支付尾款")
    private Integer payStatus;

    public Long getDepositReduceAmount() {
        return depositReduceAmount;
    }

    public void setDepositReduceAmount(Long depositReduceAmount) {
        this.depositReduceAmount = depositReduceAmount;
    }

    public Integer getPreSaleType() {
        return preSaleType;
    }

    public void setPreSaleType(Integer preSaleType) {
        this.preSaleType = preSaleType;
    }

    public Date getBalancePayTime() {
        return balancePayTime;
    }

    public void setBalancePayTime(Date balancePayTime) {
        this.balancePayTime = balancePayTime;
    }

    public Integer getPayStatus() {
        return payStatus;
    }

    public void setPayStatus(Integer payStatus) {
        this.payStatus = payStatus;
    }

    public Long getOrderPreSaleInfoId() {
        return orderPreSaleInfoId;
    }

    public void setOrderPreSaleInfoId(Long orderPreSaleInfoId) {
        this.orderPreSaleInfoId = orderPreSaleInfoId;
    }

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public Long getDepositAmount() {
        return depositAmount;
    }

    public void setDepositAmount(Long depositAmount) {
        this.depositAmount = depositAmount;
    }

    public Long getDepositExpansionAmount() {
        return depositExpansionAmount;
    }

    public void setDepositExpansionAmount(Long depositExpansionAmount) {
        this.depositExpansionAmount = depositExpansionAmount;
    }

    public Long getBalanceAmount() {
        return balanceAmount;
    }

    public void setBalanceAmount(Long balanceAmount) {
        this.balanceAmount = balanceAmount;
    }

    public Date getBalanceStartTime() {
        return balanceStartTime;
    }

    public void setBalanceStartTime(Date balanceStartTime) {
        this.balanceStartTime = balanceStartTime;
    }

    public Date getBalanceEndTime() {
        return balanceEndTime;
    }

    public void setBalanceEndTime(Date balanceEndTime) {
        this.balanceEndTime = balanceEndTime;
    }

    public Integer getPreSaleDeliveryType() {
        return preSaleDeliveryType;
    }

    public void setPreSaleDeliveryType(Integer preSaleDeliveryType) {
        this.preSaleDeliveryType = preSaleDeliveryType;
    }

    public Date getPreSaleDeliveryTime() {
        return preSaleDeliveryTime;
    }

    public void setPreSaleDeliveryTime(Date preSaleDeliveryTime) {
        this.preSaleDeliveryTime = preSaleDeliveryTime;
    }

    @Override
    public String toString() {
        return "OrderPreSaleInfoVO{" +
                "orderPreSaleInfoId=" + orderPreSaleInfoId +
                ", orderId=" + orderId +
                ", depositAmount=" + depositAmount +
                ", depositExpansionAmount=" + depositExpansionAmount +
                ", depositReduceAmount=" + depositReduceAmount +
                ", balanceAmount=" + balanceAmount +
                ", balanceStartTime=" + balanceStartTime +
                ", balanceEndTime=" + balanceEndTime +
                ", preSaleDeliveryType=" + preSaleDeliveryType +
                ", preSaleDeliveryTime=" + preSaleDeliveryTime +
                ", preSaleType=" + preSaleType +
                ", balancePayTime=" + balancePayTime +
                ", payStatus=" + payStatus +
                '}';
    }
}
