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

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.nest.springwrap.core.mp.support.Query;

import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

/**
 * @author zhouhanwei
 * @create 2023/3/22 19:12
 */
@Data
public class PageMoreOrderRefundReqDTO extends Query {

    @ApiModelProperty(name = "tenantId", value = "租户ID")
    private Long tenantId;

    @ApiModelProperty(name = "parkId", value = "园区ID")
    private Long parkId;

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

    @ApiModelProperty(name = "siteIdList", value = "管理区Id列表")
    private List<Long> siteIdList;

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

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

    @ApiModelProperty(name = "orderNo", value = "订单编号")
    private String orderNo;

    @ApiModelProperty(name = "refundIdList", value = "申请单号列表")
    private List<Long> refundIdList;

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

    @ApiModelProperty(name = "refundType", value = "退款类型（1：全部退款，2：部分退款）")
    private Integer refundType;

    @ApiModelProperty(name = "costType", value = "订单类型（1：停车卡费 2 ：停车费）")
    private Integer costType;

    /**
     * 审核状态（0 待审核 1 进行中 2 已完成 3 已撤回 4 已拒绝））
     */
    @ApiModelProperty(name = "reviewState", value = "审核状态（0 待审核 1 进行中 2 已完成 3 已撤回 4 已拒绝）")
    private Integer reviewState;

    @ApiModelProperty(name = "applyStartTime", value = "申请开始时间")
    private String applyStartTime;

    @ApiModelProperty(name = "applyEndTime", value = "申请结束时间")
    private String applyEndTime;

    @ApiModelProperty(name = "reviewStartTime", value = "审核开始时间")
    private String reviewStartTime;

    @ApiModelProperty(name = "reviewEndTime", value = "审核结束时间")
    private String reviewEndTime;

    @ApiModelProperty(name = "name", value = "申请人")
    private String name;

    @ApiModelProperty(name = "phone", value = "手机号")
    private String phone;


    /**
     * 确认退款 1：确认，0:待确认
     */
    @ApiModelProperty(name = "verifyRefundState", value = "确认退款")
    private Integer verifyRefundState;

    /**
     * 确认开始时间
     */
    @ApiModelProperty(name = "verifyRefundStartTime", value = "确认开始时间")
    private String verifyRefundStartTime;

    /**
     * 确认结束时间
     */
    @ApiModelProperty(name = "verifyRefundEndTime", value = "确认结束时间")
    private String verifyRefundEndTime;

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