package com.ltgk.message.domain.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.ltgk.common.core.page.BasePage;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 下发消息请求参数
 *
 * @author Qi ChengBin
 * @date 2025/01/06 11:22:36
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class GetMessageListReq extends BasePage {

    @ApiModelProperty(value = "开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @JsonProperty("startTime")
    private String startTime;

    @ApiModelProperty(value = "结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @JsonProperty("endTime")
    private String endTime;

    @ApiModelProperty(value = "标题")
    @JsonProperty("title")
    private String title;

    @ApiModelProperty(value = "消息类型 -- 需根据消息类型枚举类来进行查询")
    @JsonProperty("messageType")
    private Integer messageType;

    @ApiModelProperty(value = "消息等级 1:紧急，2:平急，3:一般")
    @JsonProperty("messageLevel")
    private Integer messageLevel;

    @ApiModelProperty(value = "0-未发布，1-已发布，2-已撤回")
    @JsonProperty("publishState")
    private Integer publishState;

    @ApiModelProperty(value = "收发消息 1:发送的，2:接收的")
    @JsonProperty("sendOrReceive")
    private Integer sendOrReceive;

    @ApiModelProperty(value = "消息状态 0:未读，1:已读，2:已下发")
    @JsonProperty("state")
    private Integer state;

    @ApiModelProperty(value = "接收单位id 查询已发送时使用")
    @JsonProperty("receiveDeptId")
    private String receiveDeptId;

    @ApiModelProperty(value = "发送单位id 查询已接收时使用")
    @JsonProperty("sendDeptId")
    private String sendDeptId;

    @ApiModelProperty(value = "单位模糊查询 接收发送都共同使用这个字段")
    @JsonProperty("deptName")
    private String deptName;

    @ApiModelProperty(value = "接收人")
    @JsonProperty("recipients")
    private String recipients;
}
