package com.yiqi.order.domain;

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

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yiqi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.yiqi.common.core.domain.BaseEntity;
import lombok.Data;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;

/**
 * 第三方退款记录对象 order_refund_info
 *
 * @author douya
 * @date 2024-09-16
 */
@ApiModel("第三方退款记录")
@TableName("order_refund_info")
@Data
public class OrderRefundInfo implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @ApiModelProperty("主键ID")
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 门店ID
     */
    @Excel(name = "门店ID")
    @ApiModelProperty("门店ID")

    private Long storeId;

    /**
     * 原订单编号
     */
    @Excel(name = "原订单编号")
    @ApiModelProperty("原订单编号")
    private String originOrderNo;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 退款订单编号
     */
    @Excel(name = "退款订单编号")
    @ApiModelProperty("退款订单编号")
    private String refundOrderNo;

    /**
     * 请求编号
     */
    @Excel(name = "请求编号")
    @ApiModelProperty("请求编号")
    private String requestNo;

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

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

    /**
     * 支付商户号
     */
    @Excel(name = "支付商户号")
    @ApiModelProperty("支付商户号")
    private String payMno;

    /**
     * 支付方式（0=微信，1=支付宝）
     */
    @Excel(name = "支付方式", readConverterExp = "0==微信，1=支付宝")
    @ApiModelProperty("支付方式（0=微信，1=支付宝）")
    private String payType;

    /**
     * 退款状态（0=待退款，1=已退款，-1：退款失败）
     */
    @Excel(name = "退款状态", readConverterExp = "0==待退款，1=已退款，-1：退款失败")
    @ApiModelProperty("退款状态（0=待退款，1=已退款，-1：退款失败）")
    private String refundStatus;

    /**
     * 返回消息
     */
    @Excel(name = "返回消息")
    @ApiModelProperty("返回消息")
    private String msg;


}
