package cn.meowrain.aioj.backend.blogservice.dao.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * 通知实体类
 *
 * @author AIOJ
 */
@Data
@TableName(value = "blog_notification")
@Accessors(chain = true)
public class Notification implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 接收用户ID
     */
    private Long userId;

    /**
     * 通知类型：1=评论，2=点赞，3=收藏，4=关注，5=回复，6=系统通知
     */
    private Integer type;

    /**
     * 通知标题
     */
    private String title;

    /**
     * 通知内容
     */
    private String content;

    /**
     * 跳转链接
     */
    private String linkUrl;

    /**
     * 发送者ID（系统通知为NULL）
     */
    private Long senderId;

    /**
     * 关联目标ID（文章ID、评论ID等）
     */
    private Long targetId;

    /**
     * 是否已读（1=已读，0=未读）
     */
    private Integer isRead;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;
}
