package org.dromara.main.domain.vo;

import cn.idev.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.main.domain.Refund;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 退款视图对象
 */
@Data
@AutoMapper(target = Refund.class)
public class RefundVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @ExcelProperty(value = "退款ID")
    private Long id;

    @ExcelProperty(value = "退款单号")
    private String refundNo;

    @ExcelProperty(value = "支付记录ID")
    private Long paymentId;

    @ExcelProperty(value = "订单ID")
    private Long orderId;

    @ExcelProperty(value = "订单号")
    private String orderNo;

    @ExcelProperty(value = "支付宝交易号")
    private String tradeNo;

    @ExcelProperty(value = "退款金额")
    private BigDecimal refundAmount;

    @ExcelProperty(value = "退款原因")
    private String refundReason;

    @ExcelProperty(value = "退款类型")
    private Integer refundType;

    @ExcelProperty(value = "支付方式")
    private Integer paymentMethod;

    @ExcelProperty(value = "退款状态")
    private Integer refundStatus;

    @ExcelProperty(value = "退款时间")
    private Date refundTime;

    @ExcelProperty(value = "失败原因")
    private String failReason;

    @ExcelProperty(value = "操作人ID")
    private Long operatorId;

    @ExcelProperty(value = "操作人姓名")
    private String operatorName;

    @ExcelProperty(value = "创建时间")
    private Date createTime;
}
