package com.aircraft.modules.order.domain.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

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

/**
 *
 * 订单主单分页查询 DTO
 *
 * @author chenxiky
 * @version 1.0.0
 * @since 2025/7/11
 */
@Data
public class OrderMainPageQueryDTO {

    /**
     * 景区ID
     */
    @ApiModelProperty("景区ID")
    private Long attractionId;

    /**
     * 客户ID
     */
    @ApiModelProperty("客户ID")
    private Long customerId;

    /**
     * 客户手机号
     */
    @ApiModelProperty(value = "客户手机号", example = "13456767894")
    private String phone;

    /**
     * 发起人ID
     */
    @ApiModelProperty(value = "发起人ID(无需填写)")
    private Long orderInitiatorId;

    /**
     * 下单开始时间
     */
    @ApiModelProperty(value = "下单开始时间", example = "2025-07-19")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date queryStartTime;

    /**
     * 下单结束时间
     */
    @ApiModelProperty(value = "下单结束时间", example = "2025-07-19")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date queryEndTime;

    /**
     * 订单状态
     */
    @ApiModelProperty(value = "订单状态（点击生成结算订单的订单列表查询时，请默认携带参数，传值为：2（已完成））")
    private Integer mainOrderStatus;

    /**
     * 计算状态
     */
    @ApiModelProperty(value = "结算状态（点击生成结算订单的订单查询列表时请，默认携带参数，传值：0（未结算））")
    private Integer settlementStatus;

    /**
     * 区域ID
     */
    @ApiModelProperty(value = "区域ID")
    private Long areaId;

    /**
     * 订单状态,支持多个状态查询
     */
    @ApiModelProperty(value = "订单状态（支持多个状态查询）")
    private List<Integer> mainOrderStatusList;

    /**
     * 订单编号查询
     */
    @ApiModelProperty(value = "订单编号查询")
    private String orderNo;


}
