package com.zsc.edu.gateway.modules.message.dto;

import com.zsc.edu.gateway.modules.message.entity.NoticeType;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import java.util.Set;

/**
 * @author harry_yao
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserNoticeDto {

    /**
     * 用户ID集合
     */
    @NotEmpty(message = "接收用户不能为空")
    public Set<Long> userIds;

    /**
     * 消息类型
     */
    @NotNull(message = "消息类型不能为空")
    public NoticeType type;

    /**
     * 是否需要发送邮件
     */
    public Boolean email;

    /**
     * 是否需要发送短信
     */
    public Boolean sms;

    /**
     * 消息内容是否富文本，True则以富文本形式发送
     */
    public Boolean html;

    /**
     * 消息标题
     */
    @NotBlank(message = "消息标题不能为空")
    public String title;

    /**
     * 消息内容
     */
    @NotBlank(message = "消息内容不能为空")
    public String content;


}
