package com.writeoff.module.meeting.dto;

import io.swagger.v3.oas.annotations.media.Schema;

@Schema(description = "会议列表筛选参数")
public class MeetingQueryRequest {
    @Schema(description = "项目ID")
    private Long projectId;
    @Schema(description = "项目名称（模糊匹配）")
    private String projectName;
    @Schema(description = "会议主题（模糊匹配）")
    private String topic;
    @Schema(description = "会议状态（NOT_STARTED/IN_PROGRESS/COMPLETED/CANCELED/DELAYED/FROZEN）")
    private String meetingStatus;
    @Schema(description = "会议审核状态（PENDING/IN_REVIEW/APPROVED/REJECTED）")
    private String auditStatus;
    @Schema(description = "当前审核节点")
    private String currentAuditNode;
    @Schema(description = "当前审核人用户ID")
    private Long currentAuditorUserId;
    @Schema(description = "会议开始时间范围-起，格式：yyyy-MM-dd HH:mm:ss")
    private String meetingStartFrom;
    @Schema(description = "会议开始时间范围-止，格式：yyyy-MM-dd HH:mm:ss")
    private String meetingStartTo;
    @Schema(description = "最后提交时间范围-起，格式：yyyy-MM-ddTHH:mm:ss")
    private String lastSubmitFrom;
    @Schema(description = "最后提交时间范围-止，格式：yyyy-MM-ddTHH:mm:ss")
    private String lastSubmitTo;
    @Schema(description = "是否包含已删除会议")
    private Boolean includeDeleted;

    public Long getProjectId() {
        return projectId;
    }

    public void setProjectId(Long projectId) {
        this.projectId = projectId;
    }

    public String getProjectName() {
        return projectName;
    }

    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    public String getTopic() {
        return topic;
    }

    public void setTopic(String topic) {
        this.topic = topic;
    }

    public String getMeetingStatus() {
        return meetingStatus;
    }

    public void setMeetingStatus(String meetingStatus) {
        this.meetingStatus = meetingStatus;
    }

    public String getAuditStatus() {
        return auditStatus;
    }

    public void setAuditStatus(String auditStatus) {
        this.auditStatus = auditStatus;
    }

    public String getCurrentAuditNode() {
        return currentAuditNode;
    }

    public void setCurrentAuditNode(String currentAuditNode) {
        this.currentAuditNode = currentAuditNode;
    }

    public Long getCurrentAuditorUserId() {
        return currentAuditorUserId;
    }

    public void setCurrentAuditorUserId(Long currentAuditorUserId) {
        this.currentAuditorUserId = currentAuditorUserId;
    }

    public String getMeetingStartFrom() {
        return meetingStartFrom;
    }

    public void setMeetingStartFrom(String meetingStartFrom) {
        this.meetingStartFrom = meetingStartFrom;
    }

    public String getMeetingStartTo() {
        return meetingStartTo;
    }

    public void setMeetingStartTo(String meetingStartTo) {
        this.meetingStartTo = meetingStartTo;
    }

    public String getLastSubmitFrom() {
        return lastSubmitFrom;
    }

    public void setLastSubmitFrom(String lastSubmitFrom) {
        this.lastSubmitFrom = lastSubmitFrom;
    }

    public String getLastSubmitTo() {
        return lastSubmitTo;
    }

    public void setLastSubmitTo(String lastSubmitTo) {
        this.lastSubmitTo = lastSubmitTo;
    }

    public Boolean getIncludeDeleted() {
        return includeDeleted;
    }

    public void setIncludeDeleted(Boolean includeDeleted) {
        this.includeDeleted = includeDeleted;
    }
}
