OnlinePayment.java 6.61 KB
package com.diligrp.cashier.trade.model;

import com.diligrp.cashier.pipeline.type.ChannelType;
import com.diligrp.cashier.pipeline.type.OutPaymentType;
import com.diligrp.cashier.pipeline.type.PaymentState;
import com.diligrp.cashier.pipeline.type.PaymentType;
import com.diligrp.cashier.shared.domain.BaseDO;
import com.diligrp.cashier.trade.type.TradeType;

import java.time.LocalDateTime;

public class OnlinePayment extends BaseDO {
    // 外部商户号
    private String outMchId;
    // 订单ID
    private String tradeId;
    // 交易类型
    private Integer type;
    // 支付ID
    private String paymentId;
    // 支付通道
    private Integer channelId;
    // 支付方式
    private Integer payType;
    // 客户ID
    private Long pipelineId;
    // 微信商品描述
    private String goods;
    // 申请金额-分
    private Long amount;
    // 操作对象-比如:prepareId,二维码,或退款时的原单号
    private String objectId;
    // 支付方-如微信openId
    private String payerId;
    // 支付时间
    private LocalDateTime finishTime;
    // 通道流水号
    private String outTradeNo;
    // 实际支付方式-聚合支付通道使用
    private Integer outPayType;
    // 申请状态
    private Integer state;
    // 备注
    private String description;

    public String getOutMchId() {
        return outMchId;
    }

    public void setOutMchId(String outMchId) {
        this.outMchId = outMchId;
    }

    public String getTradeId() {
        return tradeId;
    }

    public void setTradeId(String tradeId) {
        this.tradeId = tradeId;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getPaymentId() {
        return paymentId;
    }

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

    public Integer getChannelId() {
        return channelId;
    }

    public void setChannelId(Integer channelId) {
        this.channelId = channelId;
    }

    public Integer getPayType() {
        return payType;
    }

    public void setPayType(Integer payType) {
        this.payType = payType;
    }

    public Long getPipelineId() {
        return pipelineId;
    }

    public void setPipelineId(Long pipelineId) {
        this.pipelineId = pipelineId;
    }

    public String getGoods() {
        return goods;
    }

    public void setGoods(String goods) {
        this.goods = goods;
    }

    public Long getAmount() {
        return amount;
    }

    public void setAmount(Long amount) {
        this.amount = amount;
    }

    public String getObjectId() {
        return objectId;
    }

    public void setObjectId(String objectId) {
        this.objectId = objectId;
    }

    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 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 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 static Builder builder() {
        return new OnlinePayment().new Builder();
    }

    public class Builder {
        public Builder outMchId(String outMchId) {
            OnlinePayment.this.outMchId = outMchId;
            return this;
        }

        public Builder tradeId(String tradeId) {
            OnlinePayment.this.tradeId = tradeId;
            return this;
        }

        public Builder type(TradeType type) {
            OnlinePayment.this.type = type.getCode();
            return this;
        }

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

        public Builder channelId(ChannelType channelType) {
            OnlinePayment.this.channelId = channelType.getCode();
            return this;
        }

        public Builder payType(PaymentType payType) {
            OnlinePayment.this.payType = payType.getCode();
            return this;
        }

        public Builder pipelineId(Long pipelineId) {
            OnlinePayment.this.pipelineId = pipelineId;
            return this;
        }

        public Builder goods(String goods) {
            OnlinePayment.this.goods = goods;
            return this;
        }

        public Builder amount(Long amount) {
            OnlinePayment.this.amount = amount;
            return this;
        }

        public Builder objectId(String objectId) {
            OnlinePayment.this.objectId = objectId;
            return this;
        }

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

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

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

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

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

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

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

        public Builder createdTime(LocalDateTime createdTime) {
            OnlinePayment.this.createdTime = createdTime;
            return this;
        }

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

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