package com.ruoyi.system.domain.notice;

import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.system.domain.ZxFj;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.springframework.beans.factory.annotation.Value;

/**
 * 政协通知公告对象 zx_notice
 * 
 * @author boman
 * @date 2024-03-05
 */
public class ZxNotice extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 公告ID */
    private Long zxNoticeId;

    /** 公告标题 */
    @Excel(name = "公告标题")
    private String noticeTitle;

    /** 公告类型（字典值） */
    @Excel(name = "公告类型", readConverterExp = "字=典值")
    private String noticeType;

    /** 公告内容 */
    @Excel(name = "公告内容")
    private String noticeContent;

    /** 公告状态（0正常 1关闭） */
    @Excel(name = "公告状态", readConverterExp = "0=正常,1=关闭")
    private String status;

    /** 发布人 */
    @Excel(name = "发布人")
    private String issuer;

    /** 发布单位 */
    @Excel(name = "发布单位")
    private String issuerDept;

    /** 发布单位id */
    @Excel(name = "发布单位id")
    private Long issuerDeptId;

    /** 发布时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "发布时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date issuerTime;
    /**
     * 判断已读未读
     */
    @Value("N")
    private String type;

    /** 用户与政协通知公告关联信息 */
    private List<ZxUserNotice> zxUserNoticeList;
    /**
     * 附件
     */
    private List<ZxFj> zxFjListFj;

    public List<ZxFj> getZxFjListFj() {
        return zxFjListFj;
    }

    public void setZxFjListFj(List<ZxFj> zxFjListFj) {
        this.zxFjListFj = zxFjListFj;
    }

    public String getType() {
        return type;
    }

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

    public void setZxNoticeId(Long zxNoticeId)
    {
        this.zxNoticeId = zxNoticeId;
    }

    public Long getZxNoticeId() 
    {
        return zxNoticeId;
    }
    public void setNoticeTitle(String noticeTitle) 
    {
        this.noticeTitle = noticeTitle;
    }

    public String getNoticeTitle() 
    {
        return noticeTitle;
    }
    public void setNoticeType(String noticeType) 
    {
        this.noticeType = noticeType;
    }

    public String getNoticeType() 
    {
        return noticeType;
    }
    public void setNoticeContent(String noticeContent) 
    {
        this.noticeContent = noticeContent;
    }

    public String getNoticeContent() 
    {
        return noticeContent;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setIssuer(String issuer) 
    {
        this.issuer = issuer;
    }

    public String getIssuer() 
    {
        return issuer;
    }
    public void setIssuerDept(String issuerDept) 
    {
        this.issuerDept = issuerDept;
    }

    public String getIssuerDept() 
    {
        return issuerDept;
    }
    public void setIssuerDeptId(Long issuerDeptId) 
    {
        this.issuerDeptId = issuerDeptId;
    }

    public Long getIssuerDeptId() 
    {
        return issuerDeptId;
    }
    public void setIssuerTime(Date issuerTime) 
    {
        this.issuerTime = issuerTime;
    }

    public Date getIssuerTime() 
    {
        return issuerTime;
    }

    public List<ZxUserNotice> getZxUserNoticeList()
    {
        return zxUserNoticeList;
    }

    public void setZxUserNoticeList(List<ZxUserNotice> zxUserNoticeList)
    {
        this.zxUserNoticeList = zxUserNoticeList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("zxNoticeId", getZxNoticeId())
            .append("noticeTitle", getNoticeTitle())
            .append("noticeType", getNoticeType())
            .append("noticeContent", getNoticeContent())
            .append("status", getStatus())
            .append("issuer", getIssuer())
            .append("issuerDept", getIssuerDept())
            .append("issuerDeptId", getIssuerDeptId())
            .append("issuerTime", getIssuerTime())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("zxUserNoticeList", getZxUserNoticeList())
            .toString();
    }
}
