package com.m2pool.lease.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.*;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 支付消息记录表
 * </p>
 *
 * @author yyb
 * @since 2025-09-10
 */
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class LeasePayRecordMessageInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 消息ID
     */
    private String queueId;

    /**
     * 买家充值地址
     */
    private String fromAddress;

    /**
     * 卖家充值地址
     */
    private String toAddress;


    /**
     * 订单id
     */
    private String orderId;

    /**
     * 订单号
     */
    private String orderNumber;

    /**
     * 店铺ID
     */
    private Long shopId;

    /**
     * 用户邮箱
     */
    private String userId;

    /**
     * 理论支付金额（根据商家定价）
     */
    private BigDecimal amount;

    /**
     *真实支付金额
     */
    private BigDecimal realAmount;

    /**
     * 实际应支付金额（根据一天内预估算力和实际算力差值计算得来）
     */
    private BigDecimal needAmount;

    /**
     *  钱包冻结金额
     */
    private BigDecimal blockAmount;
    /**
     * 币种
     */
    private String toSymbol;

    /**
     * 链名称
     */
    private String toChain;


    /**
     * 币种
     */
    private String fromSymbol;

    /**
     * 链名称
     */
    private String fromChain;

    /**
     * 交易hash
     */
    private String txHash;

    private Long blockHeight;


    /**
     * 支付时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 0 支付失败 1 支付成功 2 等待校验
     */
    private Integer status;

    /**
     * 逻辑删除字段
     */
    private boolean del;

}
