package com.yuchen.saas.payment.api.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.nest.springwrap.core.tenant.mp.TenantEntity;

import java.util.Date;

/**
 * @Author: 张逸飞
 * @Date: 2021/3/13 19:12
 * @Description: 支付账单退款表
 */
@Data
@TableName("pmg_bat_park_pay_refund")
public class PmgBatParkPayRefund extends TenantEntity {
    @JsonSerialize(
            using = ToStringSerializer.class
    )
    @ApiModelProperty(name = "saasUserId", value = "微信用户ID")
    private Long saasUserId;
    /**
     * 支付平台用户ID
     */
    @ApiModelProperty(name = "payUserId", value = "支付平台用户ID")
    private String payUserId;
    /**
     * 订单号
     */
    @ApiModelProperty(name = "orderNumber", value = "订单号")
    private String orderNumber;
    /**
     * 退款订单号
     */
    @ApiModelProperty(name = "orderRefundNumber", value = "退款订单号")
    private String orderRefundNumber;
    /**
     * 退款 单位 分
     */
    @ApiModelProperty(name = "refundCost", value = "退款 单位 分")
    private Long refundCost;
    /**
     * 姓名
     */
    @ApiModelProperty(name = "name", value = "姓名")
    private String name;
    /**
     * 手机号
     */
    @ApiModelProperty(name = "phone", value = "手机号")
    private String phone;
    /**
     * 退款理由
     */
    @ApiModelProperty(name = "refundReason", value = "退款理由")
    private String refundReason;
    /**
     * 拒绝理由
     */
    @ApiModelProperty(name = "refuseReason", value = "拒绝理由")
    private String refuseReason;
    /**
     * 退款状态 0：退款中、1：退款成功、2：退款失败
     */
    @ApiModelProperty(name = "refundState", value = "退款状态 0：退款中、1：退款成功、2：退款失败")
    private Integer refundState;
    /**
     * 审核状态（0 待审核 1 进行中 2 已完成 3 已撤回 4 已拒绝））
     */
    @ApiModelProperty(name = "reviewState", value = "审核状态（0 待审核 1 进行中 2 已完成 3 已撤回 4 已拒绝）")
    private Integer reviewState;

    @JsonSerialize(
            using = ToStringSerializer.class
    )
    @ApiModelProperty(name = "reviewUserId", value = "审核用户ID")
    private Long reviewUserId;

    @ApiModelProperty(name = "reviewUserName", value = "审核用户名")
    private String reviewUserName;

    @ApiModelProperty(name = "reviewTime", value = "审核时间")
    private Date reviewTime;

    /**
     * 退款时间
     */
    @ApiModelProperty(name = "refundTime", value = "退款时间")
    private Date refundTime;
    /**
     * 园区ID
     */
    @ApiModelProperty(name = "parkId", value = "园区ID")
    private String parkId;
}
