package com.jeequan.jeepay.core.model.export;

import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 支付订单表
 * </p>
 *
 * @since 2021-09-28
 */
@Data
public class PayOrderExportExcel {

    /**
     * 支付订单号
     */
    @Excel(name = "支付订单号")
    private String payOrderId;

    /**
     * 商户订单号
     */
    @Excel(name = "商户订单号")
    private String mchOrderNo;

    /**
     * 用户支付凭证交易单号
     */
    @Excel(name = "用户支付凭证交易单号")
    private String platformOrderNo;

    /**
     * 用户支付凭证商户单号
     */
    @Excel(name = "用户支付凭证商户单号")
    private String platformMchOrderNo;

    /**
     * 商户号
     */
    @Excel(name = "商户号")
    private String mchNo;

    /**
     * 商户名称
     */
    @Excel(name = "商户名称")
    private String mchName;

    /**
     * 门店ID
     */
    @Excel(name = "门店ID")
    private String storeId;


    /**
     * 门店名称
     */
    @Excel(name = "门店名称")
    private String storeName;

    /**
     * 支付状态: 0-订单生成, 1-支付中, 2-支付成功, 3-支付失败, 4-已撤销, 5-已退款, 6-订单关闭
     */
    @Excel(name = "支付状态", replace = {"订单生成_0", "支付中_1", "支付成功_2", "支付失败_3", "已撤销_4", "已退款_5", "订单关闭_6"})
    private String state;

    /**
     * 退款状态: 0-未发生实际退款, 1-部分退款, 2-全额退款
     */
    @Excel(name = "退款状态", replace = {"未退款_0", "部分退款_1", "全额退款_2"})
    private String refundState;

    /**
     * 服务商号
     */
    @Excel(name = "服务商号")
    private String isvNo;

    /**
     * 支付方式代码
     */
    @Excel(name = "支付方式")
    private String wayName;

    /**
     * 支付金额
     */
    @Excel(name = "支付金额")
    private BigDecimal amount;

    /**
     * 退款金额
     */
    @Excel(name = "退款金额")
    private BigDecimal refundAmount;

    /**
     * 实际手续费
     */
    @Excel(name = "实际手续费")
    private BigDecimal mchFeeAmount;

    /**
     * 收单手续费
     */
    @Excel(name = "收单手续费")
    private BigDecimal mchOrderFeeAmount;

    /**
     * 买家备注
     */
    @Excel(name = "买家备注")
    private String buyerRemark;

    /**
     * 卖家备注
     */
    @Excel(name = "卖家备注")
    private String sellerRemark;

    /**
     * 创建时间
     */
    @Excel(name = "创建时间", exportFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createdAt;

    /**
     * 订单支付成功时间
     */
    @Excel(name = "支付成功时间", exportFormat = "yyyy-MM-dd HH:mm:ss")
    private Date successTime;

}
