package com.hotwj.platform.securityManagement.securityMeeting.domain.bo;

import com.hotwj.platform.securityManagement.securityMeeting.domain.HotSecurityMeeting;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity;

import java.util.Date;

/**
 * 安全会议管理业务对象 hot_security_meeting
 *
 * @author shihongwei
 * @date 2025-12-17
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = HotSecurityMeeting.class, reverseConvertGenerate = false)
public class HotSecurityMeetingBo extends BaseEntity {

    /**
     * 主键
     */
    @NotNull(message = "主键不能为空", groups = {EditGroup.class})
    private Long id;

    /**
     * 公司ID
     */
    private Long companyId;

    /**
     * 会议主题
     */
    private String meetingTopic;

    /**
     * 会议种类（字典）
     */
    private String meetingCategory;

    /**
     * 会议类型（字典）
     */
    private String meetingType;

    /**
     * 会议类型（线下培训）
     */
    private String offlineMeetingType;

    /**
     * 会议开始时间
     */
    private Date startTime;

    /**
     * 会议结束时间
     */
    private Date endTime;

    /**
     * 主持人
     */
    private String hostName;

    /**
     * 地点
     */
    private String location;

    /**
     * 会议记录人id
     */
    private Long recorderId;

    /**
     * 会议记录人
     */
    private String recorderName;

    /**
     * 会议附件（docx、pdf、pptx等，OSS附件id）
     */
    private String fileAttachments;

    /**
     * 视频附件（mp4，OSS附件id）
     */
    private String videoAttachments;

    /**
     * 线上会议链接
     */
    private String onlineMeetingUrl;

    /**
     * 会议内容
     */
    private String meetingContent;

    /**
     * 会议照片（png,jpg,pdf等，JSON或逗号分隔）
     */
    private String photoAttachments;

    /**
     * 下月工作安排
     */
    private String nextMonthPlan;

    /**
     * 备注
     */
    private String remark;

    /**
     * 会议状态（1=未开始、2=进行中、3=已结束）
     */
    private String meetingStatus;

    /**
     * 参与人员ID列表（逗号分隔）
     */
    private String participantIds;

    /**
     * 0=正常, 1=已删除
     */
    private Long isDeleted;


}
