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

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

import java.util.List;

/**
 * 查询一批用户在指定模板下的未读站内信 Request DTO。
 *
 * <p>业务方按模板维度查未读（如临期/逾期告警的"未读不重发"判定），
 * userType 在能力层固定 ADMIN，不暴露给业务方（与发送口径一致）。</p>
 *
 * @author hongawen
 */
@Schema(description = "RPC 服务 - 查询未读站内信 Request DTO")
@Data
@Accessors(chain = true)
public class NotifyUnreadMessageListReqDTO {

    @Schema(description = "接收用户编号列表", requiredMode = Schema.RequiredMode.REQUIRED, example = "[1024,2048]")
    @NotEmpty(message = "用户编号列表不能为空")
    private List<Long> userIds;

    @Schema(description = "站内信模板编码列表", requiredMode = Schema.RequiredMode.REQUIRED,
            example = "[\"due_alert_overdue_owner\"]")
    @NotEmpty(message = "模板编码列表不能为空")
    private List<String> templateCodes;

}
