
package com.tmerclub.cloud.order.bo;

import io.swagger.v3.oas.annotations.media.Schema;

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

/**
 * @author tmerclub
 * @date 2021/2/4
 */
public class SubmitOrderPayAmountInfoBO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(description = "创建时间")
    private Date createTime;

    @Schema(description = "总共需要支付金额")
    private Long totalFee;

    @Schema(description = "总共需要支付定金")
    private Long depositAmount;

    @Schema(description = "总共需要支付尾款")
    private Long balanceAmount;

    @Schema(description = "运费")
    private Long freightAmount;

    @Schema(description = "平台减免运费金额")
    private Long platformFreeFreightAmount;

    @Schema(description = "总共需要支付积分（积分抵扣金额）")
    private Long totalScore;

    @Schema(description = "总共需要支付积分数量")
    private Long orderScore;

    @Schema(description = "订单类型")
    private Integer orderType;

    @Schema(description = "订单类型")
    private Integer preSaleType;

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

    @Schema(description = "订单地址id")
    private Long orderAddrId;

    @Schema(description = "用户id")
    private Long userId;

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

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

    public Long getPlatformFreeFreightAmount() {
        return platformFreeFreightAmount;
    }

    public void setPlatformFreeFreightAmount(Long platformFreeFreightAmount) {
        this.platformFreeFreightAmount = platformFreeFreightAmount;
    }

    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 Long getFreightAmount() {
        return freightAmount;
    }

    public void setFreightAmount(Long freightAmount) {
        this.freightAmount = freightAmount;
    }

    public Integer getPreSaleType() {
        return preSaleType;
    }

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

    public Integer getPreSalePayStatus() {
        return preSalePayStatus;
    }

    public void setPreSalePayStatus(Integer preSalePayStatus) {
        this.preSalePayStatus = preSalePayStatus;
    }

    public Long getDepositAmount() {
        return depositAmount;
    }

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

    public Long getBalanceAmount() {
        return balanceAmount;
    }

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

    public Long getTotalFee() {
        return totalFee;
    }

    public void setTotalFee(Long totalFee) {
        this.totalFee = totalFee;
    }

    public Long getTotalScore() {
        return totalScore;
    }

    public void setTotalScore(Long totalScore) {
        this.totalScore = totalScore;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Integer getOrderType() {
        return orderType;
    }

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

    public Long getOrderAddrId() {
        return orderAddrId;
    }

    public void setOrderAddrId(Long orderAddrId) {
        this.orderAddrId = orderAddrId;
    }

    public Long getOrderScore() {
        return orderScore;
    }

    public void setOrderScore(Long orderScore) {
        this.orderScore = orderScore;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    @Override
    public String toString() {
        return "SubmitOrderPayAmountInfoBO{" +
                "createTime=" + createTime +
                ", totalFee=" + totalFee +
                ", depositAmount=" + depositAmount +
                ", balanceAmount=" + balanceAmount +
                ", freightAmount=" + freightAmount +
                ", platformFreeFreightAmount=" + platformFreeFreightAmount +
                ", totalScore=" + totalScore +
                ", orderScore=" + orderScore +
                ", orderType=" + orderType +
                ", preSaleType=" + preSaleType +
                ", preSalePayStatus=" + preSalePayStatus +
                ", orderAddrId=" + orderAddrId +
                ", userId=" + userId +
                ", balanceStartTime=" + balanceStartTime +
                ", balanceEndTime=" + balanceEndTime +
                '}';
    }
}
