package com.hzs.third.pay.vo;

import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.common.core.annotation.Excel;
import com.hzs.common.core.annotation.Transaction;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import lombok.Data;

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

/**
 * @Description: 退款显示VO
 * @Author: jiang chao
 * @Time: 2023/8/16 19:12
 * @Classname: OnlineRefundVO
 * @PackageName: com.hzs.third.pay.vo
 */
@Data
public class OnlineRefundVO {

    /**
     * 主键
     */
    private Long pkId;

    /**
     * 会员编号
     */
    @Excel(name = "会员编号")
    private String memberCode;
    /**
     * 会员姓名
     */
    @Excel(name = "会员姓名")
    private String memberName;

    /**
     * 交易类型（EPayBusinessType）
     */
    @Transaction(transactionKey = EnumsPrefixConstants.PAY_BUSINESS_TYPE)
    private Integer payBusinessType;
    /**
     * 交易类型显示
     */
    @Excel(name = "交易类型")
    private String payBusinessTypeVal;

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

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

    /**
     * 退款渠道（1=支付宝,2=微信,5=宝付,6=汇付）
     */
    @Transaction(transactionKey = EnumsPrefixConstants.PAY_CHANNEL)
    private Integer refundChannel;
    /**
     * 退款渠道显示
     */
    @Excel(name = "支付渠道")
    private String refundChannelVal;

    /**
     * 退款状态（0=退款中,1=已退款,2=退款失败）
     */
    @Transaction(transactionKey = EnumsPrefixConstants.REFUND_STATUS)
    private Integer refundStatus;
    /**
     * 退款状态显示
     */
    @Excel(name = "退款状态")
    private String refundStatusVal;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建日期", dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date creationTime;

    /**
     * 退款完成时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "退款完成日期", dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date finishTime;

    /**
     * 交易单号
     */
    @Excel(name = "单据编号")
    private String payBusinessCode;

}
