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

import com.yuchen.saas.payment.api.vo.OrderManageInvoiceRecordDataVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * 订单信息详情 退款、发票
 */
@Data
public class PmgOrderRefundInfoVO {

    @ApiModelProperty(name = "id", value = "退款记录id")
    private Long id;

    /**
     * 订单号
     */
    @ApiModelProperty(name = "orderNo", value = "订单号")
    private String orderNo;
    /**
     * 应收金额(分)
     */
    @ApiModelProperty(name = "receivableAmount", value = "应收金额(分)")
    private Long receivableAmount;
    /**
     * 实收金额(分)
     */
    @ApiModelProperty(name = "actualAmount", value = "实收金额(分)")
    private Long actualAmount;
    /**
     * 优惠金额(分)
     */
    @ApiModelProperty(name = "discountsAmount", value = "优惠金额(分)")
    private Long discountsAmount;
    /**
     * 开票状态(0:开票中 1:开票成功 2:开票失败 3:红冲中(待退票) 4:已红冲(已退票) 5:被驳回 6:重开发票申请中 7:待作废 8:已作废 9:未开票 10:被驳回且重新申请 11:待红冲 12:红冲失败)
     */
    @ApiModelProperty(name = "invoicingStatus", value = "开票状态(0:开票中 1:开票成功 2:开票失败 3:红冲中(待退票) 4:已红冲(已退票) 5:被驳回 6:重开发票申请中 7:待作废 8:已作废 9:未开票 10:被驳回且重新申请 11:待红冲 12:红冲失败)")
    private Integer invoicingStatus;
    /**
     * 退款金额
     */
    @ApiModelProperty(name = "refundAmount", value = "退款金额")
    private Long refundAmount;

    /**
     * 订单类型 1or3 ：临停， 2月卡，20错时卡，26充电，30：占位费
     */
    @ApiModelProperty(name = "orderType", value = "订单类型 1or3 ：临停， 2月卡，20错时卡，26充电，30：占位费")
    private String orderType;
    /**
     * 订单状态 0：待支付、1：支付中、2：支付成功、3：支付失败
     */
    @ApiModelProperty(name = "orderStats", value = "订单状态 -1：已关闭，0：待支付、1：支付中、2：支付成功、3：支付失败")
    private String orderStats;
    /**
     * 业务账单单号
     */
    @ApiModelProperty(name = "billNo", value = "业务账单单号")
    private String billNo;

    /**
     * 项目id
     */
    @ApiModelProperty(name = "projectId", value = "项目id")
    private Long projectId;

    /**
     * 项目名称
     */
    @ApiModelProperty(name = "projectName", value = "项目名称")
    private String projectName;

    /**
     * 场站名称
     */
    @ApiModelProperty(name = "siteName", value = "场站名称")
    private String siteName;

    /**
     * 场站id
     */
    @ApiModelProperty(name = "siteId", value = "场站id")
    private Long siteId;



    /**
     * 退款记录列表
     */
    private List<OrderRefundVO> orderRefundVOList;
    /**
     * 订单发票列表
     */
    private List<OrderManageInvoiceRecordDataVO> orderManageInvoiceRecordDataVOList;

}
