package com.yuchen.saas.payment.api.vo.moreOrderRefund;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.NullSerializer;
import com.yuchen.saas.payment.api.entity.PmgBatParkPayMoreOrderRefundRecord;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

@Data
public class PmgBatParkPayMoreOrderRefundRecordVO extends PmgBatParkPayMoreOrderRefundRecord {

    /**
     * 园区名称
     */
    @ApiModelProperty(name = "parkName", value = "园区名称")
    private String parkName;

    /**
     * 退款来源（1：停车卡，2：钱包余额）
     */
    @ApiModelProperty(name = "refundSource", value = "退款来源（1：月卡，2：错时卡，3：钱包余额, 4: 临停费用， 5：占位费）")
    private Integer refundSource;

    @ApiModelProperty(name = "siteId", value = "场站ID")
    private Long siteId;


    @ApiModelProperty(name = "siteName", value = "停车场/充电站")
    private String siteName;

    /**
     * 申请单号
     */
    @ApiModelProperty(name = "applyNo", value = "申请单号")
    private String applyNo;

    /**
     * 申请时间
     */
    @ApiModelProperty(name = "applyTime", value = "申请时间")
    private Date applyTime;

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

    /**
     * 确认时间
     */
    @ApiModelProperty(name = "verifyRefundTime", value = "确认时间")
    private Date verifyRefundTime;

    /**
     * 钱包用户
     */
    private String subjectPhone;

    /**
     * 运营商id
     */
    @ApiModelProperty(name = "operator", value = "运营商id")
    private Long operator;

    /**
     * 运营商名称
     */
    @ApiModelProperty(name = "operatorName", value = "运营商名称")
    private String operatorName;

    /**
     * 订单类型
     */
    @ApiModelProperty(name = "orderTypeName", value = "订单类型")
    private String orderTypeName;

    /**
     * 费用项字段
     */
    @ApiModelProperty(name = "expenseItemStr", value = "费用项字段")
    private String expenseItemStr;

    /**
     * 申请方式 1:用户创建; 2:用户提交;
     */
    @ApiModelProperty(name = "applyMode", value = "申请方式 1:用户创建; 2:用户提交;")
    private Integer applyMode;

    /**
     * 当前已退款金额 单位 分
     */
    @JsonSerialize(nullsUsing = NullSerializer.class)
    @ApiModelProperty(name = "currentRefundAmount", value = "当前已退款金额 单位 分")
    private Long currentRefundAmount;

}
