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

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

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

/**
 * @author zhouhanwei
 * @create 2023/6/15 11:24
 */
@Data
public class UserOrderReqDTO extends Query {

    /**
     * 支付订单号
     */
    private List<Long> payIdList;

    /**
     * 微信openId
     */
    @NotBlank(message = "微信openId不能为空")
    private String payUserId;

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

    /**
     * 园区id
     */
    private Long parkId;

    /**
     * 订单状态 -1：已关闭 0：待支付、 2：支付成功、
     */
    @ApiModelProperty(name = "orderStats", value = "订单状态 -1：已关闭 0：待支付、 2：支付成功、")
    private String orderStats;

    /**
     * 开始时间
     */
    private String startTime;

    /**
     * 结束时间
     */
    private String endTime;

    /**
     * 订单类型
     */
    @ApiModelProperty(name = "orderType", value = "订单类型 1or3 ：临停， 2月卡，20错时卡，26充电，30：占位费")
    private String orderType;

    /**
     * 订单类型列表
     */
    @ApiModelProperty(name = "orderTypeList", value = "订单类型 1or3 ：临停， 2月卡，20错时卡，26充电，30：占位费")
    private List<String> orderTypeList;

    /**
     * 开票状态(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 = "invoicingStatusList", value = "开票状态列表")
    private List<Integer> invoicingStatusList;
}
