package com.wzj.soopin.order.domain.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.core.domain.model.BaseAudit;
import org.dromara.common.excel.annotation.Excel;

import java.math.BigDecimal;

/**
 * 微信订单表 数据视图对象
 *
 * @author zcc
 */
@Schema(description = "微信订单表数据视图对象")
@Data
public class WechatPaymentHistoryVO extends BaseAudit {
    /** ID */
    @Schema(description = "ID")
    private Long id;

    /** payment_id */
    @Schema(description = "payment_id")
    @Excel(name = "payment_id")
    private String paymentId;

    /** 用户 ID */
    @Schema(description = "用户 ID")
    @Excel(name = "用户 ID")
    private Long memberId;

    /** OPENID */
    @Schema(description = "OPENID")
    @Excel(name = "OPENID")
    private String openid;

    /** 真实姓名，提现需要 */
    @Schema(description = "真实姓名，提现需要")
    @Excel(name = "真实姓名，提现需要")
    private String realName;

    /** 标题|商品名称 */
    @Schema(description = "标题|商品名称")
    @Excel(name = "标题|商品名称")
    private String title;

    /** 订单号 支付时是payId 其他为orderId */
    @Schema(description = "订单号 支付时是payId 其他为orderId")
    @Excel(name = "订单号 支付时是payId 其他为orderId")
    private Long orderId;

    /** 金额，单位分 */
    @Schema(description = "金额，单位分")
    @Excel(name = "金额，单位分")
    private BigDecimal money;

    /** 交易类型（1为支付  2为提现  3为退款） */
    @Schema(description = "交易类型（1为支付  2为提现  3为退款）")
    @Excel(name = "交易类型", readConverterExp = "1=为支付,2=为提现,3=为退款")
    private Integer opType;

    /** 状态（0：未完成交易   1：完成关键交易） */
    @Schema(description = "状态（0：未完成交易   1：完成关键交易）")
    @Excel(name = "状态", readConverterExp = "0=：未完成交易,1=：完成关键交易")
    private Integer paymentStatus;

    /** 备注 */
    @Schema(description = "备注")
    @Excel(name = "备注")
    private String remark;

    /** 附加数据 */
    @Schema(description = "附加数据")
    @Excel(name = "附加数据")
    private String attach;

    /** 响应内容 */
    @Schema(description = "响应内容")
    @Excel(name = "响应内容")
    private String responseBody;
}
