package com.ltgk.message.domain.dto;


import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * 发送消息请求参数
 *
 * @author Qi ChengBin
 * @date 2025/01/02 08:59:36
 */
@Data
public class SendMessageReq {

    @NotBlank(message = "标题不能为空")
    @ApiModelProperty("消息标题")
    @JsonProperty("title")
    private String title;

    @NotBlank(message = "消息内容不能为空")
    @ApiModelProperty("消息内容")
    @JsonProperty("content")
    private String content;

    @NotNull(message = "消息等级不能为空")
    @ApiModelProperty("消息等级 1:紧急，2:平急，3:一般")
    @JsonProperty("messageLevel")
    private Integer messageLevel;

    @ApiModelProperty("消息附件url")
    @JsonProperty("fileId")
    private String fileId;

    @ApiModelProperty("消息附件名称")
    @JsonProperty("fileName")
    private String fileName;

    @NotNull(message = "消息等级不能为空")
    @ApiModelProperty("消息类型 1:信息公示，2:工作寻呼")
    @JsonProperty("messageType")
    private Integer messageType;

    @ApiModelProperty("接收部门id集合")
    @JsonProperty("receiveDepartIds")
    private List<String> receiveDepartIdList;

    @ApiModelProperty("封面图片id")
    @JsonProperty("coverId")
    private String coverId;

    @ApiModelProperty("是不是要发送短信验证码")
    @JsonProperty("isSendMsg")
    private Boolean isSendMsg = false;

    @ApiModelProperty("接收人uid集合")
    @JsonProperty("receiveUserIds")
    private List<String> receiveUserIdList;

    @ApiModelProperty(value = "行政区域编码")
    private String areaCode;

    @ApiModelProperty(value = "行政区域名称")
    private String areaName;
}
