package com.sikey.wa04.business.infrastructure.dto.request.messaging;

import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
public class HistoryUnreadMessageRequest {
    /**
     * 会话ID=发送人 如果isGroup=true是群聊，则是群聊ID
     */
    @NotBlank(message = "会话ID不能为空")
    String sid;

    /**
     * 是否是群聊，默认值false
     */
    Boolean isGroup;

    /**
     * 最大消息数量，限制查询最大消息数
     */
    @NotNull(message = "最大消息数量不能为空")
    @Min(value = 1, message = "消息最大数必须大于 0")
    @Max(value = 100, message = "消息最大数不能大于 100")
    Integer maxMsgSize;

    /**
     * 消息ID, 只会查询大于这个 msgId 的消息
     */
    @NotNull(message = "消息ID不能为空")
    Long msgId;
}