package com.sckw.payment.model.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Setter;
import lombok.ToString;

import java.util.Date;

/**
 * 销售结算 销售方
 *
 * @author Aick Spt
 * @date 2023-07-20 12:26
 */
@Setter
@ToString
public class SettlementSellDto implements ISettlement {

    /**
     * 主键
     */
    private Long id;

    /**
     * 结算单编号
     */
    private String stOrderNo;

    /**
     * 结算单名称
     */
    private String name;

    /**
     * 总应收/元
     */
    private String totalPrice;

    /**
     * 已收款/元
     */
    private String actualPrice;
    /**
     * 剩余带回款金额
     */
    private String waitPrice;
    /**
     * 预计收款日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date receiptTime;

    /**
     * 对账采购财务联系人名称
     */
    private String auditUser;

    /**
     * 对账采购财务联系人电话
     */
    private String auditPhone;

    /**
     * 交易方式(预付款、货到付款）
     */
    private String trading;
    private String tradingLabel;

    /**
     * 状态（待回款、部分回款、全部回款、回退）
     */
    private Integer status;
    private String statusLabel;
    /**
     * 生成时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    public Long getId() {
        return id;
    }

    public String getStOrderNo() {
        return stOrderNo;
    }

    public String getName() {
        return name;
    }

    public String getTotalPrice() {
        return totalPrice;
    }

    public String getActualPrice() {
        return actualPrice;
    }

    public String getWaitPrice() {
        return waitPrice;
    }

    public Date getReceiptTime() {
        return receiptTime;
    }

    public String getAuditUser() {
        return auditUser;
    }

    public String getAuditPhone() {
        return auditPhone;
    }


    public String getTradingLabel() {
        return tradingLabel;
    }

    @Override
    public String getTrading() {
        return trading;
    }

    @Override
    public Integer getStatus() {
        return status;
    }

    public String getStatusLabel() {
        return statusLabel;
    }

    public Date getCreateTime() {
        return createTime;
    }
}
