package com.emotion.dto.request;

import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.Min;
import javax.validation.constraints.Max;

/**
 * 消息分页查询请求类
 * 
 * @author huazhongmin
 * @date 2025-07-25
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class MessagePageRequest extends BaseRequest {
    
    /**
     * 当前页码
     */
    @Min(value = 1, message = "页码不能小于1")
    private Long current = 1L;
    
    /**
     * 每页大小
     */
    @Min(value = 1, message = "每页大小不能小于1")
    @Max(value = 100, message = "每页大小不能超过100")
    private Long size = 20L;
    
    /**
     * 会话ID（可选，用于查询特定会话的消息）
     */
    private String conversationId;
    
    /**
     * 消息类型（可选）
     */
    private String type;
    
    /**
     * 发送者类型（可选）
     */
    private String sender;
    
    /**
     * 开始时间（可选，格式：yyyy-MM-dd HH:mm:ss）
     */
    private String startTime;
    
    /**
     * 结束时间（可选，格式：yyyy-MM-dd HH:mm:ss）
     */
    private String endTime;
}
