package com.hotwj.platform.noticeManagerment.systemNotification.domain.bo;

import com.hotwj.platform.noticeManagerment.systemNotification.domain.HotSystemNotification;
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;
import java.util.List;

/**
 * 系统通知业务对象 hot_system_notification
 *
 * @author shihongwei
 * @date 2026-01-07
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = HotSystemNotification.class, reverseConvertGenerate = false)
public class HotSystemNotificationGroupBo extends BaseEntity {

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

    /**
     * 等级（紧急和普通）
     */
    private String level;

    /**
     * 消息内容
     */
    private String content;

    /**
     * 来源类型
     */
    private String sourceType;

    /**
     * 发送人类型（系统SYSTEM、政府端人员GOVERNMENT、企业端人员COMPANY）
     */
    private String senderType;

    /**
     * 发送人ID
     */
    private Long senderId;

    /**
     * 发送人姓名
     */
    private String senderName;

    /**
     * 发送人手机号
     */
    private String senderMobile;

    /**
     * 发送时间
     */
    private Date sendTime;

    /**
     * 状态（已读、未读）
     */
    private String status;

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

    /**
     * 接收人类型（企业端人员ENTERPRISE、驾驶员DRIVER）
     */
    private String receiverType;

    /**
     * 接收人ID
     */
    private List<String> receiverIds;


    /**
     * 接收人IDs,逗号分隔
     */
    private String receiverId;

}
