package com.njcn.rdms.module.system.api.websocket.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.Collection;

@Schema(description = "RPC 服务 - 按用户编号集合发送 WebSocket 消息 Request DTO")
@Data
@Accessors(chain = true)
public class WebSocketSendToUsersReqDTO {

    @Schema(description = "用户编号集合", requiredMode = Schema.RequiredMode.REQUIRED, example = "[1,2,3]")
    @NotEmpty(message = "用户编号集合不能为空")
    private Collection<Long> userIds;

    @Schema(description = "消息类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "notice-push")
    @NotEmpty(message = "消息类型不能为空")
    private String messageType;

    @Schema(description = "消息内容", requiredMode = Schema.RequiredMode.REQUIRED, example = "{\"name\":\"李四\"}")
    @NotEmpty(message = "消息内容不能为空")
    private String messageContent;

}
