PaymentStateDTO.java 3.72 KB
package com.diligrp.cashier.trade.domain;

import com.diligrp.cashier.pipeline.type.OutPaymentType;
import com.diligrp.cashier.pipeline.type.PaymentState;

import java.time.LocalDateTime;

/**
 * 支付订单状态处理模型
 */
public class PaymentStateDTO {
    // 支付ID
    private String paymentId;
    // 通道流水号
    private String outTradeNo;
    // 实际支付方式
    private Integer outPayType;
    // 支付方ID - 如:微信的openId
    private String payerId;
    // 支付时间
    private LocalDateTime finishTime;
    // 订单状态
    private Integer state;
    // 交易描述
    private String description;
    // 数据版本
    private Integer version;
    // 修改时间
    private LocalDateTime modifiedTime;

    public String getPaymentId() {
        return paymentId;
    }

    public void setPaymentId(String paymentId) {
        this.paymentId = paymentId;
    }

    public String getOutTradeNo() {
        return outTradeNo;
    }

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

    public Integer getOutPayType() {
        return outPayType;
    }

    public void setOutPayType(Integer outPayType) {
        this.outPayType = outPayType;
    }

    public String getPayerId() {
        return payerId;
    }

    public void setPayerId(String payerId) {
        this.payerId = payerId;
    }

    public LocalDateTime getFinishTime() {
        return finishTime;
    }

    public void setFinishTime(LocalDateTime finishTime) {
        this.finishTime = finishTime;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }

    public LocalDateTime getModifiedTime() {
        return modifiedTime;
    }

    public void setModifiedTime(LocalDateTime modifiedTime) {
        this.modifiedTime = modifiedTime;
    }

    public static Builder builder() {
        return new PaymentStateDTO().new Builder();
    }

    public class Builder {
        public Builder paymentId(String paymentId) {
            PaymentStateDTO.this.paymentId = paymentId;
            return this;
        }

        public Builder outTradeNo(String outTradeNo) {
            PaymentStateDTO.this.outTradeNo = outTradeNo;
            return this;
        }

        public Builder outPayType(OutPaymentType outPayType) {
            PaymentStateDTO.this.outPayType = outPayType.getCode();
            return this;
        }

        public Builder payerId(String payerId) {
            PaymentStateDTO.this.payerId = payerId;
            return this;
        }

        public Builder finishTime(LocalDateTime finishTime) {
            PaymentStateDTO.this.finishTime = finishTime;
            return this;
        }

        public Builder state(PaymentState state) {
            PaymentStateDTO.this.state = state.getCode();
            return this;
        }

        public Builder description(String description) {
            PaymentStateDTO.this.description = description;
            return this;
        }

        public Builder version(Integer version) {
            PaymentStateDTO.this.version = version;
            return this;
        }

        public Builder modifiedTime(LocalDateTime modifiedTime) {
            PaymentStateDTO.this.modifiedTime = modifiedTime;
            return this;
        }

        public PaymentStateDTO build() {
            return PaymentStateDTO.this;
        }
    }
}