package com.ruoyi.blockchain.domain;

import java.math.BigInteger;

import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 区块链交易对象 dc_blockchain_transaction
 * 
 * @author ruoyi
 * @date 2025-12-19
 */
public class BlockchainTransaction extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 交易ID */
    private Long transactionId;

    /** 交易哈希 */
    @Excel(name = "交易哈希")
    private String txHash;

    /** 数据哈希 */
    @Excel(name = "数据哈希")
    private String dataHash;

    /** 原始数据 */
    private String originalData;

    /** 合约地址 */
    @Excel(name = "合约地址")
    private String contractAddress;

    /** 方法名 */
    @Excel(name = "方法名")
    private String methodName;

    /** 交易类型 */
    @Excel(name = "交易类型")
    private String transactionType;

    /** 交易状态 */
    @Excel(name = "交易状态")
    private String transactionStatus;

    /** 区块号 */
    @Excel(name = "区块号")
    private BigInteger blockNumber;

    /** Gas使用量 */
    @Excel(name = "Gas使用量")
    private BigInteger gasUsed;

    /** 网络ID */
    @Excel(name = "网络ID")
    private Long networkId;

    public void setTransactionId(Long transactionId) 
    {
        this.transactionId = transactionId;
    }

    public Long getTransactionId() 
    {
        return transactionId;
    }
    public void setTxHash(String txHash) 
    {
        this.txHash = txHash;
    }

    public String getTxHash() 
    {
        return txHash;
    }
    public void setDataHash(String dataHash) 
    {
        this.dataHash = dataHash;
    }

    public String getDataHash() 
    {
        return dataHash;
    }
    public void setOriginalData(String originalData) 
    {
        this.originalData = originalData;
    }

    public String getOriginalData() 
    {
        return originalData;
    }
    public void setContractAddress(String contractAddress) 
    {
        this.contractAddress = contractAddress;
    }

    public String getContractAddress() 
    {
        return contractAddress;
    }
    public void setMethodName(String methodName) 
    {
        this.methodName = methodName;
    }

    public String getMethodName() 
    {
        return methodName;
    }
    public void setTransactionType(String transactionType) 
    {
        this.transactionType = transactionType;
    }

    public String getTransactionType() 
    {
        return transactionType;
    }
    public void setTransactionStatus(String transactionStatus) 
    {
        this.transactionStatus = transactionStatus;
    }

    public String getTransactionStatus() 
    {
        return transactionStatus;
    }
    public void setBlockNumber(BigInteger blockNumber) 
    {
        this.blockNumber = blockNumber;
    }

    public BigInteger getBlockNumber() 
    {
        return blockNumber;
    }
    public void setGasUsed(BigInteger gasUsed) 
    {
        this.gasUsed = gasUsed;
    }

    public BigInteger getGasUsed() 
    {
        return gasUsed;
    }
    public void setNetworkId(Long networkId) 
    {
        this.networkId = networkId;
    }

    public Long getNetworkId() 
    {
        return networkId;
    }

    @Override
    public String toString() {
        return "BlockchainTransaction{" +
                "transactionId=" + transactionId +
                ", txHash='" + txHash + '\'' +
                ", dataHash='" + dataHash + '\'' +
                ", originalData='" + originalData + '\'' +
                ", contractAddress='" + contractAddress + '\'' +
                ", methodName='" + methodName + '\'' +
                ", transactionType='" + transactionType + '\'' +
                ", transactionStatus='" + transactionStatus + '\'' +
                ", blockNumber=" + blockNumber +
                ", gasUsed=" + gasUsed +
                ", networkId=" + networkId +
                '}';
    }
}