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.ToString;
import lombok.experimental.Accessors;

/**
 * @Author: nelson
 * @Date: 2025/7/9
 * @Description: 读取未读消息
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ToString
public class ReadUnreadMessageRequest {

    @NotNull(message = "是否一键读取")
    private Boolean isOneClickRead;

    /**
     * 会话ID
     */
    @NotBlank(message = "会话ID不能为空")
    private String sid;

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

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

    /**
     * 消息ID, 只会查询大于这个 msgId 的消息
     */
    private Long msgId;
}
