TradeStateDTO.java 1.88 KB
package com.diligrp.cashier.trade.domain;

import com.diligrp.cashier.trade.type.TradeState;

import java.time.LocalDateTime;

/**
 * 交易状态数据传输对象
 */
public class TradeStateDTO {
    // 交易ID
    private String tradeId;
    // 金额
    private Long amount;
    // 状态
    private Integer state;
    // 数据版本
    private Integer version;
    // 修改时间
    private LocalDateTime modifiedTime;

    public static TradeStateDTO of(String tradeId, TradeState state, Integer version, LocalDateTime modifiedTime) {
        return new TradeStateDTO(tradeId, null, state.getCode(), version, modifiedTime);
    }

    public static TradeStateDTO of(String tradeId, Long amount, TradeState state, Integer version, LocalDateTime modifiedTime) {
        return new TradeStateDTO(tradeId, amount, state.getCode(), version, modifiedTime);
    }

    public TradeStateDTO(String tradeId, Long amount, Integer state, Integer version, LocalDateTime modifiedTime) {
        this.tradeId = tradeId;
        this.amount = amount;
        this.state = state;
        this.version = version;
        this.modifiedTime = modifiedTime;
    }

    public String getTradeId() {
        return tradeId;
    }

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

    public Long getAmount() {
        return amount;
    }

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

    public Integer getState() {
        return state;
    }

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

    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;
    }
}