package com.ruoyi.ai.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
/**
 * 充值管理对象 ai_recharge
 *
 * @author shi
 * @date 2025-11-13
 */
@Data
@TableName("ai_recharge")
public class AiRecharge extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @TableId(type = IdType.AUTO)
    private Long id;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 充值订单号 */
    @Excel(name = "充值订单号")
    private String orderNum;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 转入钱包 */
    @Excel(name = "转入钱包")
    private String receiveWallet;

    /** 转账钱包 */
    @Excel(name = "转账钱包")
    private String paymentWallet;

    /** 交易hash */
    @Excel(name = "交易hash")
    private String hash;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 到账时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "到账时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date creditedTime;

    /**
     * 实际金额
     */
    private BigDecimal amount;

    /**
     * 充值档位ID
     */
    private Long gearId;

    /** 来源 */
    @Excel(name = "来源")
    private String source;

    /**
     * 档位金额
     */
    private BigDecimal gearAmount;

    /**
     * 到账金额（算力点）
     */
    private BigDecimal giftAmount;

    /**
     * 赠送金额（算力点）
     */
    private BigDecimal giveAmount;

    /**
     * 支付方式
     */
    private String payType;

    /**
     * 支付链接
     */
    private String payUrl;


    /**
     * 用户UUID
     */
    @TableField(exist = false)
    private String uuid;

}
