package com.ruoyi.system.domain.staffTrain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 员工培训手册对象 staff_train_manual
 * 
 * @author boman
 * @date 2025-02-18
 */
public class StaffTrainManual extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 员工培训手册ID */
    private Long manualId;

    /** 员工培训手册标题 */
    @Excel(name = "员工培训手册标题")
    private String manualTitle;

    /** 员工培训手册类型（1：图片 2:视频） */
    @Excel(name = "员工培训手册类型", readConverterExp = "1=图片,2=视频")
    private String manualType;

    /** 员工培训手册内容 */
    @Excel(name = "员工培训手册内容")
    private String manualContent;

    /** 员工培训手册状态（0正常 1关闭） */
    @Excel(name = "员工培训手册状态", readConverterExp = "0=正常,1=关闭")
    private String status;

    /** 发布时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发布时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date publishTime;

    /** 视频地址URL */
    @Excel(name = "视频地址URL")
    private String videoUrl;

    /** 封面图片，存储图片路径或URL */
    @Excel(name = "封面图片，存储图片路径或URL")
    private String coverImage;

    /** 作者，记录资讯的发布者 */
    @Excel(name = "作者，记录资讯的发布者")
    private String author;

    /** 来源，记录资讯的来源（如单位、网站等） */
    @Excel(name = "来源，记录资讯的来源")
    private String source;

    /** 浏览次数，记录资讯被查看的次数 */
    @Excel(name = "浏览次数，记录资讯被查看的次数")
    private Long viewCount;

    /** 是否置顶：Y（置顶）、N（不置顶） */
    @Excel(name = "是否置顶：Y", readConverterExp = "Y=置顶,N=不置顶")
    private String isTop;
    /**
     * 进度
     */
    private String progress;

    public String getProgress() {
        return progress;
    }

    public void setProgress(String progress) {
        this.progress = progress;
    }

    public void setManualId(Long manualId)
    {
        this.manualId = manualId;
    }

    public Long getManualId() 
    {
        return manualId;
    }
    public void setManualTitle(String manualTitle) 
    {
        this.manualTitle = manualTitle;
    }

    public String getManualTitle() 
    {
        return manualTitle;
    }
    public void setManualType(String manualType) 
    {
        this.manualType = manualType;
    }

    public String getManualType() 
    {
        return manualType;
    }
    public void setManualContent(String manualContent) 
    {
        this.manualContent = manualContent;
    }

    public String getManualContent() 
    {
        return manualContent;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setPublishTime(Date publishTime) 
    {
        this.publishTime = publishTime;
    }

    public Date getPublishTime() 
    {
        return publishTime;
    }
    public void setVideoUrl(String videoUrl) 
    {
        this.videoUrl = videoUrl;
    }

    public String getVideoUrl() 
    {
        return videoUrl;
    }
    public void setCoverImage(String coverImage) 
    {
        this.coverImage = coverImage;
    }

    public String getCoverImage() 
    {
        return coverImage;
    }
    public void setAuthor(String author) 
    {
        this.author = author;
    }

    public String getAuthor() 
    {
        return author;
    }
    public void setSource(String source) 
    {
        this.source = source;
    }

    public String getSource() 
    {
        return source;
    }
    public void setViewCount(Long viewCount) 
    {
        this.viewCount = viewCount;
    }

    public Long getViewCount() 
    {
        return viewCount;
    }
    public void setIsTop(String isTop) 
    {
        this.isTop = isTop;
    }

    public String getIsTop() 
    {
        return isTop;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("manualId", getManualId())
            .append("manualTitle", getManualTitle())
            .append("manualType", getManualType())
            .append("manualContent", getManualContent())
            .append("status", getStatus())
            .append("publishTime", getPublishTime())
            .append("videoUrl", getVideoUrl())
            .append("coverImage", getCoverImage())
            .append("author", getAuthor())
            .append("source", getSource())
            .append("viewCount", getViewCount())
            .append("isTop", getIsTop())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
