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

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

import java.util.List;

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

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

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

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

    @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;

    @ApiModelProperty(name = "refundState", value = "退款状态 0：退款中、1：退款成功、2：退款失败")
    private Integer refundState;

    @ApiModelProperty(name = "refundMode", value = "退款方式")
    private Integer refundMode;

    @ApiModelProperty(name = "refundStartTime", value = "退款开始时间")
    private String refundStartTime;

    @ApiModelProperty(name = "refundEndTime", value = "退款结束时间")
    private String refundEndTime;

    @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 = "userDetailId", value = "平台用户id")
    private Long userDetailId;

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

    /**
     * 退款申请id
     */
    private Long payMoreOrderRefundId;

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

    @ApiModelProperty(name = "payNumber", value = "支付账单订单号")
    private String payNumber;

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

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

    /**
     * 运营商id
     */
    @ApiModelProperty(name = "operator", value = "运营商id")
    private Long operator;
    /**
     * 申请单号
     */
    @ApiModelProperty(name = "applyNo", value = "申请单号")
    private String applyNo;
    /**
     * 平台支付用户id
     */
    @ApiModelProperty(name = "payUserId", value = "平台支付用户id")
    private String payUserId;

    /**
     * openId列表
     */
    @ApiModelProperty(name = "payUserIdList", value = "openId列表")
    private List<String> payUserIdList;
}
