package com.yupi.project.model.dto.charging_session;

import com.yupi.project.common.PageRequest;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.List;

/**
 * 充电会话查询请求
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class ChargingSessionQueryRequest extends PageRequest implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 会话ID
     */
    private Long id;

    /**
     * 用户ID (管理员接口可能需要)
     */
    private Long userId;

    /**
     * 机器人ID
     */
    private Long robotId;

    /**
     * 车位ID
     */
    private Long spotId;

    /**
     * 机器人UID快照 (模糊查询)
     */
    private String robotUidSnapshot;

    /**
     * 车位UID快照 (模糊查询)
     */
    private String spotUidSnapshot;

    /**
     * 会话状态 (精确查询, 来自 ChargingSessionStatusEnum 的 value)
     */
    private String status;

    /**
     * 多个会话状态 (用于查询)
     */
    private List<String> orStatusList;

    /**
     * 支付状态 (精确查询, 来自 PaymentStatusEnum 的 value)
     */
    private String paymentStatus;

} 