package com.xhpc.payment.domain;

import com.xhpc.common.core.web.domain.BaseEntity;
import lombok.Data;

import java.math.BigDecimal;

/**
 * 原路退回订单
 * @author yuyang
 * @date 2023-08-23 9:21
 */
@Data
public class XhpcRefundOriginalOrder extends BaseEntity {

    /**
     * 原路退回订单id
     */
    private Long refundOriginalOrderId;

    /**
     * 用户id
     */
    private Long userId;
    /**
     * 订单来源（0 C端用户 1 流量方用户 2社区用户 3B端用户）
     */
    private Integer source;
    /**
     * 退款渠道（1微信 2支付宝 3平台）
     */
    private Integer type;
    /**
     * 0退款中 1退款成功，2退款失败
     */
    private Integer status;

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

    /**
     * 公众账号ID
     */
    private String appId;
    /**
     * 退款的商户号
     */
    private String mchId;
    /**
     * 随机字符串
     */
    private String nonceStr;
    /**
     * 微信订单号
     */
    private String transactionId;
    /**
     * 商户订单号
     */
    private String outTradeNo;
    /**
     * 支付宝交易号
     */
    private String tradeNo;
    /**
     * 微信退款单号
     */
    private String refundId;
    /**
     * 商户退款单号
     */
    private String outRefundNo;
    /**
     * 订单金额
     */
    private BigDecimal totalFee;
    /**
     * 应结订单金额
     */
    private BigDecimal settlementTotalFee;
    /**
     * 申请退款金额
     */
    private BigDecimal refundFee;
    /**
     * 微信退款状态
     */
    private String refundStatus;
    /**
     * 微信退款成功时间
     */
    private String successTime;
    /**
     * 微信退款入账账户
     */
    private String refundRecvAccout;
    /**
     * 支付宝的用户
     */
    private String buyerUserId;
    /**
     * 退款资金来源
     */
    private String refundAccount;
    /**
     * 退款发起来源
     */
    private String refundRequestSource;
    /**
     * 用户退款金额
     */
    private BigDecimal cashRefundFee;
    /**
     * 优惠金额
     */
    private BigDecimal couponRefundFee;
    /**
     * 申请退款订单id
     */
    private Long refundOrderId;
    /**
     * 充值订单id
     */
    private Long rechargeOrderId;

    /**
     * 是否是最后一个订单 0 不是 1是
     */
    private Integer lastOne;

    //商家明细单号
    private String outDetailNo;
}
