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

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @Author 蔡文强
 * @Date 2024/01/23 15:56
 * @Description 关联退款申请记录VO
 */
@Data
@ApiModel(value="OrderRefundLinkRecordVO对象", description="关联退款申请记录VO")
public class OrderRefundLinkRecordVO {

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

    /**
     * 申请时间
     */
    @ApiModelProperty(name = "applyTime", value = "申请时间")
    private Date applyTime;
    /**
     * 手机号
     */
    @ApiModelProperty(name = "phone", value = "手机号")
    private String phone;
    /**
     * 审核状态（0 待审核 1 进行中 2 已完成 3 已撤回 4 已拒绝））
     */
    @ApiModelProperty(name = "reviewState", value = "审核状态（0 待审核 1 进行中 2 已完成 3 已撤回 4 已拒绝）")
    private Integer reviewState;
    /**
     * 数据来源
     */
    @ApiModelProperty(name = "dataSourceNo", value = "数据来源")
    private String dataSourceNo;
    /**
     * 确认退款 1：确认，待确认
     */
    @ApiModelProperty(name = "verifyRefundState", value = "确认退款")
    private Integer verifyRefundState;

    /**
     * 退款申请费用明细
     */
    @ApiModelProperty(name = "refundRecordItemList", value = "退款申请费用明细")
    private List<RefundRecordItem> refundRecordItemList;

    @Data
    public static class RefundRecordItem {
        /**
         * 费用项编号
         */
        @ApiModelProperty(name = "itemNo", value = "费用项编号")
        private String itemNo;
        /**
         * 费用项名称
         */
        @ApiModelProperty(name = "itemName", value = "费用项名称")
        private String itemName;
        /**
         * 订单包含金额(单位分)
         */
        @ApiModelProperty(name = "orderCost", value = "订单包含金额(单位分)")
        private Long orderCost;
        /**
         * 费用项退款金额(单位分)
         */
        @ApiModelProperty(name = "itemRefundCost", value = "费用项退款金额(单位分)")
        private Long itemRefundCost;
        /**
         * 费用项退款审批变更金额(单位分)
         */
        @ApiModelProperty(name = "approvalRefundCost", value = "费用项退款审批变更金额(单位分)")
        private Long approvalRefundCost;
    }

}
