package org.jeecg.modules.system.app.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

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

/**
 * @Description: 订单退款信息
 * @Author: jeecg-boot
 * @Date: 2021-08-03
 * @Version: V1.0
 */
@Data
@TableName("nm_order_refunds_info")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@Schema(description = "订单退款信息")
public class AppOrderRefundsInfo implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(type = IdType.ASSIGN_ID)
    @Schema(description = "id")
    private String id;

    /**
     * 订单ID
     */
    @Schema(description = "orderId")
    private String orderId;

    /**
     * 子订单ID
     */
    @Schema(description = "orderProInfoId")
    private String orderProInfoId;

    /**
     * 商户订单号
     */
    @Schema(description = "orderCode")
    private String orderCode;

    /**
     * 退款类型：1-买家申请 2-商家申请
     */
    @Schema(description = "退款类型：1-买家申请 2-商家申请")
    private Integer type;

    /**
     * 商户退款单号
     */
    @Schema(description = "outRefundNo")
    private String outRefundNo;

    /**
     * 微信支付退款单号
     */
    @Schema(description = "refundId")
    private String refundId;


    /**
     * 微信支付订单号
     */
    @Schema(description = "transactionId")
    private String transactionId;

    /**
     * 退款原因
     */
    @Schema(description = "reason")
    private String reason;

    /**
     * 退款受理时间
     */
    @Schema(description = "acceptedTime")
    private Date acceptedTime;

    /**
     * 退款成功时间
     */
    @Schema(description = "successTime")
    private Date successTime;

    /**
     * 退款金额（元）
     */
    @Schema(description = "amount")
    private BigDecimal amount;

    /**
     * 微信退款回调请求
     */
    @Schema(description = "notifyRequest")
    private String notifyRequest;

    /**
     * 退款状态
     */
    @Schema(description = "status")
    private String status;

    /**
     * 创建时间
     */
    @Schema(description = "createTime")
    private Date createTime;

    /**
     * 修改时间
     */
    @Schema(description = "updateTime")
    private Date updateTime;

    /**
     * 逻辑删除标识
     */
    @Schema(description = "delFlag")
    private Integer delFlag;

}
