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 MchPayOrderExportExcel {

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

    /**
     * 通道单号
     */
    @Excel(name = "通道单号")
    private String channelOrderNo;

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

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

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

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

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

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

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

    /**
     * 应用名称
     */
    @Excel(name = "应用名称")
    private String appName;


    /**
     * 应用编号
     */
    @Excel(name = "应用编号")
    private String appId;


    /**
     * 支付通道
     */
    @Excel(name = "支付通道")
    private String ifName;

    /**
     * 所属渠道
     */
    @Excel(name = "所属渠道")
    private String isvName;

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

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

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

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

    /**
     * 商家费率
     */
    @Excel(name = "商家费率")
    private String mchFeeRate;

    /**
     * 垫资手续费
     */
    @Excel(name = "垫资手续费")
    private String cashFee;

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

    /**
     * 结算类型
     */
    @Excel(name = "结算类型")
    private String settleType;

    /**
     * 借贷类型
     */
    @Excel(name = "借贷类型", replace = {"借记卡_00", "贷记卡_01", "微信零钱_02", "支付宝花呗_03", "支付宝其它_04", "数字货币_05", "其它_99"})
    private String drType;

    /**
     * 分账状态
     */
    @Excel(name = "分账状态", replace = {"未发生分账_0", "等待分账任务处理_1", "分账处理中_2", "分账任务已结束_3"})
    private String divisionState;



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

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


    /**
     * 买家备注
     */
    @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;

}
