package com.sckw.payment.model.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 结算-交易订单
 * @author Aick Spt
 * @date 2023-07-20 12:26
 */
@Getter
@Setter
public class SettlementTradeDto {

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

    /**
     * 企业id
     */
    private Long entId;

    /**
     * 交易订单对账id
     */
    private Long tLedgerId;

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

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

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

    /**
     * 已收款/元
     */
    private BigDecimal actualPrice;

    /**
     * 预计收款日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date receiptTime;

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

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

    /**
     * 对账销售财务联系人名称
     */
    private String successUser;

    /**
     * 对账销售财务联系人电话
     */
    private String successPhone;

    /**
     * 备注
     */
    private String remark;

    /**
     * 状态（待回款、部分回款、全部回款、回退）
     */
    private Integer status;

    /**
     * 创建人
     */
    private Long createBy;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 更新人
     */
    private Long updateBy;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    /**
     * 是否删除（0未删除，1删除）
     */
    private Integer delFlag;

    // 添加构造函数，getter和setter方法，以及其他业务逻辑方法（根据需要）

    @Override
    public String toString() {
        return "SettlementTradeDto{" +
                "id=" + id +
                ", entId=" + entId +
                ", tLedgerId=" + tLedgerId +
                ", stOrderNo='" + stOrderNo + '\'' +
                ", name='" + name + '\'' +
                ", totalPrice=" + totalPrice +
                ", actualPrice=" + actualPrice +
                ", receiptTime=" + receiptTime +
                ", auditUser='" + auditUser + '\'' +
                ", auditPhone='" + auditPhone + '\'' +
                ", successUser='" + successUser + '\'' +
                ", successPhone='" + successPhone + '\'' +
                ", remark='" + remark + '\'' +
                ", status=" + status +
                ", createBy=" + createBy +
                ", createTime=" + createTime +
                ", updateBy=" + updateBy +
                ", updateTime=" + updateTime +
                ", delFlag=" + delFlag +
                '}';
    }
}
