package com.leromro.core.domain;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.leromro.common.core.domain.BaseEntity;

import java.math.BigDecimal;

/**
 * 订单取消/退款对象 l_order_refund
 *
 * @author ruoyi
 * @date 2025-04-21
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("l_order_refund")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "LOrderRefund", description = "订单取消/退款")
public class OrderRefund extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableField("order_refund_id")
    @ApiModelProperty("主键")
    private Long orderRefundId;

    /**
     * 主订单号
     */
    @TableField("main_order_id")
    @ApiModelProperty("主订单号")
    private Long mainOrderId;
    /**
     * 主订单号
     */
    @TableField("user_id")
    @ApiModelProperty("用户id")
    private Long userId;
    /**
     * 主订单号
     */
    @TableField("volunteer_id")
    @ApiModelProperty("志愿者id")
    private Long volunteerId;
    /**
     * 申请的退款金额
     */
    @TableField("refund_apply_amount")
    @ApiModelProperty("申请的退款金额")
    private BigDecimal refundApplyAmount;

    /**
     * 可退款金额
     */
    @TableField("refund_amount")
    @ApiModelProperty("可退款金额")
    private BigDecimal refundAmount;

    /**
     * 退款原因文字
     */
    @TableField("refund_reason")
    @ApiModelProperty("退款原因文字")
    private String refundReason;

    /**
     * 退款原因图片
     */
    @TableField("refund_picture")
    @ApiModelProperty("退款原因图片")
    private String refundPicture;

    /**
     * 驳回原因
     */
    @TableField("rejection_reason")
    @ApiModelProperty("驳回原因")
    private String rejectionReason;

    /**
     * 驳回图片
     */
    @TableField("rejection_picture")
    @ApiModelProperty("驳回图片")
    private String rejectionPicture;

    /**
     * 状态：0 处理中 1已退款 2已退款 3已驳回
     */
    @TableField("status")
    @ApiModelProperty("状态：0 处理中 1退款中 2已退款 3已驳回 ")
    private String status;

    /**
     * 0 余额 1微信 2支付宝
     */
    @TableField("refund_type")
    @ApiModelProperty(" 0 余额 1微信 2支付宝")
    private Integer refundType;


}
