package com.zd.laboratory.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.hibernate.validator.constraints.Length;
import com.zd.common.core.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.zd.common.core.web.domain.BaseEntity;

import java.util.Date;

/**
 * 大屏通知计划对象 lab_notifyplan
 *
 * @author zd
 * @date 2022-02-16
 */
@ApiModel("大屏通知计划")
public class LabNotifyplan extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    @ApiModelProperty(value = "${comment}")
    private Long id;
    /** 通知标题 */
    @Excel(name = "通知标题")
    @Length(message = "通知标题长度不能超过100")
    @ApiModelProperty(value = "通知标题")
    private String title;
    /** 通知类型 1工作通知 2校院通知 */
    @Excel(name = "通知类型 1工作通知 2校院通知")
    @ApiModelProperty(value = "通知类型 1工作通知 2校院通知")
    private Integer notifyType;
    /** 1大屏通知 2工作计划 */
    @Excel(name = "1大屏通知 2工作计划")
    @ApiModelProperty(value = "1大屏通知 2工作计划")
    private Integer type;
    /** 工作计划文件名称 */
    @Excel(name = "工作计划文件名称")
    @Length(message = "工作计划文件名称长度不能超过255")
    @ApiModelProperty(value = "工作计划文件名称")
    private String contentName;
    /** 附件地址 */
    @Excel(name = "附件地址")
    @Length(message = "附件地址长度不能超过1000")
    @ApiModelProperty(value = "附件地址")
    private String contentUrl;
    /** 通知内容 */
    @Excel(name = "通知内容")
    @Length(message = "通知内容长度不能超过1000")
    @ApiModelProperty(value = "通知内容")
    private String content;
    /** 发布单位 */
    @Excel(name = "发布单位")
    @Length(message = "发布单位长度不能超过100")
    @ApiModelProperty(value = "发布单位")
    private String conAbstract;
    /** 发布单位 */
    @Excel(name = "发布单位")
    @Length(message = "发布单位长度不能超过100")
    @ApiModelProperty(value = "发布单位")
    private String company;
    /** 通知状态 0无效 1有效 */
    @Excel(name = "通知状态 0无效 1有效")
    @ApiModelProperty(value = "通知状态 0无效 1有效")
    private Integer status;
    /** 发布人id */
    @Excel(name = "发布人id")
    @ApiModelProperty(value = "发布人id")
    private Long userId;
    /** 发布人姓名 */
    @Excel(name = "发布人姓名")
    @Length(message = "发布人姓名长度不能超过50")
    @ApiModelProperty(value = "发布人姓名")
    private String createBy;
    /** 修改人id */
    @Excel(name = "修改人id")
    @ApiModelProperty(value = "修改人id")
    private Long updateUserid;
    /** 修改人姓名 */
    @Excel(name = "修改人姓名")
    @Length(message = "修改人姓名长度不能超过50")
    @ApiModelProperty(value = "修改人姓名")
    private String updateUsername;

    /**
     * 执行时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "执行时间")
    private Date executionTime;


    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setTitle(String title)
    {
        this.title = title;
    }

    public String getTitle()
    {
        return title;
    }
    public void setNotifyType(Integer notifyType)
    {
        this.notifyType = notifyType;
    }

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

    public Integer getType()
    {
        return type;
    }
    public void setContentName(String contentName)
    {
        this.contentName = contentName;
    }

    public String getContentName()
    {
        return contentName;
    }
    public void setContentUrl(String contentUrl)
    {
        this.contentUrl = contentUrl;
    }

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

    public String getContent()
    {
        return content;
    }
    public void setCompany(String company)
    {
        this.company = company;
    }

    public String getCompany()
    {
        return company;
    }
    public void setStatus(Integer status)
    {
        this.status = status;
    }

    public Integer getStatus()
    {
        return status;
    }

    @Override
    public Long getUserId() {        return userId;    }

    @Override
    public void setUserId(Long userId) {        this.userId = userId;    }

    @Override
    public String getCreateBy() {        return createBy;    }

    @Override
    public void setCreateBy(String createBy) {        this.createBy = createBy;    }

    public void setUpdateUserid(Long updateUserid)
    {
        this.updateUserid = updateUserid;
    }

    public Long getUpdateUserid()
    {
        return updateUserid;
    }
    public void setUpdateUsername(String updateUsername)
    {
        this.updateUsername = updateUsername;
    }

    public String getUpdateUsername()
    {
        return updateUsername;
    }
    public String getConAbstract() {        return conAbstract;    }

    public void setConAbstract(String conAbstract) {        this.conAbstract = conAbstract;    }

    public Date getExecutionTime() {
        return executionTime;
    }

    public void setExecutionTime(Date executionTime) {
        this.executionTime = executionTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("title", getTitle())
                .append("notifyType", getNotifyType())
                .append("type", getType())
                .append("contentName", getContentName())
                .append("contentUrl", getContentUrl())
                .append("content", getContent())
                .append("company", getCompany())
                .append("conAbstract", getConAbstract())
                .append("status", getStatus())
                .append("userId", getUserId())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateUserid", getUpdateUserid())
                .append("updateUsername", getUpdateUsername())
                .append("updateTime", getUpdateTime())
                .append("executionTime", getExecutionTime())
                .toString();
    }
}
