package org.xyzh.common.dto.system;

import org.xyzh.common.dto.BaseDTO;
import java.util.Date;

/**
 * @description 系统通知表
 * @filename TbSysNotification.java
 * @author yslg
 * @copyright xyzh
 * @since 2025-10-15
 */
public class TbSysNotification extends BaseDTO {
    
    private static final long serialVersionUID = 1L;
    
    /**
     * @description 用户ID
     */
    private String userID;
    
    /**
     * @description 通知类型（1系统通知 2任务通知 3成就通知）
     */
    private Integer type;
    
    /**
     * @description 通知标题
     */
    private String title;
    
    /**
     * @description 通知内容
     */
    private String content;
    
    /**
     * @description 链接类型（1资源 2课程 3任务）
     */
    private Integer linkType;
    
    /**
     * @description 链接ID
     */
    private String linkID;
    
    /**
     * @description 是否已读
     */
    private Boolean isRead;
    
    /**
     * @description 阅读时间
     */
    private Date readTime;

    public String getUserID() {
        return userID;
    }

    public void setUserID(String userID) {
        this.userID = userID;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public Integer getLinkType() {
        return linkType;
    }

    public void setLinkType(Integer linkType) {
        this.linkType = linkType;
    }

    public String getLinkID() {
        return linkID;
    }

    public void setLinkID(String linkID) {
        this.linkID = linkID;
    }

    public Boolean getIsRead() {
        return isRead;
    }

    public void setIsRead(Boolean isRead) {
        this.isRead = isRead;
    }

    public Date getReadTime() {
        return readTime;
    }

    public void setReadTime(Date readTime) {
        this.readTime = readTime;
    }

    @Override
    public String toString() {
        return "TbSysNotification{" +
                "id=" + getID() +
                ", userID='" + userID + '\'' +
                ", type=" + type +
                ", title='" + title + '\'' +
                ", linkType=" + linkType +
                ", linkID='" + linkID + '\'' +
                ", isRead=" + isRead +
                ", createTime=" + getCreateTime() +
                '}';
    }
}
