package com.zsElectric.boot.business.model.query;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zsElectric.boot.common.base.BasePageQuery;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

/**
 * 充电订单信息分页查询对象
 *
 * @author zsElectric
 * @since 2025-12-17 19:13
 */
@Schema(description ="充电订单信息查询对象")
@Getter
@Setter
public class ChargeOrderInfoQuery extends BasePageQuery {

    @Schema(description = "充电桩编号")
    private String equipmentId;

    @Schema(description = "状态0待启动 1 充电中 2 结算中 3 已完成, 5未成功充电")
    private Integer status;

    @Schema(description = "订单类型 0-平台订单 2-企业订单")
    private Integer orderType;

    @Schema(description = "补缴状态  0.无需补缴  1.待补缴  2.已补缴 3.部分补缴")
    private Integer maspStatus;

    @Schema(description = "状态0待启动 1 充电中 2 结算中 3 已完成, 5未成功充电")
    private String phoneNum;

    @Schema(description = "充电订单号")
    private String chargeOrderNo;

    @Schema(description = "第三方充电站ID")
    private Long thirdStationId;

    @Schema(description = "停止原因")
    private Integer stopReason;

    @Schema(description = "充电设备接口编码")
    private String connectorId;

    @Schema(description = "开始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime startTime;

    @Schema(description = "结束时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime endTime;
}
