package com.mortals.xhx.module.notice.model;

import java.util.Date;
import java.util.List;
import java.util.ArrayList;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.notice.model.vo.NoticeStudyVo;
/**
* 公告学习人员实体对象
*
* @author zxfei
* @date 2023-02-23
*/

public class NoticeStudyEntity extends NoticeStudyVo {
    private static final long serialVersionUID = 1L;

    /**
    * 公告id
    */
    private Long noticeId;
    /**
    * 公告类型(0.通知,1.公告,2.行业知识,3.通用知识)
    */
    private Integer noticetType;
    /**
    * 公告标题
    */
    @Excel(name = "公告标题")
    private String title;
    /**
    * 用户id
    */
    private Long userId;
    /**
    * 用户名称
    */
    @Excel(name = "用户名称")
    private String userName;
    /**
    * 所属部门
    */
    @Excel(name = "所属部门")
    private String deptName;
    /**
    * 状态(0.未读,1.已读)
    */
    private Integer noticeStatus;
    /**
    * 是否置顶(0.否，1.是)
    */
    private Integer top;
    /**
    * 查看时间
    */
    private Date viewTime;
    /**
    * 备注
    */
    private String remark;



    public NoticeStudyEntity(){}
    /**
    * 获取 公告id
    * @return Long
    */
    public Long getNoticeId(){
        return noticeId;
    }
    /**
    * 设置 公告id
    * @param noticeId
    */
    public void setNoticeId(Long noticeId){
        this.noticeId = noticeId;
    }
    /**
    * 获取 公告类型(0.通知,1.公告,2.行业知识,3.通用知识)
    * @return Integer
    */
    public Integer getNoticetType(){
        return noticetType;
    }
    /**
    * 设置 公告类型(0.通知,1.公告,2.行业知识,3.通用知识)
    * @param noticetType
    */
    public void setNoticetType(Integer noticetType){
        this.noticetType = noticetType;
    }
    /**
    * 获取 公告标题
    * @return String
    */
    public String getTitle(){
        return title;
    }
    /**
    * 设置 公告标题
    * @param title
    */
    public void setTitle(String title){
        this.title = title;
    }
    /**
    * 获取 用户id
    * @return Long
    */
    public Long getUserId(){
        return userId;
    }
    /**
    * 设置 用户id
    * @param userId
    */
    public void setUserId(Long userId){
        this.userId = userId;
    }
    /**
    * 获取 用户名称
    * @return String
    */
    public String getUserName(){
        return userName;
    }
    /**
    * 设置 用户名称
    * @param userName
    */
    public void setUserName(String userName){
        this.userName = userName;
    }
    /**
    * 获取 所属部门
    * @return String
    */
    public String getDeptName(){
        return deptName;
    }
    /**
    * 设置 所属部门
    * @param deptName
    */
    public void setDeptName(String deptName){
        this.deptName = deptName;
    }
    /**
    * 获取 状态(0.未读,1.已读)
    * @return Integer
    */
    public Integer getNoticeStatus(){
        return noticeStatus;
    }
    /**
    * 设置 状态(0.未读,1.已读)
    * @param noticeStatus
    */
    public void setNoticeStatus(Integer noticeStatus){
        this.noticeStatus = noticeStatus;
    }
    /**
    * 获取 是否置顶(0.否，1.是)
    * @return Integer
    */
    public Integer getTop(){
        return top;
    }
    /**
    * 设置 是否置顶(0.否，1.是)
    * @param top
    */
    public void setTop(Integer top){
        this.top = top;
    }
    /**
    * 获取 查看时间
    * @return Date
    */
    public Date getViewTime(){
        return viewTime;
    }
    /**
    * 设置 查看时间
    * @param viewTime
    */
    public void setViewTime(Date viewTime){
        this.viewTime = viewTime;
    }
    /**
    * 获取 备注
    * @return String
    */
    public String getRemark(){
        return remark;
    }
    /**
    * 设置 备注
    * @param remark
    */
    public void setRemark(String remark){
        this.remark = remark;
    }




    @Override
    public int hashCode() {
         return (this.getNoticeId()+this.getUserId()+"").hashCode();
    }
    @Override
    public boolean equals(Object obj) {
        if (obj == null) return false;
        if (obj instanceof NoticeStudyEntity) {
            NoticeStudyEntity tmp = (NoticeStudyEntity) obj;
            if (this.getNoticeId()== tmp.getNoticeId()&&this.getUserId()==tmp.getNoticeId()) {
                 return true;
            }
        }
        return false;
    }

    public String toString(){
        StringBuilder sb = new StringBuilder("");
        sb.append(",noticeId:").append(getNoticeId());
        sb.append(",noticetType:").append(getNoticetType());
        sb.append(",title:").append(getTitle());
        sb.append(",userId:").append(getUserId());
        sb.append(",userName:").append(getUserName());
        sb.append(",deptName:").append(getDeptName());
        sb.append(",noticeStatus:").append(getNoticeStatus());
        sb.append(",top:").append(getTop());
        sb.append(",viewTime:").append(getViewTime());
        sb.append(",remark:").append(getRemark());
        return sb.toString();
    }

    public void initAttrValue(){

            this.noticeId = null;

            this.noticetType = 0;

            this.title = "";

            this.userId = null;

            this.userName = "";

            this.deptName = "";

            this.noticeStatus = 0;

            this.top = 0;

            this.viewTime = null;

            this.remark = "";
    }
}