package com.seer.teach.pay.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.seer.teach.common.entity.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

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

/**
 * <p>
 *  用户退款实体类
 * </p>
 *
 * @author Wang
 * @since 2025-06-18
 */
@Getter
@Setter
@TableName("pay_coin_refund")
@ToString
@Schema(name = "CoinRefundEntity对象", description = "")
public class CoinRefundEntity extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @Schema(description = "用户ID")
    @TableField("user_id")
    private Integer userId;

    @Schema(description = "充值记录Id")
    @TableField("recharge_id")
    private Integer rechargeId;

    @Schema(description = "退款原因")
    @TableField("refund_reason")
    private String refundReason;

    @Schema(description = "退款编号")
    @TableField("refund_sn")
    private String refundSn;

    @Schema(description = "操作时间")
    @TableField("refund_success_time")
    private LocalDateTime refundSuccessTime;

    @Schema(description = "状态（0待审核，1审核通过，2审核拒绝，3：待微信退款，4：微信退款成功，5微信退款失败)")
    @TableField("`status`")
    private Integer status;

    @Schema(description = "退款金额")
    @TableField("refund_amount")
    private BigDecimal refundAmount;

    @TableField("actual_refund_amount")
    private Long actualRefundAmount;

    @TableField("remark")
    private String remark;
}